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 Io15011 [討論]怪怪的LISP 2020-310 [討論]怪怪的LISP Oiu15010 [討論]怪怪的LISP 2020-211 [討論]怪怪的LISP Oo-2-110 [討論]怪怪的LISP BPl3tjj

[討論]怪怪的LISP

向下

[討論]怪怪的LISP Empty [討論]怪怪的LISP

發表 由 meucci323 2010-04-09, 23:23

請教一下高手:
最近在練習AutoLisp,我參照書上的練習把程式打出來後,拿到autocad 2009中測試,結果測試出好多種不同的錯誤喔,我重新檢查好多遍,就是找不到到底哪裡打錯了,也對著書上的練習一個字一個字檢查,也並沒有錯,不論怎麼測試都會出現好多種狀況的錯誤,怎麼會這樣阿,到底是我的問題,還是軟體有問題阿?請各位高手幫幫小弟解除這個疑惑,謝謝!
我差不多七年前就已經學過AutoLisp,也練過這個練習了,那時候是2002版的,那時測試都沒有問題阿,這三年沒用autocad而都在畫solidworks,最近開始常用到autocad,所以又開始複習一下autolisp,沒想到剛開始就碰到這個問題,究竟是我的問題還是軟體的問題,真傷腦筋阿
以下是我照書上練習的程式:
(defun c:pbox()
;以下pa、ww、hh值由使用者輸入
(setq pa (getpoint "輸入左下角點:"))
(setq ww (getreal "\n 寬度 w:"))
(setq hh (getreal "\n 高度 h:"))
;以下pb、pc、pd值須由程式依據pa、ww、hh求出
(setq pb (polar pa 0 ww))
(setq pc (polar pb (/ pi 2) hh))
(setq pd (polar pc pi ww))
;以下依據pa、pb、pc、pd點畫矩形
(command "pline" pa pb pc pd "c")
;以下mp1、mp2、mp3、mp4值須由程式依據pa、ww、hh
;&pb、pc、pd值求出
(setq mp1 (polar pa 0 (/ ww 2)))
(setq mp2 (polar pb (/ pi 2) (/ hh 2)))
(setq mp3 (polar pc pi (/ ww 2)))
(setq mp4 (polar pa (* pi 0.5) (/ hh 2)))
;以下依據mp1、mp2、mp3、mp4點畫出二條線
(command "line" mp1 mp3 "")
(command "line" mp2 mp4 "")
)


[討論]怪怪的LISP Pbox

圖上紅色線條才是正確答案,白色線條都是錯的,請各位高手幫我看看到底問題出在哪裡啊?

謝謝!


Tiger&蘋果爸 在 2010-05-25, 12:30 作了第 3 次修改
meucci323
meucci323
一般會員
一般會員

文章總數 : 14
年齡 : 43
來自 : 苗栗縣
職業 : 繪圖工程師
愛好 : internet
個性 : 隨和
使用年資 : 3年
使用版本 : 2008,2009
經驗值 : 4275
威望值 : -1
未回應主題 : 1
注冊日期 : 2009-07-05
男 白羊座 蛇

回頂端 向下

[討論]怪怪的LISP Empty 回復: [討論]怪怪的LISP

發表 由 Tiger&蘋果爸 2010-04-10, 00:13

在討論區發表問題時,請在主題前請加入[問題],顏色請指定為[藍色],論壇管理顧問會將您的主題置頂,方便大家即時討論。
[討論]怪怪的LISP J0250

[說明]發表主題前,請遵守相關要領!
http://autocad.bestoforum.net/forum-f12/topic-t1521.htm

謝謝您的配合~

____________________________________________________________________________________
[討論]怪怪的LISP Oo-2-110 [討論]怪怪的LISP Ia15010 [討論]怪怪的LISP Ziao1510 [討論]怪怪的LISP BPl3tjj
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 19578
年齡 : 45
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 20↑
使用版本 : AutoCAD 2021
經驗值 : 78066
威望值 : 14965
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i.servimg.com/u/f11/19/71/67/71/2d3d10.png2D+3D線上 顧問外掛程式 經典問與答讀者 藍鵲1號
2009聚會勳章 2010聚會勳章 2011聚會勳章 2012聚會勳章 2013勳章-2D基礎 2014聚會勳章 2015聚會勳章 2016聚會勳章 串連貼紙成功 男 水瓶座 兔

http://mypaper.pchome.com.tw/kv1012tiger

回頂端 向下

[討論]怪怪的LISP Empty 回復: [討論]怪怪的LISP

發表 由 meucci323 2010-04-10, 00:20

謝謝提醒,不好意思阿,我第一次發表文章,所以不清楚規矩,下次會改進 害羞
meucci323
meucci323
一般會員
一般會員

文章總數 : 14
年齡 : 43
來自 : 苗栗縣
職業 : 繪圖工程師
愛好 : internet
個性 : 隨和
使用年資 : 3年
使用版本 : 2008,2009
經驗值 : 4275
威望值 : -1
未回應主題 : 1
注冊日期 : 2009-07-05
男 白羊座 蛇

回頂端 向下

[討論]怪怪的LISP Empty 回復: [討論]怪怪的LISP

發表 由 shenhung 2010-04-10, 15:21

你的程式沒問題..只是鎖點模式打開而已.
程式之前.先記錄目前鎖點模式..畫完圖之後再回覆原來的鎖點模

(defun c:pbox(/ pa ww hh pb pc pd mp1 mp2 mp3 mp4 )
;以下pa、ww、hh值由使用者輸入
(setq c_osmode (getvar "osmode"))
(setq old_err *error* *error* pbox_err)
(setq pa (getpoint "輸入左下角點:"))
(setq ww (getreal "\n 寬度 w:"))
(setq hh (getreal "\n 高度 h:"))
;以下pb、pc、pd值須由程式依據pa、ww、hh求出
(setq pb (polar pa 0 ww))
(setq pc (polar pb (/ pi 2) hh))
(setq pd (polar pc pi ww))
;以下依據pa、pb、pc、pd點畫矩形
(setvar "osmode" 0)
(setvar "cmdecho" 0)
(command "pline" pa pb pc pd "c")
;以下mp1、mp2、mp3、mp4值須由程式依據pa、ww、hh
;&pb、pc、pd值求出
(setq mp1 (polar pa 0 (/ ww 2)))
(setq mp2 (polar pb (/ pi 2) (/ hh 2)))
(setq mp3 (polar pc pi (/ ww 2)))
(setq mp4 (polar pa (* pi 0.5) (/ hh 2)))
;以下依據mp1、mp2、mp3、mp4點畫出二條線
(command "line" mp1 mp3 "")
(command "line" mp2 mp4 "")
(setvar "cmdecho" 1)
(setvar "osmode" c_osmode)
(princ)
)
(defun pbox_err(st)
(setvar "osmode" c_osmode)
(setq *error* old_err)
(princ)
)

Tiger&蘋果爸 寫到:讚啦!! 謝謝熱心回覆~< 積分 +1>
[公告]關於團隊成員的回文及貢獻


Tiger&蘋果爸 在 2010-04-12, 09:30 作了第 1 次修改 (原因 : 非常專業!!)
shenhung
shenhung
高級會員
高級會員

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

回頂端 向下

[討論]怪怪的LISP Empty 回復: [討論]怪怪的LISP

發表 由 明~ 2010-04-11, 23:15

如同shenhung大說的~
像這類的程式,在畫圖形之前要關閉物件鎖點~
雖然每一點都有明確的定出來,但它還是會因為有設定物件鎖點而抓錯點~
使得圖形不正確,這點要注意~
明~
明~
高級會員
高級會員

文章總數 : 307
年齡 : 41
來自 : 彰化
職業 : 機械
愛好 : 打球 騎車 健行 音樂 電影 (說不完...)
個性 : 不與人爭
使用年資 : 從學生時代接觸到現在(工作中不一定使用)
使用版本 : 2004和2008
積分 : 17
經驗值 : 5836
威望值 : 667
注冊日期 : 2009-12-24
藍鵲292號
男 雙魚座 猴

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[討論]怪怪的LISP Uos15010 [討論]怪怪的LISP BPl3tjj [討論]怪怪的LISP Ziao1510 [討論]怪怪的LISP Oo-2-110 [討論]怪怪的LISP Oooo-110 [討論]怪怪的LISP 2020-211