支持分享源码。
还缺少函数的 “选择对象:; 错误: no function definition: GETATTVALUE”
选择对象:; 错误: no function definition: SETATTVALUE
这个也是!
希望楼主给个完整代码!!!!谢谢!!
不能用,还是用原来的完全刷!
test.dcl在那里啊?
htxhtx 发表于 2014-7-10 19:33 static/image/common/back.gif
test.dcl在那里啊?
不用个管它在哪里,不影响使用。
这是一个动态生成DCL的程序,程序运行会根据lst自动生成DCL.
本帖最后由 fl202 于 2014-7-11 10:30 编辑
以下是补缺少的两个子函数:;;;取得块属性值
(defun getattvalue (entblock attname / entdata entname test value)
(setq entname entblock test t)
(while (andtest (setq entname (entnext entname)))
(setq entdata (entget entname))
(cond
((not (= (cdr (assoc 0 entdata)) "ATTRIB")) (setq test nil))
((= "SEQEND" (cdr (assoc 0 entdata))) (setq test nil))
((= (cdr (assoc 2 entdata)) attname) (setq value (cdr (assoc 1 entdata))))
)
)
value
)
;;;getattnamelst 替换getattributes
;;;给块属性赋值
(defun setattvalue (EN ATTNAME vALUE /szb1 E TEST ENT)
(setq E EN RETURN NIL TEST t )
(while (and TEST (setq E (entnext E)) )
(setq ENT (entget E))
(cond
;;
((not (= (cdr (assoc 0 ENT)) "ATTRIB"))
(setq TEST NIL)
)
;;
((= "SEQEND" (cdr (assoc 0 ENT)))
(setq TEST NIL)
)
;;
((= (cdr (assoc 2 ENT)) ATTNAME )
(setq ENT (subst (cons 1 VALUE)(assoc 1 ENT) ENT) )
(entmod ENT)
(entupd EN)
(setq RETURN t)
)
) ;_结束cond
)
;;返回
RETURN
) 附件是经测试的完整程序,对程序稍作修改,收币一个。大家自主选择,补函数后还要调试修改完才能用,嫌麻烦的就下载好了。
还是出错,比较麻烦
好想试一试,没明经币了