现在知道更改标注效果的变量是DIMTIH了,但不知道为什么两个变量一样,请问能否写一段代码将图纸中所有的标注改成我想实现的效果?
这段代码没有用,并且手动调整的话只能改变选中的标注,而不是调整后再新创建的标注也是我想要的效果。
谢谢~
网友答: 本帖最后由 逗亦斗霸 于 2025-8-25 12:25 编辑
这个函数只能改变标注文字的位置,不能改变其方向使其和尺寸线对齐哦,用DeepSeek写了一段这样的也不行,唉~实在不行手动挡了~
网友答:

网友答:
网友答:
好像不起作用啊~感谢版主回复!网友答: 本帖最后由 edata 于 2025-8-24 16:48 编辑
新建生效最好改样式,临时改的是样式替代网友答: 本帖最后由 xyp1964 于 2025-8-24 16:56 编辑
是我理解错了
网友答:
好像是这个道理,但输入DIMSTYLE后不知道改哪里,只会重新新建图纸后再粘贴过来~
网友答:
这个控制 DIMTIH DIMTOH , 俩变量组合的结果
网友答:
原来是组合的结果,找到原因了,谢谢啦~网友答: 是这想要的结果?网友答:
不不不,反了~

- (defun c:tt ()
- (setq ss (ssget '((0 . "DIMENSION"))))
- (if ss
- (progn
- (setvar "DIMTIH" 1)
- )
- )
- )
谢谢~
网友答: 本帖最后由 逗亦斗霸 于 2025-8-25 12:25 编辑
这个函数只能改变标注文字的位置,不能改变其方向使其和尺寸线对齐哦,用DeepSeek写了一段这样的也不行,唉~实在不行手动挡了~

- (defun c:tt (/ ss i ent obj)
- (vl-load-com)
-
- (if (setq ss (ssget '((0 . "DIMENSION"))))
- (repeat (setq i (sslength ss))
- (setq ent (ssname ss (setq i (1- i)))
- obj (vlax-ename->vla-object ent))
-
- ; 设置文字与尺寸线对齐
- (vla-put-TextInsideAlign obj :vlax-true)
- (vla-put-TextOutsideAlign obj :vlax-true)
-
- ; 设置文字旋转角度与尺寸线一致
- (vla-put-TextRotation obj (vla-get-Rotation obj))
- )
- (princ "\n未选择任何标注对象。")
- )
- (princ)
- )
网友答:

- (defun c:tt ()
- (setq i -1)
- (if (setq ss (ssget (list '(0 . "dim*") (cons 50 (* pi 0.5)))))
- (while (setq s1 (ssname ss (setq i (1+ i))))
- (vla-Put-VerticalTextPosition (vlax-ename->vla-object s1) 4)
- )
- )
- (princ)
- )
网友答:

- (defun c:tt ()
- (if (setq ss (ssget '((0 . "DIMENSION"))))
- (progn
- (setvar "DIMTIH" 1)
- (command"dim1""upd" ss "")
- )
- )
- (princ)
- )
xyp1964 发表于 2025-8-24 15:54
好像不起作用啊~感谢版主回复!网友答: 本帖最后由 edata 于 2025-8-24 16:48 编辑
新建生效最好改样式,临时改的是样式替代网友答: 本帖最后由 xyp1964 于 2025-8-24 16:56 编辑
逗亦斗霸 发表于 2025-8-24 16:24
好像不起作用啊~感谢版主回复!
是我理解错了
网友答:
edata 发表于 2025-8-24 16:47
新建生效最好改样式,临时改的是样式替代
好像是这个道理,但输入DIMSTYLE后不知道改哪里,只会重新新建图纸后再粘贴过来~
网友答:
这个控制 DIMTIH DIMTOH , 俩变量组合的结果
网友答:
edata 发表于 2025-8-24 17:57
这个控制 DIMTIH DIMTOH , 俩变量组合的结果
原来是组合的结果,找到原因了,谢谢啦~网友答: 是这想要的结果?网友答:
luoms2008 发表于 2025-8-25 08:28
是这想要的结果?
不不不,反了~