【AutoCAD】圖層合併

更新 發佈閱讀 4 分鐘

圖層合併功能是我在清圖時常用的功能,

從別人那邊來的圖常常會有大量的圖層,作業上常常造成困擾,而且別人的圖通常是當底圖或參考使用,有時會索性將別人的圖層都合併在一起,或是把併入外部參考後混亂的圖層進行整理。

原本我做圖層合併是採用圖層管理員的選單處理,只要打開圖層管理員,將要合併的圖層選起來,再按右鍵從選單選取「合併所選圖層至...」,就會跳出選單視窗,再選取目標圖層就可以完成圖層合併。

但是這個作業方式在操作上不太便利,於是有了簡化流程的想法。


在AutoCAD中有一個指令LAYMRG,他的功能如下:

輸入指令LAYMRG

指令列提示:在圖層上選取要合併的物件或 [名稱(N)]:

如果輸入N會跳出圖層清單視窗,可以選取複數圖層,確認後輸入

指令列提示:在目標圖層上選取物件或[名稱(N)]:

此時輸入N會跳出圖層清單視窗,只能選一個目標圖層,按確定會合併圖層並刪除被合併的圖層


但是,這個指令直接寫成AutoLISP的話,執行上總是出現錯誤,所以我找到了下面這個程式碼:

(defun c:MLAY (/ CURLAY ENT I LAY LAYA LAYLST SEL SS)
(if (and (not (prompt "\nSelect objects on layers to merge: "))
(setq ss (ssget "_:L"))
(setq sel (car (entsel "\nSelect object on target layer: ")))
)
(progn
(setq laya (strcase (cdr (assoc 8 (entget sel))))
curlay (strcase (getvar 'CLAYER))
laylst nil
)
(repeat (setq i (sslength ss))
(setq ent (entget (ssname ss (setq i (1- i))))
lay (strcase (cdr (assoc 8 ent)))
)
(if
(and
(not (wcmatch lay (strcat laya ",DEFPOINTS," curlay)))
(not (member lay laylst))
)
(setq laylst (cons lay laylst))
)
)
(if laylst
(progn
(command "_.-laymrg")
(foreach l laylst (command "_N" l))
(command "" "_N" laya "_Y")
)
)
)
)
(princ)
)


交給Grok分析後發現失敗的原因在於AutoCAD有另一個指令為-LAYMRG,功能如下:

輸入指令-LAYMRG

指令列提示:在圖層上選取要合併的物件或 [名稱(N)]:

如果輸入N可以輸入一個圖層名稱,會把輸入的圖層名稱變成下面的字串

layer1, layer2, layer3, ...

令列提示:指在目標圖層上選取物件或[名稱(N)]:

此時輸入N可以輸入一個圖層名稱

指令列提示:是否要繼續?[是(Y) 否(N)] <否(N)>:

此時輸入Y可以合併圖層並刪除被合併的圖層


而我找到的程式的處理就是先選取要合併的圖層,獲得圖層清單後,再選取目標圖層,然後執行-LAYMRG指令,透過if迴圈自動逐一輸入圖層名稱,再自動確認要合併圖層。


和多數的AutoCAD指令一樣,LAYMRG跟-LAYMRG是同樣的功能但操作模式不同,在寫成AutoLISP時需要注意這個差異。


留言
avatar-img
留言分享你的想法!
avatar-img
Frank Plaza
11.8K會員
89內容數
AI的時代已經來臨
Frank Plaza的其他內容
2025/04/18
分享一個巨集(marco) ^C^C_ai_selall;_erase;_regenall 這個巨集的功用就是選取圖面中的所有東西,然後全部刪光,重繪一次圖面。
2025/04/18
分享一個巨集(marco) ^C^C_ai_selall;_erase;_regenall 這個巨集的功用就是選取圖面中的所有東西,然後全部刪光,重繪一次圖面。
2025/04/18
旋轉指令ROTATE在畫圖過程中使用頻率之高,在使用上總是有一點困擾。
2025/04/18
旋轉指令ROTATE在畫圖過程中使用頻率之高,在使用上總是有一點困擾。
2024/12/31
一些操作介面設定,一點LISP小程式
2024/12/31
一些操作介面設定,一點LISP小程式
看更多
你可能也想看
Thumbnail
將兩個JPG文件合併為一個是一項實用的技能,可用於創建拼貼、文件或演示文稿。本文探討了多種有效的方法來達成這一目標,包括使用在線工具、桌面應用程序以及操作系統內建的工具。每種方法都有其優缺點,適用於不同的需求和資源。無論您是尋求快速解決方案,還是需要高級編輯功能,這份指南將幫助您找到適合的選項。
Thumbnail
將兩個JPG文件合併為一個是一項實用的技能,可用於創建拼貼、文件或演示文稿。本文探討了多種有效的方法來達成這一目標,包括使用在線工具、桌面應用程序以及操作系統內建的工具。每種方法都有其優缺點,適用於不同的需求和資源。無論您是尋求快速解決方案,還是需要高級編輯功能,這份指南將幫助您找到適合的選項。
Thumbnail
不論是平面設計、介面設計,都能見排版這一詞。而排版的作用,即在明確的設計目標中,將所有元素做有組織的安排,精確地傳達訊息。
Thumbnail
不論是平面設計、介面設計,都能見排版這一詞。而排版的作用,即在明確的設計目標中,將所有元素做有組織的安排,精確地傳達訊息。
Thumbnail
視覺層級並不侷限於平面設計,在用戶體驗及介面上更是一個重要的核心之一。視覺層級除了讓畫面的視覺編排更加精緻好看,更重要的功能是能讓畫面有效地被組織,讓觀者更容易理解。
Thumbnail
視覺層級並不侷限於平面設計,在用戶體驗及介面上更是一個重要的核心之一。視覺層級除了讓畫面的視覺編排更加精緻好看,更重要的功能是能讓畫面有效地被組織,讓觀者更容易理解。
Thumbnail
開啟零件環境並選擇任一平面進入草圖模式 (詳Lesson 1),下圖以連續線作說明
Thumbnail
開啟零件環境並選擇任一平面進入草圖模式 (詳Lesson 1),下圖以連續線作說明
Thumbnail
建築師考試的學習與考試中,立面圖、剖面圖、平面圖及透視圖對於考生而言,是展現其設計能力和理解深度的關鍵工具。這些圖形不僅幫助考生展示具體的設計想法,也是溝通設計意圖與實現建築概念的基礎。
Thumbnail
建築師考試的學習與考試中,立面圖、剖面圖、平面圖及透視圖對於考生而言,是展現其設計能力和理解深度的關鍵工具。這些圖形不僅幫助考生展示具體的設計想法,也是溝通設計意圖與實現建築概念的基礎。
Thumbnail
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
Thumbnail
  最近遇到一些人想做音訊的合成,我回答他或許可以從圖像風格轉換中找到些靈感,我才突然想起我對於這部分的認知只止於知道他能做什麼及結果大概如何,對於內部訓練邏輯及結構並沒有認真的去了解,現在剛好趁此機會好好的學習一下。
Thumbnail
接續著前篇,接著我要使用圖生圖的方式去達成多人構圖的目的,本篇會使用幾種圖生圖的工作流去測試。
Thumbnail
接續著前篇,接著我要使用圖生圖的方式去達成多人構圖的目的,本篇會使用幾種圖生圖的工作流去測試。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News