akey 发表于 2003-11-30 14:54:00

在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)
)

meflying 发表于 2003-11-30 15:17:00

程序设计上有很大的问题,首先是选择,并不能保证选择集中第一项就是DIM,第二项是圆。
另组码的提取也不能这样,帮助文件中有明确的说明,编程不能依赖DXF组码的顺序,否则可能导致程序的崩溃。。。
这种思路很不错。。。

jfxia 发表于 2011-1-5 23:03:03

   meflying   管理员
可否展示下自己做的好例子,谢谢

xiaxiang 发表于 2011-1-6 15:46:24

发一个bdycad大大的程序以作参考

页: [1]
查看完整版本: 在AotuCAD中实现尺寸驱动初探