AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

*[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

上一篇主題 下一篇主題 向下

*[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Sugar 于 周四 5 2月 2009 - 14:29

公司最近在做"圖層與圖塊的整合",新的圖檔裡,不能有其他不屬於這個圖檔的圖層存在
但我在執行刪除時,遇到了兩個問題,請各位大大來幫我解答~感謝!!
1.當圖層不能刪除時,可能是A.為目前的圖層 B.此圖層含有圖塊或物件 ,此圖層非為目前圖層時,我用工具下的"快速選取"來看這圖層裡有含哪些圖塊或物存,但搜尋後為"0項目",遇到這樣的狀況時 我想請教各位大大 要如何解決才能順利刪除不必要的圖層?
2.昨日我在刪除圖層時有2個圖層無法刪除,我開啟另一個新檔,將此圖檔裡的所有圖塊 線條複製過去,發生了兩個狀況:
A.那兩個無法刪除的圖層不見了!
B.貼複後,執行"XREF"指令--->載入圖框 出現"此圖塊已存在" **錯誤** , 外部參考的對話視窗裡 卻沒有此圖框的檔名存在!

小妹想了兩天 找不出答案 望各位大大不吝指點,謝謝>"<


judyyai 在 周一 28 3月 2011 - 5:59 作了第 5 次修改 (原因 : 編輯主旨為[問題])
avatar
Sugar
初級會員
初級會員

文章總數 : 57
年齡 : 38
來自 : Taiwan
職業 : 繪圖員
個性 : 樂天派
積分 : 1
經驗值 : 3182
威望值 : 0
注冊日期 : 2008-12-08
女 雙魚座 羊

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 eric管 于 周五 6 2月 2009 - 3:39

你可以試試看
可以在圖層性質管理員
勾選--> 指出使用中的圖層
來確定看看該圖層是否有東西
先注意看看是否圖層是在關閉或凍結的狀態喔
關閉或凍結的狀態當然不能刪除
所以該圖層一定有東西

使用PURGE指令 可以清除未使用之所有項目
圖層 圖塊 線型 標註....等

另外不可刪除之圖層 : 1.外部參考所插入的圖層
2.定義圖層 (使用標註時會自動產生)
3.圖層0
4.目前圖層

eric管
初級會員
初級會員

文章總數 : 53
年齡 : 35
來自 : 新店
職業 : 建築/戶外休閒,看書,朋友
愛好 : 戶外運動
個性 : 外向開放
使用年資 : 4
使用版本 : 2010
積分 : 2
經驗值 : 3175
威望值 : 0
注冊日期 : 2008-12-22
男 白羊座 狗

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Sugar 于 周五 6 2月 2009 - 4:03

eric管 寫到:你可以試試看
可以在圖層性質管理員
勾選--> 指出使用中的圖層
來確定看看該圖層是否有東西
先注意看看是否圖層是在關閉或凍結的狀態喔
關閉或凍結的狀態當然不能刪除
所以該圖層一定有東西

使用PURGE指令 可以清除未使用之所有項目
圖層 圖塊 線型 標註....等

另外不可刪除之圖層 : 1.外部參考所插入的圖層
2.定義圖層 (使用標註時會自動產生)
3.圖層0
4.目前圖層

圖層並沒有在凍結或關閉的狀態喔!!!
我執行"快速選取",但卻沒有發到有任何物件!
所以我才想要請教大家,要怎麼找出這圖層裡的物件??!才能順利的刪除此圖層
avatar
Sugar
初級會員
初級會員

文章總數 : 57
年齡 : 38
來自 : Taiwan
職業 : 繪圖員
個性 : 樂天派
積分 : 1
經驗值 : 3182
威望值 : 0
注冊日期 : 2008-12-08
女 雙魚座 羊

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Tiger&蘋果爸 于 周五 6 2月 2009 - 4:14

eric管 寫到:你可以試試看
可以在圖層性質管理員
勾選--> 指出使用中的圖層
來確定看看該圖層是否有東西
先注意看看是否圖層是在關閉或凍結的狀態喔
關閉或凍結的狀態當然不能刪除
所以該圖層一定有東西...
----------------------------------------------------------
謝謝熱心回覆~ < 回文 +1>
謝謝囉

[公告]關於團隊成員的回文及貢獻
http://www.autocad-tw.com/forum-f14/topic-t870.htm#3096

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17080
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 63953
威望值 : 12657
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 mars 于 周五 6 2月 2009 - 4:21

我想圖層中的物件以作為其他圖層中的物件所用
必須依循物件所在的圖層一步一步分解、回歸
而且物件中可能包含圖塊製作的設定值
這種苦差事一個圖檔也就算了
還要整合全部圖檔與圖塊~~~~頭皮發麻
avatar
mars
高級會員
高級會員

文章總數 : 862
年齡 : 43
來自 : 臺北
職業 : 建築金屬
愛好 : 攝影
個性 : 冒險~愛嚐鮮
使用年資 : 10↑
使用版本 : 2012~2008
積分 : 16
經驗值 : 4325
威望值 : 239
發帖精華 : 1
注冊日期 : 2008-11-21
男 處女座 牛

http://tw.myblog.yahoo.com/mars215_1

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 eric管 于 周五 6 2月 2009 - 4:27

1.可以在圖層性質管理員
勾選--> 指出使用中的圖層
來確定看看該圖層是否有東西
2. PURGE
這2種都試過了嗎?

那我猜會不會是有屬性圖塊
被設定為不可見
所以造成圖層上有物件但是刪不掉
有檔案比較好測試

eric管
初級會員
初級會員

文章總數 : 53
年齡 : 35
來自 : 新店
職業 : 建築/戶外休閒,看書,朋友
愛好 : 戶外運動
個性 : 外向開放
使用年資 : 4
使用版本 : 2010
積分 : 2
經驗值 : 3175
威望值 : 0
注冊日期 : 2008-12-22
男 白羊座 狗

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Sugar 于 周五 6 2月 2009 - 4:35

M大大所說的,正是我一直在苦惱的!
該怎麼找出此圖層裡的圖塊,
是很費功 也很傷腦筋花時間!
無奈啊~~俺就是不會啊~~~~~~~~~~~
感謝M大大和ERIC管^^~
avatar
Sugar
初級會員
初級會員

文章總數 : 57
年齡 : 38
來自 : Taiwan
職業 : 繪圖員
個性 : 樂天派
積分 : 1
經驗值 : 3182
威望值 : 0
注冊日期 : 2008-12-08
女 雙魚座 羊

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Sugar 于 周五 6 2月 2009 - 4:39

eric管 寫到:1.可以在圖層性質管理員
勾選--> 指出使用中的圖層
來確定看看該圖層是否有東西
2. PURGE
這2種都試過了嗎?

那我猜會不會是有屬性圖塊
被設定為不可見
所以造成圖層上有物件但是刪不掉
有檔案比較好測試

是的~~此兩種方法都試過了一一"
avatar
Sugar
初級會員
初級會員

文章總數 : 57
年齡 : 38
來自 : Taiwan
職業 : 繪圖員
個性 : 樂天派
積分 : 1
經驗值 : 3182
威望值 : 0
注冊日期 : 2008-12-08
女 雙魚座 羊

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 danz 于 周五 6 2月 2009 - 4:48

首先我對中文的定義是估計的 ... LAYER = 圖層??

其實 要做到 "圖層與圖塊的整合" 這個工作 ,可以試下 用 EXPRESS TOOL當中有一個 LAYMRG 可以直接把 不同LAYER 的圖像 歸為統一的 LAYER 。

詳細看 EXPRESS TOOL的 HELP 會有仔細介紹和 EXAMPLE 。

如果遇到錯誤等奇奇怪怪問題,有時候可能是 autocad 問題...有沒有試過其他 版本去開此圖,因為愈新愈多問題...

danz
中級會員
中級會員

文章總數 : 88
年齡 : 34
來自 : Hong Kong
職業 : P. A
愛好 : Photographic
個性 : Nil
使用年資 : 10
使用版本 : 2010
積分 : 8
經驗值 : 3165
威望值 : 14
注冊日期 : 2009-02-03
男 獅子座 豬

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Tiger&蘋果爸 于 周五 6 2月 2009 - 6:04

Sugar 寫到:
B.貼複後,執行"EXRF"指令--->載入圖框 出現"此圖塊已存在" **錯誤** , 外部參考的對話視窗裡 卻沒有此圖框的檔名存在!
你應該是說XREF指令吧...
當插入外參考時,圖面中有跟外部參考名稱一樣的圖塊名稱時
就會出現 ** 錯誤:「AB25」在目前圖面中已是標準圖塊。 *無效*

所以請確認你的圖塊名稱!!

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17080
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 63953
威望值 : 12657
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 天空的雲 于 周六 7 2月 2009 - 4:28

類似的問題我也曾經遇到過,不過我的是將圖檔的圖塊,線條,圖層修改成規定的圖層圖塊
在轉換完成後也是有些layer 明明沒有物件了 可是purge不掉
我的方法是將每個圖層wblock出去
再去檢查每個圖檔是否有多餘的圖層

有多於圖層的狀況我遇到的有

1.block的屬性的圖層不同
以下是list的狀況
BLOCK REFERENCE 圖層:「A塊2」 <--圖塊圖層
空間: 模型空間
處理碼 = 128
圖塊名稱: "dg_mk"
在 點, X=198461.858 Y=2614504.718 Z= 0.000
X 比例係數: 3.000
Y 比例係數: 3.000
旋轉角度: 0
Z 比例係數: 1.000

ATTRIBUTE 圖層:「0」 <--屬性圖層
空間: 模型空間
處理碼 = 129
型式 = "LAND_MARK"
字體檔 = txt.shx chineset.shx
中央 點, X=198461.858 Y=2614507.268 Z= 0.000
高度 5.100
值 水
標籤 LANDMARK
旋轉 角度 0
寬度 比例係數 1.000
按下 ENTER 繼續:
傾斜 角度 0
旗標 正常
生成 正常

END SEQUENCE 圖層:「BBB」 <--屬性圖層 請注意圖層與圖塊不一樣
空間: 模型空間
處理碼 = 12c
2.polyline 的圖層與節點的圖層不同(為何有這種情況我也很納悶)
解決方式是將polyline轉換成lwpolyline

POLYLINE 圖層:「TRNAME」 <---此為polyline的圖層
空間: 模型空間
處理碼 = 24c8a
開放
起點寬度 0.000
終點寬度 0.000
面積 7.571
長度 18.562

VERTEX 圖層:「160」 <----此為polyline的節點(圖層與polyline的圖層不同)
空間: 模型空間
處理碼 = 24c8b
於點, X=177079.992 Y=2578893.587 Z=-9999.000
起點寬度 0.000
終點寬度 0.000

VERTEX 圖層:「160」
空間: 模型空間
處理碼 = 24c8d
於點, X=177080.003 Y=2578894.442 Z=-9999.000
按下 ENTER 繼續:
起點寬度 0.000
終點寬度 0.000

VERTEX 圖層:「160」
空間: 模型空間
處理碼 = 24c8e
於點, X=177091.805 Y=2578894.284 Z=-9999.000
起點寬度 0.000
終點寬度 0.000

VERTEX 圖層:「160」
空間: 模型空間
處理碼 = 24c8f
於點, X=177097.708 Y=2578894.206 Z=-9999.000
起點寬度 0.000
終點寬度 0.000

END SEQUENCE 圖層:「TRNAME」
空間: 模型空間
處理碼 = 24c90

天空的雲
中級會員
中級會員

文章總數 : 104
年齡 : 46
來自 : 台中市
職業 : 測量工程,數值地形圖,2D圖
愛好 : 網路小說,遊戲
個性 : 古意
使用年資 : R9至今
使用版本 : 2008為主
積分 : 7
經驗值 : 3349
威望值 : 37
發帖精華 : 1
注冊日期 : 2008-11-11
經典問與答讀者 男 白羊座 豬

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 mars 于 周六 7 2月 2009 - 4:46

就像一道一道的鎖
由裡面往外面鎖
就必須由外面往裡面解

解鈴還需繫鈴人
avatar
mars
高級會員
高級會員

文章總數 : 862
年齡 : 43
來自 : 臺北
職業 : 建築金屬
愛好 : 攝影
個性 : 冒險~愛嚐鮮
使用年資 : 10↑
使用版本 : 2012~2008
積分 : 16
經驗值 : 4325
威望值 : 239
發帖精華 : 1
注冊日期 : 2008-11-21
男 處女座 牛

http://tw.myblog.yahoo.com/mars215_1

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Tiger&蘋果爸 于 周六 7 2月 2009 - 8:39

天空的雲 寫到:類似的問題我也曾經遇到過,不過我的是將圖檔的圖塊,線條,圖層修改成規定的圖層圖塊
在轉換完成後也是有些layer 明明沒有物件了 可是purge不掉
我的方法是將每個圖層wblock出去
再去檢查每個圖檔是否有多餘的圖層
這部分我想是需要看到圖檔檢測才會知道,而且需要有正確的圖塊使用觀念等等!
**************************************
謝謝熱心測試回覆~< 回文 +1>
謝謝囉

[公告]關於團隊成員的回文及貢獻

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17080
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 63953
威望值 : 12657
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Joseph 于 周六 7 2月 2009 - 16:55

提供外掛簡易程式SuperPurge 2.098,去下載試用軟体來使用看看吧!

資料來源:http://blog.sina.com.tw/ccgwh/article.php?pbgid=29201&entryid=574342

Joseph
中級會員
中級會員

文章總數 : 46
年齡 : 49
來自 : taipei
職業 : 建築
個性 : NONE
積分 : 5
經驗值 : 3157
威望值 : 13
注冊日期 : 2009-02-03
團隊聚會勳章 男 摩羯座 羊

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 ㄚ勳 于 周日 8 2月 2009 - 3:10

我的作法是這樣的
我把所需要的圖層和圖
重新拷貝在開一個新的!
然後貼上存檔!原始的砍掉!
就這樣!就不會出現一些奇奇怪怪的圖層了

如果要一個個找出來很困難!我也不知道怎麼找!
我當初有試過一個個開開關關的!
之後部分可以刪除!部分不能刪除!
所以那不能刪除部分我再猜就跟圖層無關!可能跟其他有關
因此我就用最簡單的方式!拷貝、開新檔!貼上!就這樣

ㄚ勳
初級會員
初級會員

文章總數 : 134
年齡 : 35
來自 : AutoCAD指南 奇摩家族
職業 : 機械繪圖員
愛好 : 電腦、兜風
個性 : 隨和
使用年資 : 4year
使用版本 : 2005
積分 : 4
經驗值 : 3450
威望值 : 11
注冊日期 : 2008-05-13
2009團隊聚會勳章 男 水瓶座 狗

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 judyyai 于 周日 8 2月 2009 - 23:14

ㄚ勳 寫到:我的作法是這樣的
我把所需要的圖層和圖
重新拷貝在開一個新的!
然後貼上存檔!原始的砍掉!
就這樣!就不會出現一些奇奇怪怪的圖層了

如果要一個個找出來很困難!我也不知道怎麼找!
我當初有試過一個個開開關關的!
之後部分可以刪除!部分不能刪除!
所以那不能刪除部分我再猜就跟圖層無關!可能跟其他有關
因此我就用最簡單的方式!拷貝、開新檔!貼上!就這樣

感謝分享方法 1
*****************************************************
*恭喜您升等為 初級會員,即日起可以瀏覽功能、資源分享區。記得實現互助精神,有空也來分享一下~*

「說明」顧問論壇等級權限
http://www.autocad-tw.com/forum-f6/topic-t1403.htm


Tiger&amp;蘋果爸 在 周二 10 2月 2009 - 4:22 作了第 1 次修改 (原因 : 升等初級會員)

____________________________________________________________________________________
avatar
judyyai
管理顧問
管理顧問

文章總數 : 7641
年齡 : 40
來自 : 台南
職業 : 機械製圖
愛好 : 電腦相關
個性 : think too much...
使用年資 : 10↑
使用版本 : AC2014(開始於2015九月底)
AutoCAD基礎篇等級 : 10星級
積分 : 392
最佳解答 : 1
經驗值 : 27104
威望值 : 3448
發帖精華 : 2
回帖精華 : 4
注冊日期 : 2008-11-19
2D基礎函授 3D基礎函授 顧問外掛程式 經典問與答讀者 藍鵲2號
2009聚會勳章 串連貼紙成功 女 巨蟹座 蛇

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 天空的雲 于 周三 11 2月 2009 - 0:25

附上一個將各個圖層wblock出去的lisp程式,方便檢查問題
先將圖檔copy到一新的資料中,開啟圖檔之後,再將此lisp程式載入,執行指令是lw
(ps.此板本我是應用在2004,2008的話我不知道wblock指令的回應方式是否有不同,各位大大們試一下吧..)
;
;將各個圖層內的物件wblock出去
;
(defun c:lw2 ()
(setq dwg_fix (getvar "DWGPREFIX"))
(SETQ lay (tblnext "layer" t))
(while (/= lay nil)
(setq lay_da '() lay_date nil)
(setq lay_2 (cdr (assoc 2 lay))) ;;圖層名稱(字串)
(setq sel_layer (ssget "x" (list(cons 8 lay_2))))
(if (/= sel_layer nil)
(progn
(command "-wblock" (strcat dwg_fix lay_2) "" "0,0,0" sel_layer "")
)
)

(SETQ lay (tblnext "layer"))
)
)

(princ "\n 將各個圖層內的物件wblock出去 指令:lw2")

天空的雲
中級會員
中級會員

文章總數 : 104
年齡 : 46
來自 : 台中市
職業 : 測量工程,數值地形圖,2D圖
愛好 : 網路小說,遊戲
個性 : 古意
使用年資 : R9至今
使用版本 : 2008為主
積分 : 7
經驗值 : 3349
威望值 : 37
發帖精華 : 1
注冊日期 : 2008-11-11
經典問與答讀者 男 白羊座 豬

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Sugar 于 周三 11 2月 2009 - 4:03

ㄚ勳 寫到:我的作法是這樣的
我把所需要的圖層和圖
重新拷貝在開一個新的!
然後貼上存檔!原始的砍掉!
就這樣!就不會出現一些奇奇怪怪的圖層了

如果要一個個找出來很困難!我也不知道怎麼找!
我當初有試過一個個開開關關的!
之後部分可以刪除!部分不能刪除!
所以那不能刪除部分我再猜就跟圖層無關!可能跟其他有關
因此我就用最簡單的方式!拷貝、開新檔!貼上!就這樣
這個方法曾經試過 但部份不必要的圖層 依舊無法刪除 主要是屬性圖塊的原因
很感謝你的回答^^~
avatar
Sugar
初級會員
初級會員

文章總數 : 57
年齡 : 38
來自 : Taiwan
職業 : 繪圖員
個性 : 樂天派
積分 : 1
經驗值 : 3182
威望值 : 0
注冊日期 : 2008-12-08
女 雙魚座 羊

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Sugar 于 周三 11 2月 2009 - 4:04

danz 寫到:首先我對中文的定義是估計的 ... LAYER = 圖層??

其實 要做到 "圖層與圖塊的整合" 這個工作 ,可以試下 用 EXPRESS TOOL當中有一個 LAYMRG 可以直接把 不同LAYER 的圖像 歸為統一的 LAYER 。

詳細看 EXPRESS TOOL的 HELP 會有仔細介紹和 EXAMPLE 。

如果遇到錯誤等奇奇怪怪問題,有時候可能是 autocad 問題...有沒有試過其他 版本去開此圖,因為愈新愈多問題...

sorry~express tool 我沒有用過 ...還是很感謝你的回答!!^^~
avatar
Sugar
初級會員
初級會員

文章總數 : 57
年齡 : 38
來自 : Taiwan
職業 : 繪圖員
個性 : 樂天派
積分 : 1
經驗值 : 3182
威望值 : 0
注冊日期 : 2008-12-08
女 雙魚座 羊

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Sugar 于 周三 11 2月 2009 - 4:08

天空的雲 寫到:附上一個將各個圖層wblock出去的lisp程式,方便檢查問題
先將圖檔copy到一新的資料中,開啟圖檔之後,再將此lisp程式載入,執行指令是lw
(ps.此板本我是應用在2004,2008的話我不知道wblock指令的回應方式是否有不同,各位大大們試一下吧..)
;
;將各個圖層內的物件wblock出去
;
(defun c:lw2 ()
(setq dwg_fix (getvar "DWGPREFIX"))
(SETQ lay (tblnext "layer" t))
(while (/= lay nil)
(setq lay_da '() lay_date nil)
(setq lay_2 (cdr (assoc 2 lay))) ;;圖層名稱(字串)
(setq sel_layer (ssget "x" (list(cons 8 lay_2))))
(if (/= sel_layer nil)
(progn
(command "-wblock" (strcat dwg_fix lay_2) "" "0,0,0" sel_layer "")
)
)

(SETQ lay (tblnext "layer"))
)
)

(princ "\n 將各個圖層內的物件wblock出去 指令:lw2")

QQ 小妹才學粗淺 看不太懂此方法 頭暈目眩
這個方法是要找出隱藏在圖層裡的圖塊嗎??
avatar
Sugar
初級會員
初級會員

文章總數 : 57
年齡 : 38
來自 : Taiwan
職業 : 繪圖員
個性 : 樂天派
積分 : 1
經驗值 : 3182
威望值 : 0
注冊日期 : 2008-12-08
女 雙魚座 羊

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 judyyai 于 周三 11 2月 2009 - 9:11

天空的雲 寫到:附上一個將各個圖層wblock出去的lisp程式,方便檢查問題
先將圖檔copy到一新的資料中,開啟圖檔之後,再將此lisp程式載入,執行指令是lw
(ps.此板本我是應用在2004,2008的話我不知道wblock指令的回應方式是否有不同,各位大大們試一下吧..)
;
;將各個圖層內的物件wblock出去
;
(defun c:lw2 ()
(setq dwg_fix (getvar "DWGPREFIX"))
(SETQ lay (tblnext "layer" t))
(while (/= lay nil)
(setq lay_da '() lay_date nil)
(setq lay_2 (cdr (assoc 2 lay))) ;;圖層名稱(字串)
(setq sel_layer (ssget "x" (list(cons 8 lay_2))))
(if (/= sel_layer nil)
(progn
(command "-wblock" (strcat dwg_fix lay_2) "" "0,0,0" sel_layer "")
)
)

(SETQ lay (tblnext "layer"))
)
)

(princ "\n 將各個圖層內的物件wblock出去 指令:lw2")


TO:天空的雲
經過測試!AUTOCAD 2006與2008 與 20009版 使用是OK的!
不過指令名稱要改一下如上綠色字體(我是改成LW2),因為lw=LWEIGHT 內建簡稱指令(線寬設定值)


TO:Sugar
這個lsp,可以把此張圖所有有分圖層的圖另存成新圖檔(就是WBLOCK出去)
例如:你的A圖 有5個圖層分別是(A1.A2.A3.A4.A5)
載入此LSP,可以把5個圖層,分成A1.A2.A3.A4.A5 5張圖
A1的圖就是你當初用A圖,套成A1圖層,只是另存成一張新圖名為A1...以此類堆

你只要把 天空的雲 所貼的(defun c:lw2 ()~~直到(princ "\n 將各個圖層內的物件wblock出去 指令:lw2") [如上藍色字體複製]
都複製起來,貼到記事本,檔案存成 LW2.LSP
再用指令:APPLOAD載入此 LSP 後,指令:LW2 就可以用!
注意:LW2完後,A圖將是空的,請注意!最好將原圖複製出來測試,避免原圖之圖遺失

這樣子你應可以知道那些線條是使用那個圖層
不懂再問!


Tiger&amp;蘋果爸 在 周一 16 2月 2009 - 8:05 作了第 3 次修改 (原因 : 補充版本測試說明...by 2009.02.12)

____________________________________________________________________________________
avatar
judyyai
管理顧問
管理顧問

文章總數 : 7641
年齡 : 40
來自 : 台南
職業 : 機械製圖
愛好 : 電腦相關
個性 : think too much...
使用年資 : 10↑
使用版本 : AC2014(開始於2015九月底)
AutoCAD基礎篇等級 : 10星級
積分 : 392
最佳解答 : 1
經驗值 : 27104
威望值 : 3448
發帖精華 : 2
回帖精華 : 4
注冊日期 : 2008-11-19
2D基礎函授 3D基礎函授 顧問外掛程式 經典問與答讀者 藍鵲2號
2009聚會勳章 串連貼紙成功 女 巨蟹座 蛇

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Sugar 于 周三 11 2月 2009 - 15:47

喔~~~清楚了^^~
感謝天空和JUDY
avatar
Sugar
初級會員
初級會員

文章總數 : 57
年齡 : 38
來自 : Taiwan
職業 : 繪圖員
個性 : 樂天派
積分 : 1
經驗值 : 3182
威望值 : 0
注冊日期 : 2008-12-08
女 雙魚座 羊

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 天空的雲 于 周四 12 2月 2009 - 0:54

judyyai 寫到:TO:天空的雲
經過測試!AUTOCAD 2006與2008 與 20009版 使用是OK的!
不過指令名稱要改一下如上綠色字體(我是改成LW2),因為lw=LWEIGHT 內建簡稱指令(線寬設定值)


感謝顧問的測試

指令名稱是隨便取的可以修改的(我自己的檔案是tmp ^^)

天空的雲
中級會員
中級會員

文章總數 : 104
年齡 : 46
來自 : 台中市
職業 : 測量工程,數值地形圖,2D圖
愛好 : 網路小說,遊戲
個性 : 古意
使用年資 : R9至今
使用版本 : 2008為主
積分 : 7
經驗值 : 3349
威望值 : 37
發帖精華 : 1
注冊日期 : 2008-11-11
經典問與答讀者 男 白羊座 豬

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 Tiger&蘋果爸 于 周一 16 2月 2009 - 8:06

天空的雲 寫到:附上一個將各個圖層wblock出去的lisp程式,方便檢查問題
先將圖檔copy到一新的資料中,開啟圖檔之後,再將此lisp程式載入,執行指令是lw
(ps.此板本我是應用在2004,2008的話我不知道wblock指令的回應方式是否有不同,各位大大們試一下吧..)
;
;將各個圖層內的物件wblock出去
;
(defun c:lw2 ()
(setq dwg_fix (getvar "DWGPREFIX"))
(SETQ lay (tblnext "layer" t))
(while (/= lay nil)
(setq lay_da '() lay_date nil)
(setq lay_2 (cdr (assoc 2 lay))) ;;圖層名稱(字串)
(setq sel_layer (ssget "x" (list(cons 8 lay_2))))
(if (/= sel_layer nil)
(progn
(command "-wblock" (strcat dwg_fix lay_2) "" "0,0,0" sel_layer "")
)
)

(SETQ lay (tblnext "layer"))
)
)

(princ "\n 將各個圖層內的物件wblock出去 指令:lw2")
******************************************************
讚啦!! 謝謝熱心程式分享~< 積分 +1>

[公告]關於團隊成員的回文及貢獻

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17080
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 63953
威望值 : 12657
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

回復: *[已解決]無法刪除的圖層(LISP:將各個圖層內的物件wblock出去)

發表 由 smallworm16 于 周四 16 7月 2009 - 6:27

又學到一個新的指令"Purge",用了之後刪掉很多不必要的東西,檔案變小了,開圖也變快了~~
avatar
smallworm16
初級會員
初級會員

文章總數 : 57
年齡 : 33
來自 : 新竹
職業 :
愛好 :
個性 : 內向
使用年資 : 5
使用版本 : 2008
積分 : 1
經驗值 : 3088
威望值 : -1
未回應主題 : 1
注冊日期 : 2009-05-20
男 巨蟹座 鼠

回頂端 向下

上一篇主題 下一篇主題 回頂端


 
這個論壇的權限:
無法 在這個版面回復文章