標註複線的scale比例
標註複線的scale比例
想請問版上的高手,我想要有自動標註複線比例的功能,目前code(下方)只能單一選取一個複線,我想要能夠選取多個複線,參考之前用的快速標記的code,應該可以用
(setq dpss (ssget "_:L" '((0 . "*MLINE")))) 這行達到,可是其他部分不太清楚要怎麼修改。想請大家幫忙把code更改成能夠選取多個複線嗎?
(defun c:mldim ( / olsnap dic obj xyz mlsty mlsc pt1 pt2 ang mp mp2 ent dic dict tot)
(setq oldsnap (getvar 'osmode))
(setvar 'osmode 0)
(setq dic (dictsearch (namedobjdict) "ACAD_MLINESTYLE"))
(setq obj (vlax-ename->vla-object (car (entsel "\nSelect mline"))))
(setq xyz (vlax-get obj 'Coordinates))
(setq mlsty (vlax-get obj 'StyleName))
(setq mlsc (vlax-get obj 'MLineScale))
(setq pt1 (list (nth 0 xyz)(nth 1 xyz)))
(setq pt2 (list (nth 3 xyz)(nth 4 xyz)))
(setq ang (- (angle pt1 pt2)(/ pi 2.0)))
(setq mp (mapcar '* (mapcar '+ pt1 pt2) '(0.5 0.5)))
(setq dict (dictsearch (setq dic (cdr (assoc -1 dic))) mlsty ))
(setq tot 0.0)
(foreach ent dict
(if (= (car ent) 49)
(setq tot (+ tot (abs (cdr ent))))
)
)
(setq tot (* mlsc tot))
(setq mp2 (polar mp ang tot))
(command "dimaligned" mp mp2 mp)
(princ)
)
(c:mldim)
(setq dpss (ssget "_:L" '((0 . "*MLINE")))) 這行達到,可是其他部分不太清楚要怎麼修改。想請大家幫忙把code更改成能夠選取多個複線嗎?
(defun c:mldim ( / olsnap dic obj xyz mlsty mlsc pt1 pt2 ang mp mp2 ent dic dict tot)
(setq oldsnap (getvar 'osmode))
(setvar 'osmode 0)
(setq dic (dictsearch (namedobjdict) "ACAD_MLINESTYLE"))
(setq obj (vlax-ename->vla-object (car (entsel "\nSelect mline"))))
(setq xyz (vlax-get obj 'Coordinates))
(setq mlsty (vlax-get obj 'StyleName))
(setq mlsc (vlax-get obj 'MLineScale))
(setq pt1 (list (nth 0 xyz)(nth 1 xyz)))
(setq pt2 (list (nth 3 xyz)(nth 4 xyz)))
(setq ang (- (angle pt1 pt2)(/ pi 2.0)))
(setq mp (mapcar '* (mapcar '+ pt1 pt2) '(0.5 0.5)))
(setq dict (dictsearch (setq dic (cdr (assoc -1 dic))) mlsty ))
(setq tot 0.0)
(foreach ent dict
(if (= (car ent) 49)
(setq tot (+ tot (abs (cdr ent))))
)
)
(setq tot (* mlsc tot))
(setq mp2 (polar mp ang tot))
(command "dimaligned" mp mp2 mp)
(princ)
)
(c:mldim)
dog46- 一般會員
- 文章總數 : 6
年齡 : 26
來自 : 台中市
職業 : 土木
愛好 : 美食遊戲
個性 : 普通
使用年資 : 1
使用版本 : 2019
經驗值 : 504
威望值 : 0
注冊日期 : 2021-10-21
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章