自贡黄明儒 发表于 2014-7-3 14:01:22

尺寸关联

;;尺寸关联DIMREASSOCIATE,DIMDISASSOCIATE
(defun C:w1 (/ CODE E EN KEY N P10 P13 P14 SS)
(cond
    ((setq ss (ssget "X" '((0 . "*DIMENSION"))))
   (initget "dimReassociate dimDisassociate")
   (setq key (getkword "\n尺寸[关联(R)/不关联(D)]:<R>"))
   (cond ((not key) (setq key "dimReassociate")))
   (cond
       ((equal key "dimReassociate")
        (repeat        (setq n (sslength ss))
          (setq e (ssname ss (setq n (1- n))))
          (setq en (entget e))
          (setq code (cdr (assoc 70 en)))       
          (cond
          ((or (equal code 35) (equal code 164))          ;直径,半径
             (setq p10 (cdr (assoc 10 en)))
             (command "_.DIMREASSOCIATE" e "" p10 "")
          )
          ((member code '(32 33 38))
             (setq p13 (cdr (assoc 13 en)))
             (setq p14 (cdr (assoc 14 en)))
             (command "_.DIMREASSOCIATE" e "" p13 p14)
          )
          )
        )
       )
       (T (command "_.DIMDISASSOCIATE" ss ""))
   )
    )
)
(princ)
)

edata 发表于 2014-7-3 15:48:22

重新关联没这么简单。
如果标注不在点上,而在物体的线上,重新关联是不行的。
理论上说用重新标注更合理,虽然慢点,但是可靠一些。
至于 更新组码,修改acad反应器词典,也应该可以,不过略微繁琐,需要研究研究。

429014673 发表于 2014-7-3 16:03:12

cad有(取消)关联尺寸命令

自贡黄明儒 发表于 2014-7-3 18:32:12

429014673 发表于 2014-7-3 16:03
cad有(取消)关联尺寸命令

主要考虑批量—次完成

自贡黄明儒 发表于 2014-7-3 18:33:19

edata 发表于 2014-7-3 15:48
重新关联没这么简单。
如果标注不在点上,而在物体的线上,重新关联是不行的。
理论上说用重新标注更合理 ...

那么词典怎么搞?

edata 发表于 2014-7-3 18:40:16

自贡黄明儒 发表于 2014-7-3 18:33 static/image/common/back.gif
那么词典怎么搞?

暂时没有研究,你可以尝试修改,对比关联和非关联的entget数据变化,相关的词典内容。
页: [1]
查看完整版本: 尺寸关联