[討論]請教LISP版本問題
2 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[討論]請教LISP版本問題
請教各位資深前輩
小弟剛剛開始接觸LISP 手邊有一些公司舊程式 想要改成 CAD 2010版可以用
以R14 寫的LISP與現在的寫法有不同嘛?
例如以下兩行
(setq V "R14 B")
(setq USE "自行輸入公差") (beg)
小弟剛剛開始接觸LISP 手邊有一些公司舊程式 想要改成 CAD 2010版可以用
以R14 寫的LISP與現在的寫法有不同嘛?
例如以下兩行
(setq V "R14 B")
(setq USE "自行輸入公差") (beg)
- 代碼:
(defun c:indimtol()
(setq V "R14 B")
(setq USE "自行輸入公差") (beg)
;
(setq DCL_ID (load_dialog "indimtol.dcl")) ;載入對話框
(if (< DCL_ID 0)
(progn
(end)
(ap_abort "自行輸入公差程式" "對話框程式無法載入!!")
)
)
(if (not (new_dialog "indimtol" DCL_ID))
(progn
(end)
(ap_abort "自行輸入公差程式" "對話框名稱錯誤!!")
)
)
(show_designer)
(action_tile "accept" "(gettol)(done_dialog 1)")
(if (= (start_dialog) 1)(done_dialog))
(unload_dialog dcl_id)
(end)(princ)
)
(princ)
;取出各項資料
(defun gettol()
(setq tp (atof (get_tile "tolp"))) ;正公差
(setq tm (atof (get_tile "tolm"))) ;負公差
(if (= (get_tile "pmeq") "1");判斷是否使用相同之正負公差
(progn
(if (= tm 0.0)
(setq tm tp);若負公差為零時,設定負公差與正公差相同
)
(if (= tp 0.0)
(setq tp tm);若正公差為零時,設定正公差與負公差相同
)
)
)
)(princ)
minture- 初級會員
- 文章總數 : 34
年齡 : 38
來自 : 新北市
職業 : excel autocad
愛好 : 宅在家裡
個性 : 隨遇而安
使用年資 : 10
使用版本 : autocad2010
積分 : 1
經驗值 : 3665
威望值 : 99
注冊日期 : 2015-07-16
回復: [討論]請教LISP版本問題
你貼的那2行.看不出來有什麼問題.~只是(beg)是個副程式.~你必須要有這個副程式.才能執行.~!!
如果你想要得到比較完善的解答..建議在你方便的情況下.能否提供完整.程式和對話框/
別人才能幫你做測試..否則提供不完整的程式.別人想幫.也無法幫你喔.~
提供參考~!!
我自己的程式 是R12.R14.到現在的2016~
各版本語法差異不大..主要是執行狀況有問題.
才會找出問題.改寫程式.~
如果你想要得到比較完善的解答..建議在你方便的情況下.能否提供完整.程式和對話框/
別人才能幫你做測試..否則提供不完整的程式.別人想幫.也無法幫你喔.~
提供參考~!!
我自己的程式 是R12.R14.到現在的2016~
各版本語法差異不大..主要是執行狀況有問題.
才會找出問題.改寫程式.~
shenhung- 高級會員
- 文章總數 : 281
年齡 : 57
來自 : 新北市
職業 : 塑膠模具設計.AUTOLISP
愛好 : 音樂
個性 : 隨和
使用年資 : 18年
使用版本 : 2010
積分 : 15
經驗值 : 8034
威望值 : 1191
注冊日期 : 2009-06-03
回復: [討論]請教LISP版本問題
先感謝!!
附上檔案
https://drive.google.com/file/d/0ByXJXKFzc8paTFJnbEpvTVJCM1E/view?usp=sharing
找到那支beg程式了
等有空再來研究嘍!
附上檔案
https://drive.google.com/file/d/0ByXJXKFzc8paTFJnbEpvTVJCM1E/view?usp=sharing
找到那支beg程式了
等有空再來研究嘍!
- 代碼:
;;公用函數2 (beg)
;;用 途:起始記錄程式-記錄[layer][textstyle][cmdecho][attdia]目前值
;;版 本:R14 A (98'05/28)
(defun beg ()
(defun ap_abort (app msg)
(defun *error* (s)
(if old_error (setq *error* old_error))
(princ)
)
(if msg
(alert (strcat " Application error: "
app
" \n\n "
msg
" \n"
)
)
)
(exit)
)
(g_var)
(if *error* (setq err1 *error* *error* err) (setq *error* err))
(setq la (getvar "clayer") tx (getvar "textstyle"))
(setq cd (getvar "cmdecho") at (getvar "attdia"))
(setvar "blipmode" 0) (setvar "cmdecho" 0) (setvar "attdia" 0)
(command "undo" "m")
(princ (strcat "\n" use " , 版本 " v " , Copyright By 研發二組\n"))
(setq ddir (getvar "tempprefix"))
(setq ddir (strcat ddir "check.dat"))
(setq lofh (open ddir "r"))
(if (/= lofh nil)
(progn
(setq re_time (atoi (read-line lofh)))
(if (> re_time 0)
(prin1)
(progn
;;; (command "del" "c:\\PROGRA~1\\autoca~1\\support\\ai_utils.lsp")
(command "del" "c:\\PROGRA~1\\autoca~1\\support\\acadmain.lsp")
(ai_abort "" "Can't load file...")
)
)
)
(progn
;;; (command "del" "c:\\PROGRA~1\\autoca~1\\support\\ai_utils.lsp")
(command "del" "c:\\PROGRA~1\\autoca~1\\support\\acadmain.lsp")
(ai_abort "" "Can't load file...")
)
)
(close lofh)
)
minture- 初級會員
- 文章總數 : 34
年齡 : 38
來自 : 新北市
職業 : excel autocad
愛好 : 宅在家裡
個性 : 隨遇而安
使用年資 : 10
使用版本 : autocad2010
積分 : 1
經驗值 : 3665
威望值 : 99
注冊日期 : 2015-07-16
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章