bpdav1 发表于 2022-7-6 07:38:55

Autolisp标注后缀

有没有办法在autolisp中为尺寸标注指定dim后缀?
 
即,我为一条线创建两个维度,一个中心到中心,尺寸后缀为“C/C”,另一个整体,尺寸后缀为“O/ALL”

nod684 发表于 2022-7-6 08:02:19

 
试试这个。。
 

(defun c:test (/ ss i o)
(vl-load-com)
(if (setq ss (ssget '((0 . "*DIMENSION"))))
   (repeat (setq i (sslength ss))
   (vla-put-PrimaryUnitsPrecision
       (setq o (vlax-ename->vla-object (ssname ss (setq i (1- i)))))
       0
   )
   (vla-put-TextOverride o "<> c/c")
   )
)
(princ)
)

 
 
或者:
 

(defun C:Test2()
(setq newdim (entsel "\nSelect Dimension on where to put C/C Symbol:"))
(setq newdimvalue "<> C/C")
(command "dimedit" "n" newdimvalue newdim "")
(princ)
)

bpdav1 发表于 2022-7-6 08:06:05

干杯,这真是太棒了!有没有办法自动输入坐标或选择尺寸,这样就不会要求用户选择尺寸?

nod684 发表于 2022-7-6 08:21:09

 
如果要将其应用于所有标注,只需修改标注样式即可
 
转到“主要单位”,在“后缀”下输入C/C

bpdav1 发表于 2022-7-6 08:27:48

这也是真的,谢谢
 
我还发现我可以做到:
 
(command "dimedit" "n" "<> C/C" dimpoint "")
 
其中,dimpoint等于接触尺寸的已知点“x,y”。这样就不需要entsel命令,也不需要用户选择尺寸。

nod684 发表于 2022-7-6 08:49:49

 
太好了!
页: [1]
查看完整版本: Autolisp标注后缀