Can';收集相同的re
尊敬的各位:,任何人都可以告诉我为什么我在AutoCAD 2007和2011中输入相同的代码,返回的结果不一样。
(entget(vlax vla object->ename(vla item(vla item(vlax ename->vla object(namedobjdict))“AEC\u VARS”)“AEC\u VARS\u DWG\u SETUP”))
AutoCAD 2007------>
((-1 . ) (0.“AEC\U VARS\U DWG\U设置”)(5.“48”)(102.{ACAD\U XDICTIONARY”)(360。)(102“}”)(102“{ACAD_反应堆”)(330。)(102 . "}") (330 . ) (100.“AECDbject”)(102.{AEC\u子对象”)(300.“AecImpDictRecord”)(100.“AecImpDictRecord”)(3.“(100.“AecImpDictRecord”)(3.“(102.“AEC\u子对象}”)(102.{AEC\u NULLOBJECT}”)(100.“AecDbVars”)(100.“AecDbVars”)(70.0)(71.30)(72.2)(73.2)(74.0)(75.0)(76.2)(77.2)(78.4)(79.2)(10.0)0.0.0)(11.0.0.0)(50.0.0)(40.100.0)(41.96.0)(42.0.00542501)(44.0.0625)(45.96.0)(46.0.3048)(90.0)(91.4096)(92.0)(270.56)(271.2)(272.130)(273.2)(2.sq ft)(3.cu ft)(4.ACADARCH)(6.L120)(7(9.“)(43.0.0416667)(5.“AecLayerStd.dwg”)(171.1)(172.1)(173.1)(174.1)(175.25)(280.1)
但在AutoCAD 2011中输入的代码相同,返回如下:
((-1 . ) (0.“AEC\U VARS\U DWG\U设置”)(5.“48”)(102.{ACAD\U XDICTIONARY”)(360。)(102“}”)(102“{ACAD_反应堆”)(330。)(102 . "}") (330 . )) 如果您将代码放在代码标记中,您可能会收到一些帮助。看见这个 2011版本是否支持AEC对象? 随着跳转到。net中,垂直产品(arch、civil 3d、mech等)中的对象属性越来越少,可用于LISP。
使用vlax对象转储,您将获得更多属性。 我想是的(vlax转储对象)
(defun c:dump ( / *error* grpoint gr e )
(vl-load-com)
(defun *error* ( msg )
(or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
(princ (strcat "\n** Error: " msg " **"))
)
(princ)
)
(defun grpoint ( / gr ss )
(while
(eq 5 (car (setq gr (grread t 15 2))))
(setvar 'lastpoint (cadr gr))
)
(list (car gr)(getvar 'lastpoint))
)
(while
(not
(and
(princ "\n*To view properties & methods select an object or right click on an object to select the nested object (press any key to cancel)*")
(setq gr (grpoint))
(cond
( (and (eq 25 (car gr))(setq e (car (nentselp (cadr gr)))))
(setq e (vlax-ename->vla-object e))
)
( (and (eq 3 (car gr))(setq e (ssget (cadr gr))))
(setq e (vlax-ename->vla-object (ssname e 0)))
)
( (or (eq 25 (car gr))(eq 3 (car gr)))
(prompt "\nMissed! Try again!")
)
(t (prompt "*Cancel*")(exit))
)
)
)
)
(vlax-dump-object e t)
(textscr)
(princ)
)
我知道这真的不需要,但我很无聊 我忘了告诉你我在用架构2011
下次我会遵循指导方针。 谢谢,实际上我想拿回物品(270.56)以备检查,但在建筑2011年无法拿回此物品。有没有其他方法来取代它?
((-1 . <Entity name: 7ed2de40>) (0 . "AEC_VARS_DWG_SETUP") (5 . "48") (102 . "{ACAD_XDICTIONARY") (360 . <Entity name: 7ed33f18>) (102 . "}") (102 . "{ACAD_REACTORS") (330 . <Entity name: 7ed2de18>) (102 . "}") (330 . <Entity name: 7ed2de18>) (100 . "AecDbObject") (102 . "{AEC_SUBOBJECT") (300 . "AecImpDictRecord") (100 . "AecImpObj") (3 . "") (100 . "AecImpDictRecord") (3 . "") (102 . "AEC_SUBOBJECT}") (102 . "{AEC_NULLOBJECT}") (100 . "AecDbDictRecord") (100 . "AecDbVars") (100 . "AecDbVarsDwgSetup") (70 . 0) (71 . 30) (72 . 2) (73 . 2) (74 . 0) (75 . 0) (76 . 2) (77 . 2) (78 . 4) (79 . 2) (10 0.0 0.0 0.0) (11 0.0 0.0 0.0) (50 . 0.0) (40 . 100.0) (41 . 96.0) (42 . 0.00542501) (44 . 0.0625) (45 . 96.0) (46 . 0.304 (90 . 0) (91 . 4096) (92 . 0) (270 . 56) (271 . 2) (272 . 130) (273 . 2) (2 . " sq ft") (3 . " cu ft") (4 . "ACADARCH") (6 . "L120") (7 . "'") (8 . "m") (330 . <Entity name: 0>) (9 . "") (43 . 0.0416667) (5 . "AecLayerStd.dwg") (171 . 1) (172 . 1) (173 . 1) (174 . 1) (175 . 25) (280 . 1))
非常感谢。但它无法从CAD文件中获取图形单位。你能告诉我如何用lisp语言获得绘图单位吗。
页:
[1]