[討論]如何用Autolisp取消選取
2 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[討論]如何用Autolisp取消選取
目前我編寫的程式裡有用到STRETCH的指令,
部分程式如下:
目前卡在,
如果在程式執行前就有選取圖元時,
(ssget)會自動抓已經選取的圖元,
而我想在程式執行到(COMMAND "STRETCH" ....)之前先取消掉已經有的選取,
到底要如何做呢?
部分程式如下:
- 代碼:
(prompt "\n選擇要STRETCH的圖元..")
(COMMAND "STRETCH" (ssget) "" RG:PPD:oP2 RG:PPD:oP3)
目前卡在,
如果在程式執行前就有選取圖元時,
(ssget)會自動抓已經選取的圖元,
而我想在程式執行到(COMMAND "STRETCH" ....)之前先取消掉已經有的選取,
到底要如何做呢?
RyanGuo 在 周一 7 10月 2013 - 13:46 作了第 2 次修改
RyanGuo- 初級會員
- 文章總數 : 206
年齡 : 41
來自 : 屏東
職業 : 機械繪圖
愛好 : 玩遊戲
個性 : 嗚嗚男
使用年資 : 1年多
使用版本 : 2011
積分 : 3
經驗值 : 5578
威望值 : 316
注冊日期 : 2013-04-18
回復: [討論]如何用Autolisp取消選取
- 代碼:
(prompt "\n選擇要STRETCH的圖元..")
(setq ssobj (ssget))
(COMMAND "STRETCH" ssobj "" RG:PPD:oP2 RG:PPD:oP3)
leoneriol- 榮譽顧問
- 文章總數 : 818
年齡 : 40
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 9216
威望值 : 960
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
回復: [討論]如何用Autolisp取消選取
剛剛才發現如果是用
之前我沒看清楚還以為是leoneriol兄的回答是
但也變成了在原先沒有選取物件時,需要選取兩次@@a
[追加]
找到一個替用方案,利用系統變數"PICKFIRST",
初始值: 1
0 關閉 PICKFIRST;先執行再選取
1 打開 PICKFIRST;先選取再執行
其作法是先將PICKFIRST設為0後再執行指令,
這樣不管是否有在執行指令前先選取物件,
程式執行到指令時,一律會變為未選取狀態.
在程式的前後加上原有系統變數的儲存和恢復後的程式如下:
- 代碼:
(prompt "\n選擇要STRETCH的圖元..")
(setq ssobj (ssget))
(COMMAND "STRETCH" ssobj "" RG:PPD:oP2 RG:PPD:oP3)
- 代碼:
(prompt "\n選擇要STRETCH的圖元..")
(COMMAND "STRETCH" (ssget) "" RG:PPD:oP2 RG:PPD:oP3)
之前我沒看清楚還以為是leoneriol兄的回答是
- 代碼:
(prompt "\n選擇要STRETCH的圖元..")
(setq ssobj (ssget))
(COMMAND "STRETCH" (ssget) "" RG:PPD:oP2 RG:PPD:oP3)
但也變成了在原先沒有選取物件時,需要選取兩次@@a
[追加]
找到一個替用方案,利用系統變數"PICKFIRST",
初始值: 1
0 關閉 PICKFIRST;先執行再選取
1 打開 PICKFIRST;先選取再執行
其作法是先將PICKFIRST設為0後再執行指令,
這樣不管是否有在執行指令前先選取物件,
程式執行到指令時,一律會變為未選取狀態.
在程式的前後加上原有系統變數的儲存和恢復後的程式如下:
- 代碼:
;;儲存舊的變數值
(SETQ oPICKFIRST (getvar "PICKFIRST"))
;;指定程式需要的數值
(setvar "PICKFIRST" 0)
(prompt "\n選擇要STRETCH的圖元..")
(COMMAND "STRETCH" (ssget) "" RG:PPD:oP2 RG:PPD:oP3)
;;恢復舊的變數值
(setvar "PICKFIRST" oPICKFIRST)
RyanGuo- 初級會員
- 文章總數 : 206
年齡 : 41
來自 : 屏東
職業 : 機械繪圖
愛好 : 玩遊戲
個性 : 嗚嗚男
使用年資 : 1年多
使用版本 : 2011
積分 : 3
經驗值 : 5578
威望值 : 316
注冊日期 : 2013-04-18
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章