字段缺少其参考Ev
您好,我真的不知道这是否是合适的董事会张贴这一点,但我有一个问题,关于我的动态块失去其字段每次我保存它正在显示此错误
我打开后总是需要运行这个
(defun c:asd ()
(setq ssblck (ssget "x" (list '(0 . "INSERT")))
lpdtct 0
)
(repeat (sslength ssblck)
(if (not (eq (vlax-get-property
(vlax-ename->vla-object (ssname ssblck lpdtct))
'effectivename
)
"OIS-LVL-BLK"
)
)
(progn (setq lpdtct (+ lpdtct 1)))
(progn
(SETQ d1 (ssname ssblck lpdtct)
d2 (vlax-ename->vla-object d1)
d3 (itoa (vla-get-objectid d2))
d4 (vlax-invoke d2 'getattributes)
d5 (car d4) ;ffl
d6 (cadr d4) ;lvl
d7 (vlax-variant-value
(vlax-get-property
(nth 4 (vlax-invoke d2 'getdynamicblockproperties))
'value
)
)
)
(if (eq d7 1)
(progn
(command "move" d1 "" '(0 0 0) '(0 1212 0))
(setq lpdtct (+ lpdtct 1))
)
(progn
(vlax-put-property
d6
'textstring
(strcat
"+"
"%<\\AcObjProp Object(%<\\_ObjId "
d3 ">%).InsertionPoint \\f "
"\"%lu2%pt4%pr3" "\">%"
)
)
(vlax-put-property
d5
'textstring
(strcat
"%<\\AcObjProp Object(%<\\_ObjId "
d3 ">%).Layer \\f "
"\"%tc1" "\">%"
)
)
(setq lpdtct (+ lpdtct 1))
)
)
)
)
)
)
谢谢大家的回复。
有时使用这种类型的东西插入块,作为第二步更新它,所以您可以使用(entlast)获取对象,然后放置动态属性。我知道for块每次都必须获得id,因为它必须反映插入的块。如果设置了ID,则无法复制块。
为什么动态块会做一些特殊的事情?价值观来自哪里?
您可能需要发布真实的dwg。
页:
[1]