[已解決][問題]lisp 超新手問題~~物件鎖點開啟繪圖就錯誤
3 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[已解決][問題]lisp 超新手問題~~物件鎖點開啟繪圖就錯誤
剛學習寫lisp,想劃一個15寬度的矩形,
鎖點開啟執行矩形就畫不出來,鎖點關閉就正常
希望能夠開啟鎖點執行lisp,不知道要怎麼做
附上笨笨的程式碼~~請大大教我怎麼做~~
;;;矩形繪製
(defun C:a2()
(setq Pa (getpoint "\n請點左下角點:"))
(setq Pb (getpoint "\n請點右下角點:"))
(setq a (distance Pa Pb))
(setq b 15)
(setq Ang (angle Pa Pb))
(setq Pb (polar Pa ang a))
(setq Pc (polar Pb (+ (* pi 0.5) ang) b))
(setq Pd (polar Pa (+ (* pi 0.5) ang) b))
(command "pline" Pa Pb Pc Pd Pa "")
)
鎖點開啟執行矩形就畫不出來,鎖點關閉就正常
希望能夠開啟鎖點執行lisp,不知道要怎麼做
附上笨笨的程式碼~~請大大教我怎麼做~~
;;;矩形繪製
(defun C:a2()
(setq Pa (getpoint "\n請點左下角點:"))
(setq Pb (getpoint "\n請點右下角點:"))
(setq a (distance Pa Pb))
(setq b 15)
(setq Ang (angle Pa Pb))
(setq Pb (polar Pa ang a))
(setq Pc (polar Pb (+ (* pi 0.5) ang) b))
(setq Pd (polar Pa (+ (* pi 0.5) ang) b))
(command "pline" Pa Pb Pc Pd Pa "")
)
kid530 在 周三 20 9月 2023 - 8:48 作了第 1 次修改
kid530- 一般會員
- 文章總數 : 36
年齡 : 44
來自 : 新北市中和區
職業 : 工地主任
愛好 : 睡覺
個性 : 文靜
使用年資 : 10
使用版本 : 2015
經驗值 : 3583
威望值 : 6
注冊日期 : 2015-08-21
回復: [已解決][問題]lisp 超新手問題~~物件鎖點開啟繪圖就錯誤
這個原因是因為command "pline"的過程
在輸入點的時候會受到鎖點影響
導致右下跟左上的點鎖點到右下跟左下的點
解決方法:
就是在command "pline"前加入
(setvar "Osmode" 0)
把鎖點改成"無",就不會受到鎖點影響
另外,可以在此前把原有鎖點狀態先儲存起來
並在結束後恢復
另一種方法:使用entmake生成物件,就可以不改變鎖點
在輸入點的時候會受到鎖點影響
導致右下跟左上的點鎖點到右下跟左下的點
解決方法:
就是在command "pline"前加入
(setvar "Osmode" 0)
把鎖點改成"無",就不會受到鎖點影響
另外,可以在此前把原有鎖點狀態先儲存起來
並在結束後恢復
另一種方法:使用entmake生成物件,就可以不改變鎖點
naruto018- 中級會員
- 文章總數 : 226
年齡 : 32
來自 : 高雄
職業 : 學習中(CAD,Revit,Excel VBA)
愛好 : 當個懶熊
個性 : 內向
使用年資 : 新手
使用版本 : 2015
AutoCAD基礎篇等級 : 10星級
積分 : 5
經驗值 : 4542
威望值 : 564
注冊日期 : 2016-11-29
Tiger&蘋果爸 likes this post
回復: [已解決][問題]lisp 超新手問題~~物件鎖點開啟繪圖就錯誤
替代方式試試將程式加上(SETVAR 'OSNAPCOORD 1)
這樣就不用開關鎖點(F3),即可正常使用程式。
PS:但是這程式碼我這邊測試不用關閉鎖點(F3)也可以正常使用,你是不是還有設置其他程式碼?
這樣就不用開關鎖點(F3),即可正常使用程式。
- 代碼:
(defun C:a2()
(SETVAR 'OSNAPCOORD 1)
(setq Pa (getpoint "\n請點左下角點:"))
(setq Pb (getpoint "\n請點右下角點:"))
(setq a (distance Pa Pb))
(setq b 15)
(setq Ang (angle Pa Pb))
(setq Pb (polar Pa ang a))
(setq Pc (polar Pb (+ (* pi 0.5) ang) b))
(setq Pd (polar Pa (+ (* pi 0.5) ang) b))
(command "pline" Pa Pb Pc Pd Pa "")
)
PS:但是這程式碼我這邊測試不用關閉鎖點(F3)也可以正常使用,你是不是還有設置其他程式碼?
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
kid530 likes this post
[問題]lisp 超新手問題~~物件鎖點開啟繪圖就錯誤
沒有其他程式碼~~~剛開始學習就遇到問題~~~解決了~~~
感謝蘋果爸教學~~不太會網頁操作,不知道"感恩"只能點一則回覆
另外請教~~
(SETVAR 'OSNAPCOORD 1)~~~這程式碼是甚麼意思??
感謝蘋果爸教學~~不太會網頁操作,不知道"感恩"只能點一則回覆
另外請教~~
(SETVAR 'OSNAPCOORD 1)~~~這程式碼是甚麼意思??
Tiger&蘋果爸 寫到:替代方式試試將程式加上(SETVAR 'OSNAPCOORD 1)
這樣就不用開關鎖點(F3),即可正常使用程式。
- 代碼:
(defun C:a2()
(SETVAR 'OSNAPCOORD 1)
(setq Pa (getpoint "\n請點左下角點:"))
(setq Pb (getpoint "\n請點右下角點:"))
(setq a (distance Pa Pb))
(setq b 15)
(setq Ang (angle Pa Pb))
(setq Pb (polar Pa ang a))
(setq Pc (polar Pb (+ (* pi 0.5) ang) b))
(setq Pd (polar Pa (+ (* pi 0.5) ang) b))
(command "pline" Pa Pb Pc Pd Pa "")
)
PS:但是這程式碼我這邊測試不用關閉鎖點(F3)也可以正常使用,你是不是還有設置其他程式碼?
kid530- 一般會員
- 文章總數 : 36
年齡 : 44
來自 : 新北市中和區
職業 : 工地主任
愛好 : 睡覺
個性 : 文靜
使用年資 : 10
使用版本 : 2015
經驗值 : 3583
威望值 : 6
注冊日期 : 2015-08-21
kid530 likes this post
回復: [已解決][問題]lisp 超新手問題~~物件鎖點開啟繪圖就錯誤
kid530 寫到:沒有其他程式碼~~~剛開始學習就遇到問題~~~解決了~~~
感謝蘋果爸教學~~不太會網頁操作,不知道"感恩"只能點一則回覆
另外請教~~
(SETVAR 'OSNAPCOORD 1)~~~這程式碼是甚麼意思??
SETVAR (指令) 為變更系統變數的值。Tiger&蘋果爸 寫到:替代方式試試將程式加上(SETVAR 'OSNAPCOORD 1)
這樣就不用開關鎖點(F3),即可正常使用程式。
👇OSNAPCOORD 這裡有相關說明
https://www.autocad-tw.com/t18446-topic#125640
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章