AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
求助:尺寸標註線 尾端切齊 Oooo-110 求助:尺寸標註線 尾端切齊 Oo-2-110 求助:尺寸標註線 尾端切齊 Ia15010 求助:尺寸標註線 尾端切齊 Ziao1510 求助:尺寸標註線 尾端切齊 BPl3tjj 求助:尺寸標註線 尾端切齊 Uos15010 求助:尺寸標註線 尾端切齊 Uos15011

求助:尺寸標註線 尾端切齊

向下

求助:尺寸標註線 尾端切齊 Empty 求助:尺寸標註線 尾端切齊

發表 由 hueigo 于 2019-09-21, 11:52

像我們在畫線段時可以用trim把線切齊,但是在標註尺寸時抓點位置不同一直線時會出現尺寸標註線尾端參差不齊,我看過有外掛可以一刀切齊,請問諸位先進,不曉的有什麼方式能更方便做到,謝謝。
hueigo
hueigo
初級會員
初級會員

文章總數 : 80
年齡 : 54
來自 : 台中
職業 : 建築設計師
愛好 : 圍棋
個性 : 平實
使用年資 : 15
使用版本 : 2013
積分 : 4
經驗值 : 3071
威望值 : 115
注冊日期 : 2012-10-01
顧問外掛程式 經典問與答讀者 男 天蝎座 龍

回頂端 向下

求助:尺寸標註線 尾端切齊 Empty 找到解決方案了

發表 由 hueigo 于 2019-09-21, 14:44

hueigo 寫到:像我們在畫線段時可以用trim把線切齊,但是在標註尺寸時抓點位置不同一直線時會出現尺寸標註線尾端參差不齊,我看過有外掛可以一刀切齊,請問諸位先進,不曉的有什麼方式能更方便做到,謝謝。

上網查到了,寫一個LISP如下:

(defun c:TDE ( / new_pt x y n js ent_dim dxf_ent p1 p2 alpha p13 p14)
(initget 1)
(setq new_pt (trans (getpoint "\n新的尺寸端點位置: ") 1 0) x (car new_pt) y (cadr new_pt) n -1)
(princ "\n選取尺寸元件: ")
(while (null (setq js (ssget '((0 . "DIMENSION"))))))
(repeat (sslength js)
(setq ent_dim (ssname js (setq n (1+ n))))
(setq dxf_ent (entget ent_dim))
(cond
((or (zerop (rem (cdr (assoc 70 dxf_ent)) 32)) (eq (rem (cdr (assoc 70 dxf_ent)) 32) 1))
(setq p1 (cdr (assoc 13 dxf_ent)) p2 (cdr (assoc 14 dxf_ent)))
(cond
((or (eq (car p1) (car p2)) (and (zerop (rem (cdr (assoc 70 dxf_ent)) 32)) (zerop (rem (angle p2 (cdr (assoc 10 dxf_ent))) pi))))
(setq dxf_ent (subst (cons 13 (list x (cadr p1) (caddr p1))) (assoc 13 dxf_ent) dxf_ent))
(setq dxf_ent (subst (cons 14 (list x (cadr p2) (caddr p2))) (assoc 14 dxf_ent) dxf_ent))
)
((or (eq (cadr p1) (cadr p2)) (and (zerop (rem (cdr (assoc 70 dxf_ent)) 32)) (zerop (rem (angle p2 (cdr (assoc 10 dxf_ent))) (/ pi 2)))))
(setq dxf_ent (subst (cons 13 (list (car p1) y (caddr p1))) (assoc 13 dxf_ent) dxf_ent))
(setq dxf_ent (subst (cons 14 (list (car p2) y (caddr p2))) (assoc 14 dxf_ent) dxf_ent))
)
(T
(if (member '(100 . "AcDbRotatedDimension") dxf_ent)
(setq alpha (cdr (assoc 50 dxf_ent)))
(setq alpha (angle (list (car p1) (cadr p1)) (list (car p2) (cadr p2))))
)
(setq p13
(inters
(list x y)
(polar (list x y) alpha (cdr (assoc 42 dxf_ent)))
(list (car p1) (cadr p1))
(polar (list (car p1) (cadr p1)) (+ alpha (/ pi 2)) (cdr (assoc 42 dxf_ent)))
nil
)
)
(setq p14
(inters
(list x y)
(polar (list x y) alpha (cdr (assoc 42 dxf_ent)))
(list (car p2) (cadr p2))
(polar (list (car p2) (cadr p2)) (+ alpha (/ pi 2)) (cdr (assoc 42 dxf_ent)))
nil
)
)
(if (and p13 p14)
(setq
dxf_ent (subst (cons 13 (list (car p13) (cadr p13) (caddr p1))) (assoc 13 dxf_ent) dxf_ent)
dxf_ent (subst (cons 14 (list (car p14) (cadr p14) (caddr p2))) (assoc 14 dxf_ent) dxf_ent)
)
(princ "\nCan't redefine point, the new point haven't same Z")
)
)
)
(entmod dxf_ent)
)
(T
(princ "\nIsn't a dim aligned, rotated horizontal or vertical.")
)
)
)
(prin1)
)
hueigo
hueigo
初級會員
初級會員

文章總數 : 80
年齡 : 54
來自 : 台中
職業 : 建築設計師
愛好 : 圍棋
個性 : 平實
使用年資 : 15
使用版本 : 2013
積分 : 4
經驗值 : 3071
威望值 : 115
注冊日期 : 2012-10-01
顧問外掛程式 經典問與答讀者 男 天蝎座 龍

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
求助:尺寸標註線 尾端切齊 Uos15011 求助:尺寸標註線 尾端切齊 Uos15010 求助:尺寸標註線 尾端切齊 BPl3tjj 求助:尺寸標註線 尾端切齊 Ziao1510 求助:尺寸標註線 尾端切齊 Ia15010 求助:尺寸標註線 尾端切齊 Oo-2-110 求助:尺寸標註線 尾端切齊 Oooo-110