AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[討論]聚合線轉自訂的複線 Io15010 [討論]聚合線轉自訂的複線 2020-310 [討論]聚合線轉自訂的複線 Oiu15010 [討論]聚合線轉自訂的複線 2020-211 [討論]聚合線轉自訂的複線 Oo-2-110 [討論]聚合線轉自訂的複線 BPl3tjj

[討論]聚合線轉自訂的複線

向下

[討論]聚合線轉自訂的複線 Empty [討論]聚合線轉自訂的複線

發表 由 immortal20092 于 2020-10-24, 22:21

最近想寫一個讓複線根據現有的聚合線走,例如畫一條直線,會產生兩個點座標,跑程式時會先抓取這條線的兩個座標點位,然後利用COMMAND指令,執行ml指令,再根據前述所抓的點位來畫線。
最主要是因為複線有使用的話MLstyle無法修改,那為了突破這限制,只好把有用到的都選出來分解,留下中線聚合線,這樣就能直接轉換為複線
目前所寫的尚還符合我的需求,但想進一步擴展,請各位先進提供意見給小弟

下方最後一行代碼pt1 pt2能正常使用,但如果這條線有10點甚至上百,不太可能用上百次的SETQ,那應該如何解決?

假設得到的點位((1 1) (2 2) (2.5 2.5) (3 3) (2 2)........)

目前想過用REPEAT,但考慮要跳出COMMAND指令,加上線的連續性會中斷,可能行不通 火冒三丈

代碼:

(defun c:PL2ML ( / )
 (setq MLname (getstring (strcat "輸入複線名稱:")))
 (setq ss (ssget))
 (setq i 0)
 (setq plname (ssname ss i))
 (setq ptlst (getplptlst plname));副程式得到點位
 (setq pt1 (car ptlst))
 (setq pt2 (nth 1 ptlst))
 (command "MLINE" "st" MLname "J" "Z" pt1 pt2 "")
 
 
)

immortal20092
immortal20092
一般會員
一般會員

文章總數 : 9
年齡 : 29
來自 : 台南
職業 : 土木
愛好 : 桌球
個性 : 好相處
使用年資 : 5
使用版本 : 2016
經驗值 : 908
威望值 : 6
注冊日期 : 2018-08-13
男 獅子座 羊

回頂端 向下

[討論]聚合線轉自訂的複線 Empty 回復: [討論]聚合線轉自訂的複線

發表 由 naruto018 于 2020-10-26, 08:56

可以參考下面網址的2.聚合線轉複線的程式碼
AutoCAD LISP 複線的相關程式
naruto018
naruto018
中級會員
中級會員

文章總數 : 175
年齡 : 28
來自 : 高雄
職業 : 學習中(CAD,Revit,Excel VBA)
愛好 : 當個懶熊
個性 : 內向
使用年資 : 新手
使用版本 : 2015
AutoCAD基礎篇等級 : 10星級
積分 : 5
經驗值 : 2715
威望值 : 433
注冊日期 : 2016-11-29
藍鵲726號
男 摩羯座 羊

回頂端 向下

[討論]聚合線轉自訂的複線 Empty 回復: [討論]聚合線轉自訂的複線

發表 由 immortal20092 于 2020-10-26, 23:21

naruto018 寫到:可以參考下面網址的2.聚合線轉複線的程式碼
AutoCAD LISP 複線的相關程式

這網站之前有看到,不過沒仔細看到這個,看來我必須要花點時間才能看的懂那行APPLY開始的那行
本來是想說自己試寫看看,如果這樣寫是否可行

LAMBA這個函數至今我還是看不太懂,但好像很多人使用

感謝你的提供 認同
immortal20092
immortal20092
一般會員
一般會員

文章總數 : 9
年齡 : 29
來自 : 台南
職業 : 土木
愛好 : 桌球
個性 : 好相處
使用年資 : 5
使用版本 : 2016
經驗值 : 908
威望值 : 6
注冊日期 : 2018-08-13
男 獅子座 羊

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[討論]聚合線轉自訂的複線 Uos15010 [討論]聚合線轉自訂的複線 BPl3tjj [討論]聚合線轉自訂的複線 Ziao1510 [討論]聚合線轉自訂的複線 Oo-2-110 [討論]聚合線轉自訂的複線 Oooo-110 [討論]聚合線轉自訂的複線 2020-211