机械工程师
发表于 2014-3-11 13:11:05
支持分享源码。
flowerson
发表于 2014-3-11 17:47:56
还缺少函数的 “选择对象:; 错误: no function definition: GETATTVALUE”
flowerson
发表于 2014-3-11 17:49:42
选择对象:; 错误: no function definition: SETATTVALUE
这个也是!
njut_prince
发表于 2014-3-30 13:55:51
希望楼主给个完整代码!!!!谢谢!!
htxhtx
发表于 2014-5-28 08:50:51
不能用,还是用原来的完全刷!
htxhtx
发表于 2014-7-10 19:33:25
test.dcl在那里啊?
77077
发表于 2014-7-11 00:23:03
htxhtx 发表于 2014-7-10 19:33 static/image/common/back.gif
test.dcl在那里啊?
不用个管它在哪里,不影响使用。
这是一个动态生成DCL的程序,程序运行会根据lst自动生成DCL.
fl202
发表于 2014-7-11 10:20:09
本帖最后由 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
) 附件是经测试的完整程序,对程序稍作修改,收币一个。大家自主选择,补函数后还要调试修改完才能用,嫌麻烦的就下载好了。
cabo0415
发表于 2014-10-15 09:16:09
还是出错,比较麻烦
wy92160410
发表于 2015-6-17 12:48:21
好想试一试,没明经币了