[討論]執行完繪圖指令後將物件放置預設的圖層
+32
asd601023
shackle_2005
ray63
qaz914133
zirca
id66fion
ming1789
ccsu009
ShineHo
老水牛
wu200090
DARDAR
lingo_st
djh1006
chengshunyi
希卡亞
hsian
vl7120
enemaman
妤璇
anais99
張譽璋
ginse0727
adslwang
sammi0322
verlth
明~
bruce79
judyyai
DevilWang
Tiger&蘋果爸
leoneriol
36 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共3頁)
[討論]執行完繪圖指令後將物件放置預設的圖層
- 代碼:
(defun c:1a();;線性
(setvar "cmdecho" 0);關閉LISP在指令區的操綽回應
(setq oldlay (getvar "clayer"));取出舊圖層設定值
(setq oldos (getvar "osmode"));取出舊物件鎖點設定值
(setvar "osmode" 0);關閉物件鎖點*避免物件鎖點干擾
(command "-layer" "s" "標註" "")
(command "_dimlinear" pause pause pause)
(setvar "clayer" oldlay);還原圖層
(setvar "osmode" oldos);還原物件鎖點設定
(setvar "cmdecho" 1);還原LISP在指令區的操綽回應
(prin1)
)
但是我主要碰的的問題是(command "_dimlinear" pause pause pause)
一次pause可以讓使用者輸入一次,但是如果我想要使用無限次的話要怎麼呢??
又萬一我想要用線性標註指令內的文字取代的話我又應該如何處理比較好??
此程式是小弟目前在幫做室內設計的朋友寫的,
他的需求其實只是希望能有個按鈕或指令,
在他畫標註(dimlinear),柱子(pline)或是牆(line)的時圖層自動跑去相對應的圖層
不知道前輩有沒有甚麼建議或是意見能提供呢?
Tiger&蘋果爸 在 2010-05-26, 12:39 作了第 2 次修改 (原因 : 此主題為[討論]類型)
leoneriol- 榮譽顧問
- 文章總數 : 818
年齡 : 40
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 9216
威望值 : 960
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
我覺得可以不使用程式來滿足~在他畫標註(dimlinear),柱子(pline)或是牆(line)的時圖層自動跑去相對應的圖層
不知道前輩有沒有甚麼建議或是意見能提供呢?
以下方式你參考看看!!
1.按鈕的方式可以試試工具選項板:
https://www.autocad-tw.com/t4028-topic
2.也可以使用巨集的方式加在CUI按鈕中!!
將巨集加在指令前面(以線性標註為例):
^C^C-LAYER;M;S-DIM;C;2;;;_dimlinear;
Tiger&蘋果爸 在 2022-08-12, 16:25 作了第 1 次修改
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
補充:指令的方式
(DEFUN C:DD () (SETVAR "CMDECHO" 0) (SETQ OLDLAYEAR (GETVAR "CLAYER")) (PROMPT "線性標註") (command "layer" "make" "標註" "color" 1 "" "") (COMMAND "DIMLINEAR") (SETVAR "CLAYER" OLDLAYEAR) (PRIN1))
(DEFUN C:DD () (SETVAR "CMDECHO" 0) (SETQ OLDLAYEAR (GETVAR "CLAYER")) (PROMPT "線性標註") (command "layer" "make" "標註" "color" 1 "" "") (COMMAND "DIMLINEAR") (SETVAR "CLAYER" OLDLAYEAR) (PRIN1))
Tiger&蘋果爸 在 2010-05-31, 14:49 作了第 2 次修改 (原因 : 補充影片)
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
目前是選用指令的方式.....但是令人煩惱的是(COMMAND "DIMLINEAR") 執行之後(SETVAR "CLAYER" OLDLAYEAR)這一行馬上就跟著執行了,Tiger&蘋果爸 寫到:補充:指令的方式
(DEFUN C:DD () (SETVAR "CMDECHO" 0) (SETQ OLDLAYEAR (GETVAR "CLAYER")) (PROMPT "線性標註") (command "layer" "make" "標註" "color" 1 "" "") (COMMAND "DIMLINEAR") (SETVAR "CLAYER" OLDLAYEAR) (PRIN1))
這點讓我很困擾..不知道各位前輩有甚麼好方式能解決呢?
Tiger&蘋果爸 在 2010-05-31, 14:47 作了第 1 次修改 (原因 : 更正筆誤)
leoneriol- 榮譽顧問
- 文章總數 : 818
年齡 : 40
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 9216
威望值 : 960
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
你是說想要重複執行標註指令,直到你按ENTER後再還原圖層狀態嗎!!leoneriol 寫到:目前是選用指令的方式.....但是令人煩惱的是(COMMAND "DIMLINEAR") 執行之後(SETVAR "CLAYER" OLDLAYEAR)這一行馬上就跟著執行了,Tiger&蘋果爸 寫到:補充:指令的方式
(DEFUN C:DD () (SETVAR "CMDECHO" 0) (SETQ OLDLAYEAR (GETVAR "CLAYER")) (PROMPT "線性標註") (command "layer" "make" "標註" "color" 1 "" "") (COMMAND "DIMLINEAR") (SETVAR "CLAYER" OLDLAYEAR) (PRIN1))
這點讓我很困擾..不知道各位前輩有甚麼好方式能解決呢?
Tiger&蘋果爸 在 2010-05-31, 14:48 作了第 1 次修改
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
對對對!!!!Tiger&蘋果爸 寫到:
你是說想要重複執行標註指令,直到你按ENTER後再還原圖層狀態嗎!!
腦袋已經亂到話都說不清楚了
真是不好意思...
厲害...蘋果爸您是怎麼辦到的?
竅門到底在哪呢?怎麼我都還需要使用 pause ??
leoneriol- 榮譽顧問
- 文章總數 : 818
年齡 : 40
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 9216
威望值 : 960
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
稍加修改了之前的程式!leoneriol 寫到:對對對!!!!Tiger&蘋果爸 寫到:
你是說想要重複執行標註指令,直到你按ENTER後再還原圖層狀態嗎!!
腦袋已經亂到話都說不清楚了
真是不好意思...
厲害...蘋果爸您是怎麼辦到的?
竅門到底在哪呢?怎麼我都還需要使用 pause ??
只能滿足 線性標註 用,提供給你參考~
Tiger&蘋果爸 在 2010-05-31, 14:49 作了第 1 次修改 (原因 : 更正筆誤)
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
leoneriol,下圖是否為你想要的結果?
如果是的話,可以參考以下流程(紅色字為關鍵 Function,請先研究),如有問題再行研究討論(你好像正在研讀Lisp吧)。
*回覆可見*
如果是的話,可以參考以下流程(紅色字為關鍵 Function,請先研究),如有問題再行研究討論(你好像正在研讀Lisp吧)。
*回覆可見*
DevilWang- 高級會員
- 文章總數 : 113
年齡 : 57
來自 : 台北
職業 : AEC
愛好 : Thinking...
個性 : 閒散
使用年資 : 25↑
使用版本 : 2012
積分 : 15
經驗值 : 6070
威望值 : 355
發帖精華 : 1
回帖精華 : 3
注冊日期 : 2010-03-29
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
系統變數 e**** 這是好東西阿~~~
AutoCAD所有的ErrorCode都可以從這變數抓到......感謝指導,又學到新東西了
能有受到有經驗的前輩指導真是件幸福的事情阿......
目前我正在研究ErrorCode中,
直覺把他寫成附程式的話會有很大的幫助
到時候在跟各位分享研究成果
電腦有個奇怪的狀況....
有時候指令執行完並不會跳回原來使用的圖層
反覆觀看蘋果爸的程式和影片,再和我自己的做比較...
實在是搞不懂原因出在哪裡
另外我注意到"工具選項板"完全能達到我的需求,只差不能使用指令輸入而已
尤其是在使用連續式標註的時候功能更完整完善
自己寫的連續式標註在執行上卻總是出問題....
像是連續標註標到第三到第四個之後圖層就又跑回去oldlayer,這種令人納悶的問題..冏
AutoCAD所有的ErrorCode都可以從這變數抓到......感謝指導,又學到新東西了
能有受到有經驗的前輩指導真是件幸福的事情阿......
目前我正在研究ErrorCode中,
直覺把他寫成附程式的話會有很大的幫助
到時候在跟各位分享研究成果
電腦有個奇怪的狀況....
有時候指令執行完並不會跳回原來使用的圖層
反覆觀看蘋果爸的程式和影片,再和我自己的做比較...
實在是搞不懂原因出在哪裡
另外我注意到"工具選項板"完全能達到我的需求,只差不能使用指令輸入而已
尤其是在使用連續式標註的時候功能更完整完善
自己寫的連續式標註在執行上卻總是出問題....
像是連續標註標到第三到第四個之後圖層就又跑回去oldlayer,這種令人納悶的問題..冏
leoneriol- 榮譽顧問
- 文章總數 : 818
年齡 : 40
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 9216
威望值 : 960
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
蘋果爸的 Lisp 應該是經過簡化了。
使用程式可能需注意兩點:
1. 儲存目前圖層變數
2. 使用時按 Enter 中斷時機須在出現"指定第二條延伸線原點"時,才能回到原圖層。
以下是根據你的程式稍加調整的(按 Esc 中斷),提供參考。
(程式回覆可見)
使用程式可能需注意兩點:
1. 儲存目前圖層變數
2. 使用時按 Enter 中斷時機須在出現"指定第二條延伸線原點"時,才能回到原圖層。
以下是根據你的程式稍加調整的(按 Esc 中斷),提供參考。
(程式回覆可見)
DevilWang- 高級會員
- 文章總數 : 113
年齡 : 57
來自 : 台北
職業 : AEC
愛好 : Thinking...
個性 : 閒散
使用年資 : 25↑
使用版本 : 2012
積分 : 15
經驗值 : 6070
威望值 : 355
發帖精華 : 1
回帖精華 : 3
注冊日期 : 2010-03-29
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
DevilWang 寫到:蘋果爸的 Lisp 應該是經過簡化了。
使用程式可能需注意兩點:
1. 儲存目前圖層變數
2. 使用時按 Enter 中斷時機須在出現"指定第二條延伸線原點"時,才能回到原圖層。
以下是根據你的程式稍加調整的(按 Esc 中斷),提供參考。
(程式回覆可見)
隨然不是很懂LISP 但是程式名稱 取做LA,跟內定強碰
- 代碼:
指令: la
LAYER
judyyai- 管理顧問
- 文章總數 : 7786
年齡 : 47
來自 : 台南
職業 : 機械製圖
愛好 : 電腦相關
個性 : think too much...
使用年資 : 10↑
使用版本 : AC2019(開始於2019年底末月)
AutoCAD基礎篇等級 : 10星級
積分 : 393
最佳解答 : 1
經驗值 : 30458
威望值 : 3607
發帖精華 : 2
回帖精華 : 4
注冊日期 : 2008-11-19
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
judyyai 寫到:
隨然不是很懂LISP 但是程式名稱 取做LA,跟內定強碰
- 代碼:
指令: la
LAYER
呵呵! Judy可能要多休息了,工作過度勞累,眼睛看花了。(開個玩笑...)
leoneriol的指令是 1A,不是 LA啦。
DevilWang- 高級會員
- 文章總數 : 113
年齡 : 57
來自 : 台北
職業 : AEC
愛好 : Thinking...
個性 : 閒散
使用年資 : 25↑
使用版本 : 2012
積分 : 15
經驗值 : 6070
威望值 : 355
發帖精華 : 1
回帖精華 : 3
注冊日期 : 2010-03-29
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
DevilWang 寫到:judyyai 寫到:
隨然不是很懂LISP 但是程式名稱 取做LA,跟內定強碰
- 代碼:
指令: la
LAYER
呵呵! Judy可能要多休息了,工作過度勞累,眼睛看花了。(開個玩笑...)
leoneriol的指令是 1A,不是 LA啦。
原來是1A阿~我真的看花了~不過我有改成自己想的名稱~
真是抱歉~誤會了~
judyyai- 管理顧問
- 文章總數 : 7786
年齡 : 47
來自 : 台南
職業 : 機械製圖
愛好 : 電腦相關
個性 : think too much...
使用年資 : 10↑
使用版本 : AC2019(開始於2019年底末月)
AutoCAD基礎篇等級 : 10星級
積分 : 393
最佳解答 : 1
經驗值 : 30458
威望值 : 3607
發帖精華 : 2
回帖精華 : 4
注冊日期 : 2008-11-19
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
lisp還有這樣
的確會讓我們在程序上少了幾個步驟喔
感謝分享
的確會讓我們在程序上少了幾個步驟喔
感謝分享
bruce79- 初級會員
- 文章總數 : 186
年齡 : 45
來自 : 南投
職業 : 工程師
愛好 : 運動
個性 : O型-樂觀
使用年資 : 5年
使用版本 : 2008
積分 : 3
經驗值 : 6534
威望值 : 117
未回應主題 : 1
注冊日期 : 2008-09-12
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
我也認同蘋果爸說的~
用巨集就可以實現你要的~
如果不習慣按鈕,那就加上快速鍵即可~
用巨集就可以實現你要的~
如果不習慣按鈕,那就加上快速鍵即可~
明~- 高級會員
- 文章總數 : 307
年齡 : 44
來自 : 彰化
職業 : 機械
愛好 : 打球 騎車 健行 音樂 電影 (說不完...)
個性 : 不與人爭
使用年資 : 從學生時代接觸到現在(工作中不一定使用)
使用版本 : 2004和2008
積分 : 17
經驗值 : 7211
威望值 : 667
注冊日期 : 2009-12-24
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
是的!我沒有加入副程式。DevilWang 寫到:蘋果爸的 Lisp 應該是經過簡化了。
使用程式可能需注意兩點:
1. 儲存目前圖層變數
2. 使用時按 Enter 中斷時機須在出現"指定第二條延伸線原點"時,才能回到原圖層。
一般寫程式要考量到不同使用者的使用情況,所以都會加入副程式來除錯!
所以使用DevilWang的程式是較完整的寫法~
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
蘋果爸你誤會了。
之所以會認為你的程式有所簡化,是因為在你的程式中似乎未看到儲存目前圖層的動作,並非指未加入防止錯誤的副程式。
一般的 Lisp 小程式多只是特定功能或簡化某些繁瑣的動作的獨立程式,是否需要嚴謹的考慮程式寫法、整體與區域變數等等,是見仁見智。
前篇發文是針對為何會無法返回原圖層的說明,並非評論蘋果爸的程式。
蘋果爸在AutoCAD上的深究與熱心,應是獲得相當多的肯定的。
之所以會認為你的程式有所簡化,是因為在你的程式中似乎未看到儲存目前圖層的動作,並非指未加入防止錯誤的副程式。
一般的 Lisp 小程式多只是特定功能或簡化某些繁瑣的動作的獨立程式,是否需要嚴謹的考慮程式寫法、整體與區域變數等等,是見仁見智。
前篇發文是針對為何會無法返回原圖層的說明,並非評論蘋果爸的程式。
蘋果爸在AutoCAD上的深究與熱心,應是獲得相當多的肯定的。
DevilWang- 高級會員
- 文章總數 : 113
年齡 : 57
來自 : 台北
職業 : AEC
愛好 : Thinking...
個性 : 閒散
使用年資 : 25↑
使用版本 : 2012
積分 : 15
經驗值 : 6070
威望值 : 355
發帖精華 : 1
回帖精華 : 3
注冊日期 : 2010-03-29
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
leoneriol
經過與DevilWang討論中...驚覺發現!!
剛剛看了我上二行的程式...發現我寫錯了(複製貼上的因素)!
應該是這樣以下這樣才對~
所以是我弄錯了!
經過與DevilWang討論中...驚覺發現!!
- 代碼:
(SETQ OLDOSMODE (GETVAR "OSMODE"))
.
.
.
(SETVAR "CLAYER" OLDLAYEAR)
剛剛看了我上二行的程式...發現我寫錯了(複製貼上的因素)!
應該是這樣以下這樣才對~
- 代碼:
(SETQ OLDLAYEAR (GETVAR "CLAYER"))
.
.
.
(SETVAR "CLAYER" OLDLAYEAR)
所以是我弄錯了!
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
謝謝DevilWang前輩的肯定,我知道您不是在評論我的程式!!DevilWang 寫到:蘋果爸你誤會了。
之所以會認為你的程式有所簡化,是因為在你的程式中似乎未看到儲存目前圖層的動作,並非指未加入防止錯誤的副程式。
一般的 Lisp 小程式多只是特定功能或簡化某些繁瑣的動作的獨立程式,是否需要嚴謹的考慮程式寫法、整體與區域變數等等,是見仁見智。
前篇發文是針對為何會無法返回原圖層的說明,並非評論蘋果爸的程式。
蘋果爸在AutoCAD上的深究與熱心,應是獲得相當多的肯定的。
但可以讓前輩評論算是我的榮幸,程式部份我還有很大的學習空呢~
感謝您在這期間的分享文章!!
感恩~
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
蘋果爸過謙了!
人有所長,必有所短。
以有限的時間與精力是難以樣樣精通,透過彼此的分享與研討確實是提升與精進的快速方法。
對於蘋果爸熱心的助人與無私的分享,個人是非常感佩的。
人有所長,必有所短。
以有限的時間與精力是難以樣樣精通,透過彼此的分享與研討確實是提升與精進的快速方法。
對於蘋果爸熱心的助人與無私的分享,個人是非常感佩的。
DevilWang- 高級會員
- 文章總數 : 113
年齡 : 57
來自 : 台北
職業 : AEC
愛好 : Thinking...
個性 : 閒散
使用年資 : 25↑
使用版本 : 2012
積分 : 15
經驗值 : 6070
威望值 : 355
發帖精華 : 1
回帖精華 : 3
注冊日期 : 2010-03-29
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
其實論壇的互助理念得以發揚,這是大家無私分享的最佳表現!DevilWang 寫到:蘋果爸過謙了!
人有所長,必有所短。
以有限的時間與精力是難以樣樣精通,透過彼此的分享與研討確實是提升與精進的快速方法。
對於蘋果爸熱心的助人與無私的分享,個人是非常感佩的。
而我也只是將我所知道的分享出去,說實在的我算是最大的獲益者啦!
在這裡也學習到我的領域中所學不到的寶貴知識~
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
這方法對標註尺寸真的很方便~來試試看~~謝謝分享囉
verlth- 初級會員
- 文章總數 : 36
年齡 : 46
來自 : Taipei
職業 : 機電工程
愛好 : 打球
個性 : 溫和
使用年資 : 10年
使用版本 : AUTOCAD 2014
積分 : 2
經驗值 : 5761
威望值 : 6
注冊日期 : 2009-05-21
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
想看蘋果爸的回覆內容作為解決方式的參考
sammi0322- 初級會員
- 文章總數 : 77
年齡 : 42
來自 : 桃園
職業 : 設計
愛好 : 玩樂
個性 : 文靜
使用年資 : 10
使用版本 : 2018
積分 : 4
經驗值 : 5710
威望值 : 56
注冊日期 : 2010-03-16
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
來吸收一下 增加功力 謝謝分享
adslwang- 高級會員
- 文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7227
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
回復: [討論]執行完繪圖指令後將物件放置預設的圖層
我也想知道一下,前輩們討論的程式內容.沒事多爬文,好增進功力.
ginse0727- 高級會員
- 文章總數 : 256
年齡 : 50
來自 : 台北巿
職業 : 帷幕牆
愛好 : 電玩,漫畫,網路小說
個性 : 宅男/正直/死腦筋
使用年資 : 退伍後工作迄今,10年以上
使用版本 : 2012
積分 : 14
經驗值 : 6845
威望值 : 500
發帖精華 : 1
注冊日期 : 2010-07-13
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共3頁)
這個論壇的權限:
您 無法 在這個版面回復文章