[討論]大量變更圖層時可以保留原圖層的顏色嗎?
+7
Tanya
greetingsfromtw
tan866
annwer
Tiger&蘋果爸
leoneriol
jl64721
11 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 2D討論
第1頁(共1頁)
[討論]大量變更圖層時可以保留原圖層的顏色嗎?
一般我都習慣建一個底圖層用灰色但重要部分希望保留原稿原色,以辨識圖,檔案也較小
請問能變更圖層時可以保留原圖層的顏色嗎?
請問能變更圖層時可以保留原圖層的顏色嗎?
jl64721- 一般會員
- 文章總數 : 23
年齡 : 49
來自 : 桃園市
職業 : 金屬工程繪圖
愛好 : 音樂
個性 : 開朗
使用年資 : 20
使用版本 : 2021
經驗值 : 4678
威望值 : 0
注冊日期 : 2012-06-16
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
兩個我自己做的 lisp程式分享jl64721 寫到:一般我都習慣建一個底圖層用灰色但重要部分希望保留原稿原色,以辨識圖,檔案也較小
請問能變更圖層時可以保留原圖層的顏色嗎?
1.將物件顏色為BYLAYER的物件更改成所屬圖層的顏色(changcolortoobj指令)
- 代碼:
(defun c:changcolortoobj()
(vl-load-com)
(get_lay_data_list)
(sub-xl-test3)
(prin1)
)
(defun sub-xl-test3()
(foreach lista lay_data_list
;(setq lista (car lay_data_list))
(setq lco (cadr lista))
(setq lay (car lista))
(setq objs (ssget "X" (list (cons 8 lay))))
(if (/= objs nil)
(progn
(setq i 0)
(repeat (sslength objs)
(setq obj (ssname objs i))
;;; (setq obj (car (entsel "\n選取物件查看VLA性質資料:")))
;;; (setq ltp "HIDDEN")
(setq xobj (vlax-ename->vla-object obj))
(if (= (vla-get-color xobj) 256)
(vla-put-color xobj lco)
)
(setq i (1+ i))
)
)
)
)
)
(defun get_lay_data_list()
(setq acadobj(vlax-get-acad-object))
(setq dwgobj(vla-get-activedocument acadobj))
(setq layobj(vla-get-layers dwgobj))
(setq lay_data_list nil)
(vlax-for obj layobj
(setq name(vla-get-name obj))
(setq color(vla-get-color obj))
(setq ltype(vla-get-linetype obj))
(setq lay_data_list(cons (list name color ltype) lay_data_list))
)
(setq lay_data_list(vl-sort lay_data_list
'(lambda(lst1 lst2)(< (car lst1)(car lst2)))
)
)
)
- 代碼:
(defun c:changlintypetoobj()
(vl-load-com)
(get_lay_data_list)
(sub-xl-test3)
(prin1)
)
(defun sub-xl-test3()
(foreach lista lay_data_list
;(setq lista (car lay_data_list))
(setq ltp (caddr lista))
(setq lay (car lista))
(setq objs (ssget "X" (list (cons 8 lay))))
(if (/= objs nil)
(progn
(setq i 0)
(repeat (sslength objs)
(setq obj (ssname objs i))
;;; (setq obj (car (entsel "\n選取物件查看VLA性質資料:")))
;;; (setq ltp "HIDDEN")
(setq xobj (vlax-ename->vla-object obj))
(if (= (vla-get-linetype xobj) "BYLAYER")
(vla-put-linetype xobj ltp)
)
(setq i (1+ i))
)
)
)
)
)
(defun get_lay_data_list()
(setq acadobj(vlax-get-acad-object))
(setq dwgobj(vla-get-activedocument acadobj))
(setq layobj(vla-get-layers dwgobj))
(setq lay_data_list nil)
(vlax-for obj layobj
(setq name(vla-get-name obj))
(setq color(vla-get-color obj))
(setq ltype(vla-get-linetype obj))
(setq lay_data_list(cons (list name color ltype) lay_data_list))
)
(setq lay_data_list(vl-sort lay_data_list
'(lambda(lst1 lst2)(< (car lst1)(car lst2)))
)
)
)
leoneriol- 榮譽顧問
- 文章總數 : 818
年齡 : 40
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 9200
威望值 : 960
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
補充: 將兩隻程式分別都執行過之後,再將所有物件改到您所建立的底圖圖層,線型及顏色就都不會變動,但是如果要達到您所要求的只有重要區域不改變顏色的話,您還得手動把不重要的區域挑選出來改成不重要的顏色囉~!
leoneriol- 榮譽顧問
- 文章總數 : 818
年齡 : 40
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 9200
威望值 : 960
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
感恩 leoneriol 提供進階的程式作法,我這裡提供AutoCAD內建的功能「圖層狀態管理員」。
工作階段中的「圖層顏色」有時需反覆變更,您可以透過「記憶圖層顏色」方式,日後可以隨時存取「圖層顏色」狀態。
相關主題:[影片]圖層狀態管理員 - 記憶圖層開關
另外,jl64721您的底圖應該是使用「圖塊」方式,通常我會建議底圖使用「外部參考」插入,檔案不會變大而且隨時可以還原圖層的顏色喔。
工作階段中的「圖層顏色」有時需反覆變更,您可以透過「記憶圖層顏色」方式,日後可以隨時存取「圖層顏色」狀態。
相關主題:[影片]圖層狀態管理員 - 記憶圖層開關
另外,jl64721您的底圖應該是使用「圖塊」方式,通常我會建議底圖使用「外部參考」插入,檔案不會變大而且隨時可以還原圖層的顏色喔。
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
哇~~~~原來還有這樣的方式!!又學到一招!!
annwer- 一般會員
- 文章總數 : 55
年齡 : 42
來自 : 新北市
職業 : 剛進CAM行業~~
愛好 : 電影
個性 : 宅
使用年資 : 4年
使用版本 : 2010
經驗值 : 5292
威望值 : 72
注冊日期 : 2011-03-21
黃智偉 likes this post
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
感恩 leoneriol 提供程序,學習了!
tan866- 初級會員
- 文章總數 : 79
年齡 : 47
來自 : 高雄
職業 : 繪圖
愛好 : 騎腳踏車
個性 : 開朗
使用年資 : 5
使用版本 : 2008
積分 : 1
經驗值 : 5554
威望值 : 47
注冊日期 : 2010-10-24
lisp 使用了但還是一樣無法保留原色
把LISP貼到AUTOCAD2010.lisp最下面一行 然後開啟時指令輸入(LOAD "autocad2010.lisp")
或是把LISP貼到指令執行
2種方法都試過了還是無法保留原色
或是把LISP貼到指令執行
2種方法都試過了還是無法保留原色
jl64721- 一般會員
- 文章總數 : 23
年齡 : 49
來自 : 桃園市
職業 : 金屬工程繪圖
愛好 : 音樂
個性 : 開朗
使用年資 : 20
使用版本 : 2021
經驗值 : 4678
威望值 : 0
注冊日期 : 2012-06-16
更正是在指令列輸入 (load "acad2010.lsp) 還是無法保留原色
更正是在指令列輸入 (load "acad2010.lsp) 還是無法保留原色
他會出現GET_LAY_DATA_LIST
載入成功了但還是底圖的顏色無法保留原圖層之顏色
他會出現GET_LAY_DATA_LIST
載入成功了但還是底圖的顏色無法保留原圖層之顏色
jl64721- 一般會員
- 文章總數 : 23
年齡 : 49
來自 : 桃園市
職業 : 金屬工程繪圖
愛好 : 音樂
個性 : 開朗
使用年資 : 20
使用版本 : 2021
經驗值 : 4678
威望值 : 0
注冊日期 : 2012-06-16
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
哪位大大來幫幫我吧!?我覺得我看不懂jl64721大哥所想要傳遞給我的資訊.....jl64721 寫到:把LISP貼到AUTOCAD2010.lisp最下面一行 然後開啟時指令輸入(LOAD "autocad2010.lisp")
或是把LISP貼到指令執行
2種方法都試過了還是無法保留原色
leoneriol- 榮譽顧問
- 文章總數 : 818
年齡 : 40
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 9200
威望值 : 960
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
不知ji64721大的意思是否為,若有誤解還請指正,
原圖的物件有很多種顏色,
現在想把原圖的物件全都放到一個圖層,做為所謂的底圖層,而這個底圖層的顏色是灰色.
以前在事務所有遇過這樣的需求,就是要把一大堆物件全都放到一個灰色圖層做為底圖.
但ji64721大可能是希望不要全部放在灰色底圖層的物件都變灰色,
而是不重要的地方才變灰色,其它重要的地方保持它的原色.
蘋果爸 跟leoneriol大大 提供的方式都很棒 ,應該都能達到j大的要求才是.
因為蘋果爸的教學影片已經很詳細了,若照影片操作應該不會有啥問題.
文末蘋果爸亦有提到使用外部參考,這招不知j大是否有試過?
若是使用lisp,
我在猜想會不會是j大在執行lisp的過程遇到甚麼問題,導致沒有達到
lisp應該可達到的效果.
j大是否方便把操作的步驟一個一個詳細描述,這樣大大們才有辦法解決你的問題,
小弟也才有辦法在旁邊偷學到更多東西(喂).
若能貼圖片上來更棒.
以上胡亂講講僅供參考,勿怪(汗)
原圖的物件有很多種顏色,
現在想把原圖的物件全都放到一個圖層,做為所謂的底圖層,而這個底圖層的顏色是灰色.
以前在事務所有遇過這樣的需求,就是要把一大堆物件全都放到一個灰色圖層做為底圖.
但ji64721大可能是希望不要全部放在灰色底圖層的物件都變灰色,
而是不重要的地方才變灰色,其它重要的地方保持它的原色.
蘋果爸 跟leoneriol大大 提供的方式都很棒 ,應該都能達到j大的要求才是.
因為蘋果爸的教學影片已經很詳細了,若照影片操作應該不會有啥問題.
文末蘋果爸亦有提到使用外部參考,這招不知j大是否有試過?
若是使用lisp,
我在猜想會不會是j大在執行lisp的過程遇到甚麼問題,導致沒有達到
lisp應該可達到的效果.
j大是否方便把操作的步驟一個一個詳細描述,這樣大大們才有辦法解決你的問題,
小弟也才有辦法在旁邊偷學到更多東西(喂).
若能貼圖片上來更棒.
以上胡亂講講僅供參考,勿怪(汗)
greetingsfromtw- 初級會員
- 文章總數 : 222
年齡 : 40
來自 : 高雄
職業 : CAD菜鳥繪圖員
愛好 : 吃好吃的東西
個性 : 文靜
使用年資 : 不到兩年
使用版本 : 公司為2008,家中為2011
積分 : 3
經驗值 : 5814
威望值 : 189
注冊日期 : 2012-05-02
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
jl64721應該是想要掛入程式,但是失敗了~leoneriol 寫到:哪位大大來幫幫我吧!?我覺得我看不懂jl64721大哥所想要傳遞給我的資訊.....
leoneriol提供的程式,不是放在 acad2010.lsp 裡,請按照以下方式掛入LSP或是直接下載。jl64721 寫到:更正是在指令列輸入 (load "acad2010.lsp) 還是無法保留原色
他會出現GET_LAY_DATA_LIST
載入成功了但還是底圖的顏色無法保留原圖層之顏色
步驟1.請將leoneriol提供的程式分別儲存成
changcolortoobj.lsp
changlintypetoobj.lsp
▼程式下載:
https://app.box.com/s/2fpm2vj5qv6p55ddvbv4
步驟2.再來將兩支程式需掛入到AutoCAD中,請參考以下教學文章。
「教學」載入LISP應用程式 APPLOAD指令
步驟3.日後即可使用以下指令
changcolortoobj指令
changlintypetoobj指令
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
我把圖層狀態管理員,作為圖面有問題的地方,沒問題的用灰色,對方收到時也容易看出來,減少雞同鴨講,避免爭吵...
Tanya- 榮譽顧問
- 文章總數 : 384
年齡 : 50
來自 : 埔里鎮
職業 : 服務業
愛好 : 畫圖&音樂&大自然
個性 : 隨和
使用年資 : 2年
使用版本 : MAP 2011
積分 : 28
最佳解答 : 1
經驗值 : 7472
威望值 : 745
注冊日期 : 2010-03-06
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
這真好用啊,不用每次慢慢轉回,謝謝企分享
200158693- 一般會員
- 文章總數 : 8
年齡 : 54
來自 : hk
職業 : 文員
愛好 : 攝影,畫畫
個性 : 開朗,斯文有禮
使用年資 : 2
使用版本 : 2012
經驗值 : 4599
威望值 : 0
注冊日期 : 2012-05-20
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
太棒了!!影片真的很好懂~
glzera- 初級會員
- 文章總數 : 86
年齡 : 40
來自 : 台灣
職業 : 室內設計師
愛好 : 討論設計
個性 : 直
使用年資 : 10
使用版本 : 2010
積分 : 1
經驗值 : 5870
威望值 : 30
注冊日期 : 2009-12-23
回復: [討論]大量變更圖層時可以保留原圖層的顏色嗎?
我也是用 蘋果爸 這個方法在用 呵呵 很方便!!
changcjj- 初級會員
- 文章總數 : 43
年齡 : 40
來自 : 新北市
職業 : 工程師(設備、管線)
愛好 : 運動
個性 : 幽默風趣
使用年資 : 唸書至今
使用版本 : 2010
積分 : 2
最佳解答 : 2
經驗值 : 4371
威望值 : 104
注冊日期 : 2013-08-30
f537964- 初級會員
- 文章總數 : 28
年齡 : 45
來自 : 台北
職業 : 繪圖人員
愛好 : 看電影.上網
個性 : 隨和
使用年資 : 20
使用版本 : 2020
積分 : 1
經驗值 : 5295
威望值 : 18
注冊日期 : 2010-10-05
感謝分享
感謝分享
謝謝...
謝謝...
f537964- 初級會員
- 文章總數 : 28
年齡 : 45
來自 : 台北
職業 : 繪圖人員
愛好 : 看電影.上網
個性 : 隨和
使用年資 : 20
使用版本 : 2020
積分 : 1
經驗值 : 5295
威望值 : 18
注冊日期 : 2010-10-05
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 2D討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章