在AotuCAD中实现尺寸驱动初探
说明:在一个新建的空白文件中,绘制一任意圆,并标注尺寸,然后修改默认值,执行以下程序,实现按修改值更新该圆。
1)本程序是一简易的实验性的程序,意在抛砖引玉,希望大家修改完善,开发更多更好的真正的尺寸驱动程序,共同学习。
2)在AotuCAD2004中调试通过。
(defun C:chiqd ()
(setvar "cmdecho" 0)
(setq sj_circle (ssget "x"))
(setq dim_circle (ssname sj_circle 0))
(setq e_circle (entget (ssname sj_circle 1)))
(setq modify_r (/ (atof (cdr (nth 20
(entget dim_circle)
)
)
)
2.0
)
)
(setq newcircle_r
(cons (car (nth 13
e_circle
)
)
modify_r
)
)
(setq e_circle
(subst newcircle_r
(assoc 40 e_circle)
e_circle
)
)
(entmod e_circle)
) 程序设计上有很大的问题,首先是选择,并不能保证选择集中第一项就是DIM,第二项是圆。
另组码的提取也不能这样,帮助文件中有明确的说明,编程不能依赖DXF组码的顺序,否则可能导致程序的崩溃。。。
这种思路很不错。。。 meflying 管理员
可否展示下自己做的好例子,谢谢 发一个bdycad大大的程序以作参考
页:
[1]