Autolisp Mleader Align
因為 AutoCAD 內建的 Mleader 對齊的功能實在很難用,而 Mleader 又是獨立於DIMSTYLE 可以分開管理並且跟 MText 物件連在一起的,於是我改寫了Max-Qleader 引線標注功能,變成 Max-Mleader ,與 Mleader 新的對齊功能,延續TrimDim 化條線就對齊的設計概念,Mleader Align 也是畫一條線就對齊。
Mleader 使用上非常方便 但相對 DXF 中 GroupCode 相對複雜,很多特徵是相同的例如:
(
(-1 .
(0 . "MULTILEADER")
(330 .
(5 . "1F075")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "Dim")
(100 . "AcDbMLeader")
(270 . 2)
(300 . "CONTEXT_DATA{")
(40 . 15.0)
(10 7271.46 9881.71 0.0)
(41 . 52.5)
(140 . 30.0)
(145 . 30.0)
(174 . 2)
(175 . 2)
(176 . 1)
(177 . 0)
(290 . 1)
(304 . "M5圓頭螺絲")
(11 0.0 0.0 1.0)
(340 .
(12 7415.04 9907.96 0.0)
(13 1.0 0.0 0.0)
(42 . 0.0)
(43 . 0.0)
(44 . 0.0)
(45 . 1.0)
(170 . 1)
(90 . -1023410166)
(171 . 2)
(172 . 5)
(91 . -1073741824)
(141 . 0.0)
(92 . 0)
(291 . 0)
(292 . 0)
(173 . 0)
(293 . 0)
(142 . 0.0)
(143 . 0.0)
(294 . 0)
(295 . 0)
(296 . 0)
(110 6680.17 9364.02 0.0)
(111 1.0 0.0 0.0)
(112 0.0 1.0 0.0)
(297 . 0)
(302 . "LEADER{")
(290 . 1)
(291 . 1)
(10 7241.46 9881.71 0.0)
(11 1.0 0.0 0.0)
(90 . 0)
(40 . 30.0)
(304 . "LEADER_LINE{")
(10 6680.17 9364.02 0.0)
(91 . 0)
(170 . 1)
(92 . -1056964608)
(340 .
(171 . -2)
(40 . 0.0)
(341 .
(93 . 0)
(305 . "}")
(271 . 0)
(303 . "}")
(272 . 9)
(273 . 9)
(301 . "}")
(340 .
(90 . 67421184)
(170 . 1)
(91 . -1073741824)
(341 .
(171 . -1)
(290 . 1)
(291 . 1)
(41 . 2.0)
(42 . 2.0)
(172 . 2)
(343 .
(173 . 2)
(95 . 2)
(174 . 1)
(175 . 0)
(92 . -1023410166)
(292 . 0)
(93 . -1056964608)
(10 1.0 1.0 1.0)
(43 . 0.0)
(176 . 0)
(293 . 0)
(294 . 0)
(178 . 0)
(179 . 2)
(45 . 15.0)
(271 . 0)
(272 . 9)
(273 . 9)
(295 . 1)
)
10 作為索引就出現了四次,所以assoc 指令不論往前找或是往後找,你都找不到
中間那兩個,所以必須先撰寫一個副程式,來取得你想要的那個,並且取得其順序以供 nth 使用。
以圖面來說,只要你更新 P2 並以其為對齊點便可,不需要去操作P4(文字的對齊點),而P3 非常重要,他是判斷使用者到底是向左還是向右標。在程式碼中僅是這麼簡單幾句
;;--------------;; update P2 and justify -------------------
(setq ent (subst (cons 10 int1)
(nth nthP2 ent)
ent
)
) ;;p2
(entmod ent)
(if (= t (vlax-property-available-p vlaobj 'TextJustify))
(vlax-put vlaobj 'TextJustify 2)
)
(vlax-release-object vlaobj);;不要去變更 P4
程式還不完美,但是比起內建更加快速好用,其他的待工作空閒時再來修改。
0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁