yangchao2005090 发表于 2020-6-10 07:40:09

标注尺寸对齐是否可以改成不移动标注,仅对齐

(defun c:dag (/ ss ptx i endata pt13 pt14 ang vlen)
(princ "\n选择要对齐的标注")
(setq ss (ssget '((0 . "DIMENSION"))))
;;需要计算一下哪种标注最多
;;排除少量的,用最多的那种
(while (= (car(setq poi(grread 1))) 5)
    (setq ptx (cadr poi))
    (setq i 0)
    (repeat (sslength ss)
      (setq endata (entget (ssname ss i)))
      (entmod (subst (cons 10 ptx) (assoc 10 endata) endata ))
      (setq i (1+ i))
    ))
;;下面来指定引线起点
(setq ptx (getpoint "\n指定标注引线起点"))
(setq i 0)
(repeat (sslength ss)
    (setq endata (entget (ssname ss i)))
    (setq pt13 (cdr (assoc 13 endata))
      pt14 (cdr (assoc 14 endata)))      
    (if (= 33 (cdr (assoc 70 endata))) (setq ang (angle pt13 pt14)) (setqang(cdr (assoc 50 endata))))
    (entmake (list '(0 . "LINE") (cons 10 ptx) (cons 11 (polar ptx ang 100))))
    (setq vlen (vlax-ename->vla-object (entlast)))
    ;;求出跟线最近的点
    (setqendata (subst (cons 13(vlax-curve-getclosestpointto vlen pt13 T)) (assoc 13 endata) endata)
      endata (subst (cons 14(vlax-curve-getclosestpointto vlen pt14 T)) (assoc 14 endata) endata))      
    (vla-erase vlen)
    (entmod endata)
    (setq i (1+ i))
);end repeat
)

xvjiex 发表于 2020-6-10 07:40:10

明白了。看看这个是你的要求吗?

xvjiex 发表于 2020-6-10 09:21:57

没明白你的意思,能说具体一点吗?

yangchao2005090 发表于 2020-6-10 10:58:14

xvjiex 发表于 2020-6-10 09:21
没明白你的意思,能说具体一点吗?

运行命令后,选中尺寸,然后软件会让你移动尺寸的位置,一般我的尺寸位置是放好的只需要尺寸界线对齐,也就是他这个命令的最后一步

yangchao2005090 发表于 2020-6-10 11:21:13

xvjiex 发表于 2020-6-10 11:07
明白了。看看这个是你的要求吗?

正是想要的,感谢感谢

oistre 发表于 2020-6-11 16:51:04

没明白你的意思,能说具体一点吗?

00放飞梦想00 发表于 2020-12-17 09:20:59

xvjiex 发表于 2020-6-10 07:40
明白了。看看这个是你的要求吗?

您好,这个插件下载不了
页: [1]
查看完整版本: 标注尺寸对齐是否可以改成不移动标注,仅对齐