[已解決]請問版本不同是否會影響lisp執行
3 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
[已解決]請問版本不同是否會影響lisp執行
請教各位大大
(setq stxt1 (strcat "D" (rtos aa1 2 0)"@"(rtos aa2 2 0)"cm L="(rtos a1 2 1)"m"))
(command "text" "bl" p1 dimh 0 stxt1)
(setq txt1data (entget (entlast)))
(command "erase" (entlast) "")
(setq txt1box (textbox txt1data))
(setq x1dist (+ dimh (- (car (cadr txt1box)) (car (car txt1box))))) ;求出文字總長度
(setq lp1 (polarxy s11 0 (- (/ 1v 5))))
(setq lp2 (polarxy lp1 (* 5 dimh) (* 5 dimh)))
(setq lp3 (polarxy lp2 x1dist 0))
(command "qleader" lp1 lp2 lp3 "" cancel)
當我在CAD2010執行他可以很順利執行下去
但是當我把程式在CAD2008執行,卻會到(command "erase" (entlast) "")這一行刪除後就停止下一個步驟了
當我檢查執行程序時,發現在CAD2010文字對話框 程序會空白一行
但是在 CAD2008Y則是問我選取物件
我試了好幾台電腦 都是這個問題
請各位大大多多指教
感謝大大提供回答,謝謝
題外話---為什麼cad 2010執行就沒問題哩,真是想不透
(setq stxt1 (strcat "D" (rtos aa1 2 0)"@"(rtos aa2 2 0)"cm L="(rtos a1 2 1)"m"))
(command "text" "bl" p1 dimh 0 stxt1)
(setq txt1data (entget (entlast)))
(command "erase" (entlast) "")
(setq txt1box (textbox txt1data))
(setq x1dist (+ dimh (- (car (cadr txt1box)) (car (car txt1box))))) ;求出文字總長度
(setq lp1 (polarxy s11 0 (- (/ 1v 5))))
(setq lp2 (polarxy lp1 (* 5 dimh) (* 5 dimh)))
(setq lp3 (polarxy lp2 x1dist 0))
(command "qleader" lp1 lp2 lp3 "" cancel)
當我在CAD2010執行他可以很順利執行下去
但是當我把程式在CAD2008執行,卻會到(command "erase" (entlast) "")這一行刪除後就停止下一個步驟了
當我檢查執行程序時,發現在CAD2010文字對話框 程序會空白一行
但是在 CAD2008Y則是問我選取物件
我試了好幾台電腦 都是這個問題
請各位大大多多指教
感謝大大提供回答,謝謝
題外話---為什麼cad 2010執行就沒問題哩,真是想不透
swcforest 在 2010-04-13, 20:52 作了第 2 次修改
swcforest- 初級會員
- 文章總數 : 113
年齡 : 45
來自 : 台中市南區
職業 : 土木工程設計
愛好 : 遊山玩水及AutoLISP
個性 : 開朗活潑
使用年資 : 六七年了
使用版本 : AutoCAD 2016
積分 : 1
經驗值 : 6243
威望值 : 10
注冊日期 : 2008-07-27
回復: [已解決]請問版本不同是否會影響lisp執行
你將文字先ERASE掉了.
請先讓程式該計算的部分先計算好..
執行其他動作前再ERASE掉圖元
(setq stxt1 (strcat "D" (rtos aa1 2 0)"@"(rtos aa2 2 0)"cm L="(rtos a1 2 1)"m"))
(command "text" "bl" p1 dimh 0 stxt1)
(setq txt1data (entget (entlast)))
(setq txt1box (textbox txt1data)) ;<--如果圖元先ERASE 這一行會為NIL~程式抓不到ERASE掉的圖元.~
(setq x1dist (+ dimh (- (car (cadr txt1box)) (car (car txt1box))))) ;求出文字總長度
(setq lp1 (polarxy s11 0 (- (/ 1v 5))))
(setq lp2 (polarxy lp1 (* 5 dimh) (* 5 dimh)))
(setq lp3 (polarxy lp2 x1dist 0))
(command "erase" (entlast) "") <--放到這一行..
(command "qleader" lp1 lp2 lp3 "" cancel)
請先讓程式該計算的部分先計算好..
執行其他動作前再ERASE掉圖元
(setq stxt1 (strcat "D" (rtos aa1 2 0)"@"(rtos aa2 2 0)"cm L="(rtos a1 2 1)"m"))
(command "text" "bl" p1 dimh 0 stxt1)
(setq txt1data (entget (entlast)))
(setq txt1box (textbox txt1data)) ;<--如果圖元先ERASE 這一行會為NIL~程式抓不到ERASE掉的圖元.~
(setq x1dist (+ dimh (- (car (cadr txt1box)) (car (car txt1box))))) ;求出文字總長度
(setq lp1 (polarxy s11 0 (- (/ 1v 5))))
(setq lp2 (polarxy lp1 (* 5 dimh) (* 5 dimh)))
(setq lp3 (polarxy lp2 x1dist 0))
(command "erase" (entlast) "") <--放到這一行..
(command "qleader" lp1 lp2 lp3 "" cancel)
shenhung- 高級會員
- 文章總數 : 281
年齡 : 57
來自 : 新北市
職業 : 塑膠模具設計.AUTOLISP
愛好 : 音樂
個性 : 隨和
使用年資 : 18年
使用版本 : 2010
積分 : 15
經驗值 : 8074
威望值 : 1188
注冊日期 : 2009-06-03
回復: [已解決]請問版本不同是否會影響lisp執行
我也有碰過...不同的版本是有必要再調整修改LISP!
這應該是原廠軟體相容性的問題吧!
當討論區[問題]主題被回覆時,請原發問者測完之後要記得回報。期限內問題若順利解決,請使用編輯該主題在前面加入[已解決],顏色請指定為[無]。
謝謝您的配合~
這應該是原廠軟體相容性的問題吧!
當討論區[問題]主題被回覆時,請原發問者測完之後要記得回報。期限內問題若順利解決,請使用編輯該主題在前面加入[已解決],顏色請指定為[無]。
謝謝您的配合~
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章