[已解決]請問如何在撰寫的LISP程式中,執行另一個自行撰寫的LISP程式?使用command "xx",會顯示錯誤
3 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[已解決]請問如何在撰寫的LISP程式中,執行另一個自行撰寫的LISP程式?使用command "xx",會顯示錯誤
請教各位大能
已經先寫好幾個畫軸承的lisp程式,
又寫了一個Lisp主程式,含DCL對話框,
可以採用副程式的方式執行畫軸承的lisp程式,但主程式加了許多副程式後,內容會很多,未來要編修比較麻煩;
而在Lisp主程式中,利用指令command,無法呼叫自行撰寫畫軸承的Lisp程式,command "xx",會顯示錯誤,
(一般在Lisp中,可以使用command執行畫線Line、畫圓circle等基本指令,但好像無法呼叫自行撰寫的Lisp程式)
請問有沒有建議的方式?感謝大家
已經先寫好幾個畫軸承的lisp程式,
又寫了一個Lisp主程式,含DCL對話框,
可以採用副程式的方式執行畫軸承的lisp程式,但主程式加了許多副程式後,內容會很多,未來要編修比較麻煩;
而在Lisp主程式中,利用指令command,無法呼叫自行撰寫畫軸承的Lisp程式,command "xx",會顯示錯誤,
(一般在Lisp中,可以使用command執行畫線Line、畫圓circle等基本指令,但好像無法呼叫自行撰寫的Lisp程式)
請問有沒有建議的方式?感謝大家
mic_christ 在 2021-10-31, 21:36 作了第 2 次修改
mic_christ- 一般會員
- 文章總數 : 26
年齡 : 53
來自 : 高雄市左營區
職業 : 機械設備工程師 (空污、集塵器、輸送機、...)
愛好 : 看網路小說, 電影,
個性 : 開朗
使用年資 : 23年
使用版本 : 2020
經驗值 : 5885
威望值 : 0
注冊日期 : 2009-01-17
回復: [已解決]請問如何在撰寫的LISP程式中,執行另一個自行撰寫的LISP程式?使用command "xx",會顯示錯誤
自己寫的程式?
不用COMMAND啊
如果是C:XXX的話
直接用===> (C:XXX)
如果是副程式的話:XXX
就直接用(XXX)
不用COMMAND啊
如果是C:XXX的話
直接用===> (C:XXX)
如果是副程式的話:XXX
就直接用(XXX)
sword0626- 一般會員
- 文章總數 : 10
年齡 : 41
來自 : 新北
職業 : 鈑金繪圖員
愛好 : 動漫ACG
個性 : 消極、得過且過、平凡過一生
使用年資 : 10
使用版本 : AutoCAD 2018
經驗值 : 1251
威望值 : 10
注冊日期 : 2021-09-05
mic_christ likes this post
回復: [已解決]請問如何在撰寫的LISP程式中,執行另一個自行撰寫的LISP程式?使用command "xx",會顯示錯誤
可以,解決了,
大感謝sword0626
大感謝sword0626
mic_christ- 一般會員
- 文章總數 : 26
年齡 : 53
來自 : 高雄市左營區
職業 : 機械設備工程師 (空污、集塵器、輸送機、...)
愛好 : 看網路小說, 電影,
個性 : 開朗
使用年資 : 23年
使用版本 : 2020
經驗值 : 5885
威望值 : 0
注冊日期 : 2009-01-17
回復: [已解決]請問如何在撰寫的LISP程式中,執行另一個自行撰寫的LISP程式?使用command "xx",會顯示錯誤
sword0626 寫到:自己寫的程式?
不用COMMAND啊
如果是C:XXX的話
直接用===> (C:XXX)
如果是副程式的話:XXX
就直接用(XXX)
請問"sword0626",
(C:XXX),可以用,
但碰到另一個問題,
一般採用指令(command "line" p01 p02 "");
若採用(C:XXX),要一併給一個預設值,如何撰寫?
舉例:
軸承LISP程式:ucf.lsp,指令"ucf",需要輸入軸徑,
(c:ucf) 如何加入軸徑"12"
(c:ucf "12") -->顯示錯誤
mic_christ- 一般會員
- 文章總數 : 26
年齡 : 53
來自 : 高雄市左營區
職業 : 機械設備工程師 (空污、集塵器、輸送機、...)
愛好 : 看網路小說, 電影,
個性 : 開朗
使用年資 : 23年
使用版本 : 2020
經驗值 : 5885
威望值 : 0
注冊日期 : 2009-01-17
回復: [已解決]請問如何在撰寫的LISP程式中,執行另一個自行撰寫的LISP程式?使用command "xx",會顯示錯誤
mic_christ 寫到:
請問"sword0626",
(C:XXX),可以用,
但碰到另一個問題,
一般採用指令(command "line" p01 p02 "");
若採用(C:XXX),要一併給一個預設值,如何撰寫?
舉例:
軸承LISP程式:ucf.lsp,指令"ucf",需要輸入軸徑,
(c:ucf) 如何加入軸徑"12"
(c:ucf "12") -->顯示錯誤
假設輸入軸徑的變數是x
那你的ucf有沒有設定成=>
(defun c:ucf(x /)
)
有的話,(c:ucf x)這樣試看看
舉個例子:
(defun c:tast(x / )
(command "circle" pause x)
)
;;;==================
(c:tast 10)
這樣就不會問圓的半徑是多少了,點圓心位置後,就直接畫半徑10的圓了。
還有,你的主題和其他人的不一樣,你的主題前面是不是少了什麼呢?
sword0626- 一般會員
- 文章總數 : 10
年齡 : 41
來自 : 新北
職業 : 鈑金繪圖員
愛好 : 動漫ACG
個性 : 消極、得過且過、平凡過一生
使用年資 : 10
使用版本 : AutoCAD 2018
經驗值 : 1251
威望值 : 10
注冊日期 : 2021-09-05
回復: [已解決]請問如何在撰寫的LISP程式中,執行另一個自行撰寫的LISP程式?使用command "xx",會顯示錯誤
sword0626 寫到:mic_christ 寫到:
請問"sword0626",
(C:XXX),可以用,
但碰到另一個問題,
一般採用指令(command "line" p01 p02 "");
若採用(C:XXX),要一併給一個預設值,如何撰寫?
舉例:
軸承LISP程式:ucf.lsp,指令"ucf",需要輸入軸徑,
(c:ucf) 如何加入軸徑"12"
(c:ucf "12") -->顯示錯誤
假設輸入軸徑的變數是x
那你的ucf有沒有設定成=>
(defun c:ucf(x /)
)
有的話,(c:ucf x)這樣試看看
舉個例子:
(defun c:tast(x / )
(command "circle" pause x)
)
;;;==================
(c:tast 10)
這樣就不會問圓的半徑是多少了,點圓心位置後,就直接畫半徑10的圓了。
還有,你的主題和其他人的不一樣,你的主題前面是不是少了什麼呢?
太讚了,可以,太感謝您了,
我的主題前頭好像少了[問題],
請問該怎麼加上去,直接按EDIT,進行編輯後再發表嗎?
看來我得再多爬爬文了,感謝提醒!
mic_christ- 一般會員
- 文章總數 : 26
年齡 : 53
來自 : 高雄市左營區
職業 : 機械設備工程師 (空污、集塵器、輸送機、...)
愛好 : 看網路小說, 電影,
個性 : 開朗
使用年資 : 23年
使用版本 : 2020
經驗值 : 5885
威望值 : 0
注冊日期 : 2009-01-17
回復: [已解決]請問如何在撰寫的LISP程式中,執行另一個自行撰寫的LISP程式?使用command "xx",會顯示錯誤
我的做法是透過lisp撰寫scr再讓scr去調lisp
同時達到批次行為
同時達到批次行為
a6666262000- 一般會員
- 文章總數 : 25
年齡 : 32
來自 : 台南
職業 : 機械,空間套圖
愛好 : 電影、電玩、
個性 : 喜好研究
使用年資 : 10
使用版本 : 2014-2018
經驗值 : 2012
威望值 : 42
注冊日期 : 2019-11-07
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章