[討論]如何在LISP程式中使用外掛指令來應用
5 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[討論]如何在LISP程式中使用外掛指令來應用
在寫LISP的時候我發現一般CAD的指令如:copy erase ...等等,都可以把它寫進LISP動作,
但我想要用外掛程式裡的刪除覆線OVERKILL這指令卻一直無法在LISP中使用,一直出現查無指令,
請問有什麼方法可以在LISP中使用外掛指令?
或是有其他的方法在LISP程式刪覆線?
或LISP程式動作後等待我輸入指令,以供我輸入外掛指令?
以上3種方法都可以讓我達成想要的動作,不知哪個可行。
以下是我想要寫入的LISP程式,但不接受外掛指令,求教:
(defun c:123 ()
(PROMPT "選取範圍內 紅色線 黃色線 青色線 紫色線 的線型為隱藏線 ")
(command "change" (ssget '((-4 . "<OR" ) (62 . 1)(62 . 2)(62 . 4)(62 . 6)(-4 . "OR>"))) "" "P" "LT" "HIDDEN" "")
(PROMPT "選取範圍內 隱藏線除外的線為綠色 線型為BYBLOCK ")
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "P" "LT" "BYBLOCK" "C" "3" "")
(PROMPT "選取範圍內 隱藏線除外的線為綠色 刪除覆線 ")
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "OVERKILL" "")
(prin1))
( <>為半形,因無法顯示改打全形)
倒數第二行的OVERKILL就是外掛程式指令,無法動作。請教了!
但我想要用外掛程式裡的刪除覆線OVERKILL這指令卻一直無法在LISP中使用,一直出現查無指令,
請問有什麼方法可以在LISP中使用外掛指令?
或是有其他的方法在LISP程式刪覆線?
或LISP程式動作後等待我輸入指令,以供我輸入外掛指令?
以上3種方法都可以讓我達成想要的動作,不知哪個可行。
以下是我想要寫入的LISP程式,但不接受外掛指令,求教:
(defun c:123 ()
(PROMPT "選取範圍內 紅色線 黃色線 青色線 紫色線 的線型為隱藏線 ")
(command "change" (ssget '((-4 . "<OR" ) (62 . 1)(62 . 2)(62 . 4)(62 . 6)(-4 . "OR>"))) "" "P" "LT" "HIDDEN" "")
(PROMPT "選取範圍內 隱藏線除外的線為綠色 線型為BYBLOCK ")
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "P" "LT" "BYBLOCK" "C" "3" "")
(PROMPT "選取範圍內 隱藏線除外的線為綠色 刪除覆線 ")
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "OVERKILL" "")
(prin1))
( <>為半形,因無法顯示改打全形)
倒數第二行的OVERKILL就是外掛程式指令,無法動作。請教了!
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
我沒有仔細研究你程式的目的,不過你在下OVERKILL時,CHANGE的指令還沒作用完,要先把CHENGE流程走完再執行,另外你可在OVERKILL前加個"-"號,這樣才不會出現對話框,影響你程式的執行.
ginse0727- 高級會員
- 文章總數 : 256
年齡 : 50
來自 : 台北巿
職業 : 帷幕牆
愛好 : 電玩,漫畫,網路小說
個性 : 宅男/正直/死腦筋
使用年資 : 退伍後工作迄今,10年以上
使用版本 : 2012
積分 : 14
經驗值 : 6829
威望值 : 500
發帖精華 : 1
注冊日期 : 2010-07-13
回復: [討論]如何在LISP程式中使用外掛指令來應用
是這樣加-號嗎?
改完程式如下:
(defun c:123 ()
(PROMPT "選取範圍內 紅色線 黃色線 青色線 紫色線 的線型為隱藏線 ")
(command "change" (ssget '((-4 . "<OR" ) (62 . 1)(62 . 2)(62 . 4)(62 . 6)(-4 . "OR>"))) "" "P" "LT" "HIDDEN" "")
(PROMPT "選取範圍內 隱藏線除外的線為綠色 線型為BYBLOCK ")
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "P" "LT" "BYBLOCK" "C" "3" "")
(PROMPT "選取範圍內 隱藏線除外的線為綠色 刪除覆線 ")
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "-OVERKILL" "")
(prin1))
( <>為半形,因無法顯示改打全形)
執行後的動作我貼在以下:
指令: 123 選取範圍內 紅色線 黃色線 青色線 紫色線 的線型為隱藏線 change
選取物件: 指定對角點: 找到 5 個
選取物件:
選取物件: 找到 5 個
選取物件: 指定變更點或 [性質(P)]: P
輸入要變更的性質
[顏色(C)/立面(E)/圖層(LA)/線型(LT)/線型比例(S)/線粗(LW)/厚度(T)/材料(M)/可註解(A)]: LT
輸入新線型名稱: HIDDEN
輸入要變更的性質
[顏色(C)/立面(E)/圖層(LA)/線型(LT)/線型比例(S)/線粗(LW)/厚度(T)/材料(M)/可註解(A)]:
指令: 選取範圍內 隱藏線除外的線為綠色 線型為BYBLOCK change
選取物件: 指定對角點: 找到 24 個
選取物件:
選取物件: 找到 24 個
選取物件: 指定變更點或 [性質(P)]: P
輸入要變更的性質
[顏色(C)/立面(E)/圖層(LA)/線型(LT)/線型比例(S)/線粗(LW)/厚度(T)/材料(M)/可註解(A)]: LT
輸入新線型名稱: BYBLOCK
輸入要變更的性質
[顏色(C)/立面(E)/圖層(LA)/線型(LT)/線型比例(S)/線粗(LW)/厚度(T)/材料(M)/可註解(A)]: C
新顏色 [全彩(T)/顏色表(CO)] <多種的>: 3
輸入要變更的性質
[顏色(C)/立面(E)/圖層(LA)/線型(LT)/線型比例(S)/線粗(LW)/厚度(T)/材料(M)/可註解(A)]:
指令: 選取範圍內 隱藏線除外的線為綠色 刪除覆線 change
選取物件: 指定對角點: 找到 24 個
選取物件:
選取物件: 找到 24 個
選取物件: 指定變更點或 [性質(P)]: -OVERKILL
需要點或選項關鍵字。
; 錯誤: 函數被取消
請問最後OVERKILL部份是怎麼修改才能執行。
改完程式如下:
(defun c:123 ()
(PROMPT "選取範圍內 紅色線 黃色線 青色線 紫色線 的線型為隱藏線 ")
(command "change" (ssget '((-4 . "<OR" ) (62 . 1)(62 . 2)(62 . 4)(62 . 6)(-4 . "OR>"))) "" "P" "LT" "HIDDEN" "")
(PROMPT "選取範圍內 隱藏線除外的線為綠色 線型為BYBLOCK ")
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "P" "LT" "BYBLOCK" "C" "3" "")
(PROMPT "選取範圍內 隱藏線除外的線為綠色 刪除覆線 ")
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "-OVERKILL" "")
(prin1))
( <>為半形,因無法顯示改打全形)
執行後的動作我貼在以下:
指令: 123 選取範圍內 紅色線 黃色線 青色線 紫色線 的線型為隱藏線 change
選取物件: 指定對角點: 找到 5 個
選取物件:
選取物件: 找到 5 個
選取物件: 指定變更點或 [性質(P)]: P
輸入要變更的性質
[顏色(C)/立面(E)/圖層(LA)/線型(LT)/線型比例(S)/線粗(LW)/厚度(T)/材料(M)/可註解(A)]: LT
輸入新線型名稱
輸入要變更的性質
[顏色(C)/立面(E)/圖層(LA)/線型(LT)/線型比例(S)/線粗(LW)/厚度(T)/材料(M)/可註解(A)]:
指令: 選取範圍內 隱藏線除外的線為綠色 線型為BYBLOCK change
選取物件: 指定對角點: 找到 24 個
選取物件:
選取物件: 找到 24 個
選取物件: 指定變更點或 [性質(P)]: P
輸入要變更的性質
[顏色(C)/立面(E)/圖層(LA)/線型(LT)/線型比例(S)/線粗(LW)/厚度(T)/材料(M)/可註解(A)]: LT
輸入新線型名稱
輸入要變更的性質
[顏色(C)/立面(E)/圖層(LA)/線型(LT)/線型比例(S)/線粗(LW)/厚度(T)/材料(M)/可註解(A)]: C
新顏色 [全彩(T)/顏色表(CO)] <多種的>: 3
輸入要變更的性質
[顏色(C)/立面(E)/圖層(LA)/線型(LT)/線型比例(S)/線粗(LW)/厚度(T)/材料(M)/可註解(A)]:
指令: 選取範圍內 隱藏線除外的線為綠色 刪除覆線 change
選取物件: 指定對角點: 找到 24 個
選取物件:
選取物件: 找到 24 個
選取物件: 指定變更點或 [性質(P)]: -OVERKILL
需要點或選項關鍵字。
; 錯誤: 函數被取消
請問最後OVERKILL部份是怎麼修改才能執行。
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
或是要怎麼改寫成等待讓我自行輸入OVERKILL指令
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
這個表示「選取步驟」還沒有執行完畢!aaronchung.tw 寫到:選取物件: 指定變更點或 [性質(P)]: -OVERKILL
建議可以改為選取執行完畢後,結束步驟再自行輸入-OVERKILL
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]如何在LISP程式中使用外掛指令來應用
以下這一行不完整,因為change選取完後,還少了一個"enter",
也就是你不執行"性質(p)"的修改,要再打一個"",
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "-OVERKILL" "")
改寫成下列這行,至少你的overkill會開始作用,
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "" "-OVERKILL" "")
不過我是建議你,別把太多動作都寫在同一行裡,久了你會不好維護!
也就是你不執行"性質(p)"的修改,要再打一個"",
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "-OVERKILL" "")
改寫成下列這行,至少你的overkill會開始作用,
(command "change" (ssget '((-4 . "<NOT" )(-4 . "<OR" )(6 . "HIDDEN")(62 . 5)(-4 . "OR>")(-4 . "NOT>" ))) "" "" "-OVERKILL" "")
不過我是建議你,別把太多動作都寫在同一行裡,久了你會不好維護!
ginse0727- 高級會員
- 文章總數 : 256
年齡 : 50
來自 : 台北巿
職業 : 帷幕牆
愛好 : 電玩,漫畫,網路小說
個性 : 宅男/正直/死腦筋
使用年資 : 退伍後工作迄今,10年以上
使用版本 : 2012
積分 : 14
經驗值 : 6829
威望值 : 500
發帖精華 : 1
注冊日期 : 2010-07-13
回復: [討論]如何在LISP程式中使用外掛指令來應用
我用比較單純的指令作出這兩個程式比較:
第一個
(defun c:123 ()
(PROMPT "\n 挑選紅色線刪除 \n")
(command "ERASE" (ssget '((62 . 1))) "")
(prin1))
第二個
(defun c:456 ()
(PROMPT "\n 挑選紅色線並刪除重疊部分 \n")
(command "OVERKILL" (ssget '((62 . 1))) "")
(prin1))
第二個的指令我試了之前說的方法都不行,可能我不太能理解之前說的方法,可以用這比較單純的這個程式再舉例一次嗎?感謝!
第一個
(defun c:123 ()
(PROMPT "\n 挑選紅色線刪除 \n")
(command "ERASE" (ssget '((62 . 1))) "")
(prin1))
第二個
(defun c:456 ()
(PROMPT "\n 挑選紅色線並刪除重疊部分 \n")
(command "OVERKILL" (ssget '((62 . 1))) "")
(prin1))
第二個的指令我試了之前說的方法都不行,可能我不太能理解之前說的方法,可以用這比較單純的這個程式再舉例一次嗎?感謝!
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
改成這樣試試看.
(defun c:456 ()
(PROMPT "\n 挑選紅色線並刪除重疊部分 \n")
(command "-OVERKILL" (ssget '((62 . 1))) """")
(prin1))
我簡單做個說明,在OVERKILL前加上"-",表通透式指令,可以以不出現對話框方式執行指令,可以等候你輸入再做下一個動作,一般寫程式都會使用,不然程式作用中又跳出對話框,實在是不方便.但不是所有的指令都需要加這個"-",使用前你得再查看看.
另外在最後我又加上了"",代表再按一次ENTER,我跟蘋果爸都給過你提示,在還沒加上ENTER之前,你的指令事實上是還沒有作用完的,它還在等待你下達選項,之前的CHANGE和這次的OVERKILL都是還少了一次的ENTER.
(defun c:456 ()
(PROMPT "\n 挑選紅色線並刪除重疊部分 \n")
(command "-OVERKILL" (ssget '((62 . 1))) """")
(prin1))
我簡單做個說明,在OVERKILL前加上"-",表通透式指令,可以以不出現對話框方式執行指令,可以等候你輸入再做下一個動作,一般寫程式都會使用,不然程式作用中又跳出對話框,實在是不方便.但不是所有的指令都需要加這個"-",使用前你得再查看看.
另外在最後我又加上了"",代表再按一次ENTER,我跟蘋果爸都給過你提示,在還沒加上ENTER之前,你的指令事實上是還沒有作用完的,它還在等待你下達選項,之前的CHANGE和這次的OVERKILL都是還少了一次的ENTER.
ginse0727- 高級會員
- 文章總數 : 256
年齡 : 50
來自 : 台北巿
職業 : 帷幕牆
愛好 : 電玩,漫畫,網路小說
個性 : 宅男/正直/死腦筋
使用年資 : 退伍後工作迄今,10年以上
使用版本 : 2012
積分 : 14
經驗值 : 6829
威望值 : 500
發帖精華 : 1
注冊日期 : 2010-07-13
回復: [討論]如何在LISP程式中使用外掛指令來應用
感謝ginse0727詳細的說明,我再去試試看。
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
測試結果如下:
指令: 456
挑選紅色線並刪除重疊部分
-OVERKILL 不明的指令「-OVERKILL」。請按 F1 取得說明。
指令:
執行的程式如下:
(defun c:456 ()
(PROMPT "\n 挑選紅色線並刪除重疊部分 \n")
(command "-OVERKILL" (ssget '((62 . 1))) """")
(prin1))
會這樣是代表lisp無法使用外掛程式的指令嗎?
(我有把程式中-OVERKILL換成copy可以正確執行無誤。但要取消一次"")
註:我在cad中直接打-OVERKILL是可以動作的。
指令: 456
挑選紅色線並刪除重疊部分
-OVERKILL 不明的指令「-OVERKILL」。請按 F1 取得說明。
指令:
執行的程式如下:
(defun c:456 ()
(PROMPT "\n 挑選紅色線並刪除重疊部分 \n")
(command "-OVERKILL" (ssget '((62 . 1))) """")
(prin1))
會這樣是代表lisp無法使用外掛程式的指令嗎?
(我有把程式中-OVERKILL換成copy可以正確執行無誤。但要取消一次"")
註:我在cad中直接打-OVERKILL是可以動作的。
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
程式修改如下,你再試看看行不行,
(defun c:456 ()
(PROMPT "\n 挑選紅色線並刪除重疊部分 \n")
(command "-OVERKILL" (ssget "X" '((62 . 1))) """")
(prin1))
之前沒有去測試,所以沒有發現到,
在程式第三行也就是選集裡出了一些問題.
選集我舉二個例子解釋:
(ssget '((0 . "CIRCLE")(62 . 1))),表示選取圖元為"紅色的圓",
(ssget '((0 . "TEXT")(8 . AA)(62 . 2))),表示選取AA圖層下圖元為"紅色的文字",
你的選集(ssget '((62 . 1))),
意思選取紅色的??,條件似乎不夠明確.
你沒有限制條件是(0 . "LINE")或是其他型態的元件,
我不確定在限制條件不過明確的情況下,選集是否無法完成(目前測起來好像就是沒有作用).
所以我在選集裡再加上過濾條件"X",
意思是直接過濾圖面上"所有"紅色的圖元(不論是CIRCLE,LINE,MLINE....等等).
這樣選集裡就有過濾出物件了.
目前程式主要的作用是:
選取圖面上所有紅色的圖元,
只要是紅色的就刪除重疊的部份.
PS:我是用CAD 2012版本測試,跑起來沒有問題,但2006跑起來就不曉得了.
(defun c:456 ()
(PROMPT "\n 挑選紅色線並刪除重疊部分 \n")
(command "-OVERKILL" (ssget "X" '((62 . 1))) """")
(prin1))
之前沒有去測試,所以沒有發現到,
在程式第三行也就是選集裡出了一些問題.
選集我舉二個例子解釋:
(ssget '((0 . "CIRCLE")(62 . 1))),表示選取圖元為"紅色的圓",
(ssget '((0 . "TEXT")(8 . AA)(62 . 2))),表示選取AA圖層下圖元為"紅色的文字",
你的選集(ssget '((62 . 1))),
意思選取紅色的??,條件似乎不夠明確.
你沒有限制條件是(0 . "LINE")或是其他型態的元件,
我不確定在限制條件不過明確的情況下,選集是否無法完成(目前測起來好像就是沒有作用).
所以我在選集裡再加上過濾條件"X",
意思是直接過濾圖面上"所有"紅色的圖元(不論是CIRCLE,LINE,MLINE....等等).
這樣選集裡就有過濾出物件了.
目前程式主要的作用是:
選取圖面上所有紅色的圖元,
只要是紅色的就刪除重疊的部份.
PS:我是用CAD 2012版本測試,跑起來沒有問題,但2006跑起來就不曉得了.
ginse0727- 高級會員
- 文章總數 : 256
年齡 : 50
來自 : 台北巿
職業 : 帷幕牆
愛好 : 電玩,漫畫,網路小說
個性 : 宅男/正直/死腦筋
使用年資 : 退伍後工作迄今,10年以上
使用版本 : 2012
積分 : 14
經驗值 : 6829
威望值 : 500
發帖精華 : 1
注冊日期 : 2010-07-13
回復: [討論]如何在LISP程式中使用外掛指令來應用
2006跑出來變成以下:
指令: 123
挑選紅色線並刪除重疊部分
-OVERKILL 不明的指令「-OVERKILL」。請按 F1 取得說明。
指令:
指令: 123 不明的指令「123」。請按 F1 取得說明。
指令: 123 不明的指令「123」。請按 F1 取得說明。
指令:
難道是2006無法執行-OVERKILL,但直接打又可以,有沒有人也是裝2006版的,幫我測一下程式。感謝!
指令: 123
挑選紅色線並刪除重疊部分
-OVERKILL 不明的指令「-OVERKILL」。請按 F1 取得說明。
指令:
指令: 123 不明的指令「123」。請按 F1 取得說明。
指令: 123 不明的指令「123」。請按 F1 取得說明。
指令:
難道是2006無法執行-OVERKILL,但直接打又可以,有沒有人也是裝2006版的,幫我測一下程式。感謝!
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
想找一套2006幫你測試看看,可惜網上也找不到,公司最舊的版本還是2007,你如果可以找到下載連結點的話,po上來我再來測測看是不是程式的問題.
ginse0727- 高級會員
- 文章總數 : 256
年齡 : 50
來自 : 台北巿
職業 : 帷幕牆
愛好 : 電玩,漫畫,網路小說
個性 : 宅男/正直/死腦筋
使用年資 : 退伍後工作迄今,10年以上
使用版本 : 2012
積分 : 14
經驗值 : 6829
威望值 : 500
發帖精華 : 1
注冊日期 : 2010-07-13
回復: [討論]如何在LISP程式中使用外掛指令來應用
嗯!載點我還要找找。
ㄟ,我發現我的是2008版。
有安裝2008的朋友們有沒有人可以幫忙測試一下下面這個LISP:
(defun c:456 ()
(PROMPT "\n 挑選紅色線並刪除重疊部分 \n")
(command "-OVERKILL" (ssget "X" '((62 . 1))) """")
(prin1))
(但要有裝Express)
我是把Express直接複製到C:\Program Files\AutoCAD 2008\
就有作用,這樣安裝方式對嗎?
ㄟ,我發現我的是2008版。
有安裝2008的朋友們有沒有人可以幫忙測試一下下面這個LISP:
(defun c:456 ()
(PROMPT "\n 挑選紅色線並刪除重疊部分 \n")
(command "-OVERKILL" (ssget "X" '((62 . 1))) """")
(prin1))
(但要有裝Express)
我是把Express直接複製到C:\Program Files\AutoCAD 2008\
就有作用,這樣安裝方式對嗎?
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
我這邊可以幫忙測試!ginse0727 寫到:想找一套2006幫你測試看看,可惜網上也找不到,公司最舊的版本還是2007,你如果可以找到下載連結點的話,po上來我再來測測看是不是程式的問題.
結果:
「2011」以下版本無法執行,因為無法在LISP程式中,再執行express的overkill。
「2012」以上版本將overkill新增為AutoCAD預設功能,所以可以順利執行。
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
回復: [討論]如何在LISP程式中使用外掛指令來應用
謝謝蘋果爸的測試,既然無法在程式裡使用overkill,那你試看看改成巨集的方式,新增一個按鈕,巨集裡貼上下面這一段,
^C^C_OVERKILL;(ssget "X" '((62 . 1)));;;
試試看能不能這樣用.
^C^C_OVERKILL;(ssget "X" '((62 . 1)));;;
試試看能不能這樣用.
ginse0727- 高級會員
- 文章總數 : 256
年齡 : 50
來自 : 台北巿
職業 : 帷幕牆
愛好 : 電玩,漫畫,網路小說
個性 : 宅男/正直/死腦筋
使用年資 : 退伍後工作迄今,10年以上
使用版本 : 2012
積分 : 14
經驗值 : 6829
威望值 : 500
發帖精華 : 1
注冊日期 : 2010-07-13
回復: [討論]如何在LISP程式中使用外掛指令來應用
其實並不是不能使用 是這一行要改成
(command (C:-OVERKILL) (ssget "X" '((62 . 1))) "" "")
才能夠實際上使用透通的方法
個人淺見,這樣子沒有實值上面的意義,因為OVERKILL是單一程式,即使後面給你附加了SSGET篩選紅色圖元也只是多餘的.......
還是花時間了解OVERKILL是如何判斷重疊線段並且刪除它,還比較實在。
(command (C:-OVERKILL) (ssget "X" '((62 . 1))) "" "")
才能夠實際上使用透通的方法
個人淺見,這樣子沒有實值上面的意義,因為OVERKILL是單一程式,即使後面給你附加了SSGET篩選紅色圖元也只是多餘的.......
還是花時間了解OVERKILL是如何判斷重疊線段並且刪除它,還比較實在。
adslwang- 高級會員
- 文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7211
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
回復: [討論]如何在LISP程式中使用外掛指令來應用
adslwang 寫到:其實並不是不能使用 是這一行要改成
(command (C:-OVERKILL) (ssget "X" '((62 . 1))) "" "")
才能夠實際上使用透通的方法
個人淺見,這樣子沒有實值上面的意義,因為OVERKILL是單一程式,即使後面給你附加了SSGET篩選紅色圖元也只是多餘的.......
還是花時間了解OVERKILL是如何判斷重疊線段並且刪除它,還比較實在。
對喔!這樣確實就可以使用了沒錯,但篩選紅色圖元的功能也就沒了。
本來想利用OVERKILL來做挑選特定顏色來做刪除複雜線的功能,看來無法辦到。或許要直接寫刪除複雜線的程式,實在等級要很高。
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
ginse0727 寫到:謝謝蘋果爸的測試,既然無法在程式裡使用overkill,那你試看看改成巨集的方式,新增一個按鈕,巨集裡貼上下面這一段,
^C^C_OVERKILL;(ssget "X" '((62 . 1)));;;
試試看能不能這樣用.
可以執行,但就無法挑顏色了
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
我平時都是使用qselect指令來挑選顏色,然後使用OVERKILL指令來刪除重複線,還是說有辦法只挑選不做動作,我再自行打OVERKILL。
aaronchung.tw- 初級會員
- 文章總數 : 89
年齡 : 45
來自 : Taipei
職業 : 繪圖
愛好 : 電腦網路,閑逛
個性 : 隨和
使用年資 : 8年
使用版本 : 2008
積分 : 1
經驗值 : 5195
威望值 : 25
注冊日期 : 2011-12-03
回復: [討論]如何在LISP程式中使用外掛指令來應用
感情,,,,這樣也許可以解決我的問題
wateraustin- 一般會員
- 文章總數 : 71
年齡 : 58
來自 : 台南
職業 : soho 3d,2d 模具
愛好 : pop music,movie
個性 : very good EQ
使用年資 : 30
使用版本 : 2011
經驗值 : 5507
威望值 : 15
注冊日期 : 2010-09-16
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章