AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

Join the forum, it's quick and easy

AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
AutoCAD顧問
Would you like to react to this message? Create an account in a few clicks or log in to continue.
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Ioaoe110[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! 2020-310[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Oiu15010[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! 2020-211[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Ia15010[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aizyao10[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Uos15010[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! BPl3tjj[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Ziao1510
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aoe15010[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Oo-2-110[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Zuoiy_10[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aizyao11[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Iyb_1510[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aoe1-112[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Uos15011[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aoe2da10[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aoe2da11[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aoe10

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

4 posters

向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

發表 由 jock1626 2024-06-06, 13:56

請問各位先進我寫了2lisp程式執行結果如下
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Eu10

檔案內有二個檔案,cclv為左邊第一執行後無問題cckm為左邊第二個執行程式,但是回頭再次執行cclv時就會出現右邊的狀況
請問各位先進是否我在程式上那邊沒注意到的設定那邊有設定錯誤?
附件
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Attachment
test.zip 您無權下載這里的附件。(6 Kb) 下載 5 次
jock1626
jock1626
一般會員
一般會員

文章總數 : 20
年齡 : 42
來自 : 桃園
職業 : 繪圖員
愛好 : 睡覺
個性 : 是個人吧
使用年資 : 5年
使用版本 : 2016
經驗值 : 882
威望值 : 6
注冊日期 : 2022-05-19
男 水瓶座 狗

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty 回復: [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

發表 由 masao_8 2024-06-06, 20:31

若擔心程序衝突,可以將第一行改成這樣
(defun c:cclv(/ ocm osm oor laytb odde olderr tp1 atp oup ol odw oc tp2 at w h q1 pt0 pt1 pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt9 pt10 pt11 pt12 pt13 pt14 m2 sd rec1 p0 p0x p0y cp1 cp2 p1 p2 p3 p4 p5 p6 p7 p8 sp1 sp2 sp3 sp4 pcs1 pcs2 rec2 oc1 oc2);百葉

程序結束後會將括弧內函數清除,若覺得太多也可將副函式內不會用到的函數在副函式結束後先做清除

不確定是不是函數的問題,也有可能你的副函式有一樣名稱但內容不同就會在載入時被取代

----------------------------------------------------------------------------------------->
剛剛看了一下

應該是SS2副函式內容不同,所以用完第2個程序再執行第一個後會缺少函數,但你的函數都沒有清除,所以程序不會出現錯誤訊息,導致很難發現缺少函數

看起來應該是這樣
masao_8
masao_8
初級會員
初級會員

文章總數 : 58
年齡 : 31
來自 : 台中
職業 : 製圖
愛好 : 動漫
個性 : 內向
使用年資 : 4年
使用版本 : 2012
積分 : 1
經驗值 : 1160
威望值 : 113
注冊日期 : 2022-06-03
男 水瓶座 雞

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty 回復: [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

發表 由 jock1626 2024-06-07, 08:48

masao_8 寫到:若擔心程序衝突,可以將第一行改成這樣
(defun c:cclv(/ ocm osm oor laytb odde olderr tp1 atp oup ol odw oc tp2 at w h q1 pt0 pt1 pt2 pt3 pt4 pt5 pt6 pt7 pt8 pt9 pt10 pt11 pt12 pt13 pt14 m2 sd rec1 p0 p0x p0y cp1 cp2 p1 p2 p3 p4 p5 p6 p7 p8 sp1 sp2 sp3 sp4 pcs1 pcs2 rec2 oc1 oc2);百葉

程序結束後會將括弧內函數清除,若覺得太多也可將副函式內不會用到的函數在副函式結束後先做清除

不確定是不是函數的問題,也有可能你的副函式有一樣名稱但內容不同就會在載入時被取代

----------------------------------------------------------------------------------------->
剛剛看了一下

應該是SS2副函式內容不同,所以用完第2個程序再執行第一個後會缺少函數,但你的函數都沒有清除,所以程序不會出現錯誤訊息,導致很難發現缺少函數

看起來應該是這樣


感謝大大的回覆,我剛才試了一下先把所有的涵數清除後再執行一次,其結果還是一樣
大大所說的涵數的問題,我當初第一個想到的就是p5及p6這二點是不是那有問題,查完之後才發到它計算出來的不是我所設定給它的值
我給的是固定值,可是它跑去不知道那生出來的數值。
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Eu210
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Eu410

附上為結行結果!
jock1626
jock1626
一般會員
一般會員

文章總數 : 20
年齡 : 42
來自 : 桃園
職業 : 繪圖員
愛好 : 睡覺
個性 : 是個人吧
使用年資 : 5年
使用版本 : 2016
經驗值 : 882
威望值 : 6
注冊日期 : 2022-05-19
男 水瓶座 狗

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty 回復: [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

發表 由 masao_8 2024-06-07, 21:17

有試過將副函式名稱改不相同嗎? 正常若有清除,名稱也都不相同應該就不會有衝突了
masao_8
masao_8
初級會員
初級會員

文章總數 : 58
年齡 : 31
來自 : 台中
職業 : 製圖
愛好 : 動漫
個性 : 內向
使用年資 : 4年
使用版本 : 2012
積分 : 1
經驗值 : 1160
威望值 : 113
注冊日期 : 2022-06-03
男 水瓶座 雞

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty 回復: [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

發表 由 jock1626 2024-06-08, 21:06

masao_8 寫到:有試過將副函式名稱改不相同嗎? 正常若有清除,名稱也都不相同應該就不會有衝突了
目前我試過清除函數不修改副程名稱、結果還是錯誤,尤其是在p5和p6這二點上
如果二程式輪流操作二程式都會出錯。
但是我只要修改副程名稱(ss2改為ssx),不重覆名稱、不清除函數、一切都會回覆正常
但是程式重新執行,不應該要有重新執行結果的嗎?結果應該更新的才對,怎會有這問題?求解!
jock1626
jock1626
一般會員
一般會員

文章總數 : 20
年齡 : 42
來自 : 桃園
職業 : 繪圖員
愛好 : 睡覺
個性 : 是個人吧
使用年資 : 5年
使用版本 : 2016
經驗值 : 882
威望值 : 6
注冊日期 : 2022-05-19
男 水瓶座 狗

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty 回復: [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

發表 由 shenhung 2024-06-08, 21:30

剛看了一下.. 這2條LISP 內都有相同名稱的副程式. SS1 SS2 SS3 ....但副程式內容不太一樣..
不同程式.都必須要有不同的名稱. 不然前後載入..後面的會蓋到前面載入的副程式.

另外改了名稱之後.最好重新開一張新圖做測試..重新載入LISP做測試.會比較準確.

____________________________________________________________________________________
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Ioaoe110 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Zuoiy_10 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! 2020-211 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aizyao11 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Iyb_1510
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aizyao10 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! BPl3tjj.png [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Ziao1510 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Oo-2-110 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Oooa_110
shenhung
shenhung
高級會員
高級會員

文章總數 : 278
年齡 : 57
來自 : 新北市
職業 : 塑膠模具設計.AUTOLISP
愛好 : 音樂
個性 : 隨和
使用年資 : 18年
使用版本 : 2010
積分 : 15
經驗值 : 7892
威望值 : 1175
注冊日期 : 2009-06-03
男 摩羯座 馬

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty 回復: [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

發表 由 jock1626 2024-06-10, 10:16

shenhung 寫到:剛看了一下.. 省....

有的,我現在就是先這樣處理就可以解決問題,
那麻是不是可以反過來把好幾個主程要共的副程單獨寫在另一個lisp上,
之後要調用副程式時直接調用此檔?
反正同名稱會相互提取那不如寫在同一檔裡,比如我上寫的ss1它只為服務畫格子而已!
jock1626
jock1626
一般會員
一般會員

文章總數 : 20
年齡 : 42
來自 : 桃園
職業 : 繪圖員
愛好 : 睡覺
個性 : 是個人吧
使用年資 : 5年
使用版本 : 2016
經驗值 : 882
威望值 : 6
注冊日期 : 2022-05-19
男 水瓶座 狗

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty 回復: [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

發表 由 masao_8 2024-06-10, 11:58

可以,看您要分開或寫成相互切換的功能都可以,只是內容會很多要分類清楚,這樣需要修改或整理時比較不會漏掉
masao_8
masao_8
初級會員
初級會員

文章總數 : 58
年齡 : 31
來自 : 台中
職業 : 製圖
愛好 : 動漫
個性 : 內向
使用年資 : 4年
使用版本 : 2012
積分 : 1
經驗值 : 1160
威望值 : 113
注冊日期 : 2022-06-03
男 水瓶座 雞

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty 區域變數,全域變數

發表 由 ahorng 2024-06-16, 21:28

jock1626 寫到:請問各位先進我寫了2lisp程式執行結果如下
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Eu10

檔案內有二個檔案,cclv為左邊第一執行後無問題cckm為左邊第二個執行程式,但是回頭再次執行cclv時就會出現右邊的狀況
請問各位先進是否我在程式上那邊沒注意到的設定那邊有設定錯誤?

看到程式碼..後請自己改一下
區域變數:只有在這(defun c:cckm () .....)區內可以使用
全域變數:(defun c:cckm () .....) 和 (defun chlay1 ()...)...等都可以使用

區域變數的寫法:(defun chlay1 (/ chklay) ...) ;就是在函數後()內加上 / chlay1

不同函數或程式如果使用同一個定義名稱在未重新定義時就會出現錯誤

還有你2支程式如果有使用同一個函數最好不要定義2次比如"(defun chlay1 (/ chklay) ...)
做一個 共用函數程式.lsp 這樣看起來也比較輕爽
ahorng
ahorng
初級會員
初級會員

文章總數 : 37
年齡 : 54
來自 : 台中
職業 : 服務
愛好 : 腳踏車
個性 : 內向
使用年資 : 10
使用版本 : 2010
積分 : 1
經驗值 : 5299
威望值 : 27
注冊日期 : 2010-07-19
男 射手座 雞

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty [已解決]

發表 由 jock1626 昨天12:18

[quote="ahorng"]
jock1626 寫到:請問各位先進我寫了2lisp程式執行結果如下
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Eu10

不同函數或程式如果使用同一個定義名稱在未重新定義時就會出現錯誤

還有你2支程式如果有使用同一個函數最好不要定義2次比如"(defun chlay1 (/ chklay) ...)
做一個 共用函數程式.lsp 這樣看起來也比較輕爽

感謝先進的建議,目前問題已解決,我只要把副程名改為不同名稱即可,目前我在處理共用函數程式.lsp
不會載入,這就是另個問題,目前正在爬文尋找如何處中!
jock1626
jock1626
一般會員
一般會員

文章總數 : 20
年齡 : 42
來自 : 桃園
職業 : 繪圖員
愛好 : 睡覺
個性 : 是個人吧
使用年資 : 5年
使用版本 : 2016
經驗值 : 882
威望值 : 6
注冊日期 : 2022-05-19
男 水瓶座 狗

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty 回復: [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

發表 由 shenhung 昨天13:13

共用函數.LSP的載入方法很多.
1. 用自定義ACAD.LSP裡的特有s::startup 函數定義你要載入你的LSP. 我自已目前是用這種方法.但要確保ACAD.LSP是路徑上第一個被搜尋到的ACAD.LSP
  (defun s::startup()(load "D:\\LSP\\UTILITY"))
2. 用APPLOAD 對話框裡.有個啟動套件..將你的共用函數.LSP加入套件內.他會一開圖就自動載入.(這應該比較適合你)
3. 如果是特定的公用函數..也可以在LISP內直接載入. 載入方法範例 (load "D:\\LSP\\UTILITY"))
4. ACAD的ACAD.CUIX MENU 會跟隨載入一個主檔名同名.副檔名為MNL的 LSP  想自動載入的LSP也可以在這裡面定義..

____________________________________________________________________________________
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Ioaoe110 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Zuoiy_10 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! 2020-211 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aizyao11 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Iyb_1510
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aizyao10 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! BPl3tjj.png [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Ziao1510 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Oo-2-110 [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Oooa_110
shenhung
shenhung
高級會員
高級會員

文章總數 : 278
年齡 : 57
來自 : 新北市
職業 : 塑膠模具設計.AUTOLISP
愛好 : 音樂
個性 : 隨和
使用年資 : 18年
使用版本 : 2010
積分 : 15
經驗值 : 7892
威望值 : 1175
注冊日期 : 2009-06-03
男 摩羯座 馬

回頂端 向下

[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Empty 回復: [問題]二個lisp我前後執行,是否會相互干擾,從而結果不同!

發表 由 jock1626 昨天16:04

shenhung 寫到:共用函數.LSP的載入方法很多.
1. 用自定義ACAD.LSP裡的特有s::startup 函數定義你要載入你的LSP. 我自已目前是用這種方法.但要確保ACAD.LSP是路徑上第一個被搜尋到的ACAD.LSP
  (defun s::startup()(load "D:\\LSP\\UTILITY"))
2. 用APPLOAD 對話框裡.有個啟動套件..將你的共用函數.LSP加入套件內.他會一開圖就自動載入.(這應該比較適合你)
3. 如果是特定的公用函數..也可以在LISP內直接載入. 載入方法範例 (load "D:\\LSP\\UTILITY"))
4. ACAD的ACAD.CUIX MENU 會跟隨載入一個主檔名同名.副檔名為MNL的 LSP  想自動載入的LSP也可以在這裡面定義..

代碼:
 (defun c:ss1() (load "C:\\block\\lisp\\ccss"))
  (defun c:chlay3() (load "C:\\block\\lisp\\ccss"))
  (defun c:chlay4() (load "C:\\block\\lisp\\ccss"))
  (defun c:styekk() (load "C:\\block\\lisp\\ccss"))

目前先改成這樣,至於第二點的APPLOAD裡的設定,不打算先設定,畢竟有時開CAD是不用這些LISP
也有可能直接用第三點的設法,要用到就直接在開頭寫入LOAD
第四點個人怕有風險,先不設定!
感謝先進的指導,讓我又多學了好幾個設定方式!
jock1626
jock1626
一般會員
一般會員

文章總數 : 20
年齡 : 42
來自 : 桃園
職業 : 繪圖員
愛好 : 睡覺
個性 : 是個人吧
使用年資 : 5年
使用版本 : 2016
經驗值 : 882
威望值 : 6
注冊日期 : 2022-05-19
男 水瓶座 狗

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Ioaoe110[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! 2020-310[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Oiu15010[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! 2020-211[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Ia15010[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aizyao10[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Uos15010[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! BPl3tjj[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Ziao1510
[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aoe15010[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Oo-2-110[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Zuoiy_10[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aizyao11[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Iyb_1510[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aoe1-112[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Uos15011[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aoe2da10[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aoe2da11[問題]二個lisp我前後執行,是否會相互干擾,從而結果不同! Aoe10