[問題] lisp 圖紙空間設定比例 語法問題
2 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[問題] lisp 圖紙空間設定比例 語法問題
大家好, 我在寫lisp時又發生了些問題, 想在這請教先進們
代碼如上, 在dsc的地方 他要求要寫入一個距離/值X
而我需要輸入的值 可能為 71/2000XP
嘗試過如下寫法
1. 設 dsc
(setq dsc(geststring "\n輸入比例值"))
測試!dsc 回傳的是正確的值
但是代入會失敗
2. 設num1 num2 num3
(setq num1(getint "\n輸入圖紙比例"))
(setq num2(getint "\n輸入出圖比例"))
(setq num3(/ num1 num2))
用!num3 檢測, 有成功製作出我需要的值, 但沒辦法加上xp, 而且將num3代入??? 也是失敗
還請各位先進有空的話, 幫小弟看一下應該怎麼輸入這個???較好
- 代碼:
; made by ChangYen
;2022/11/05
; 畫完圖後, 將圖對正, 並設定圖紙空間
(defun c:AE(/ DSC )
(setvar "cmdecho" 0)
(setq dsc(getstring "\n請輸入圖紙比例"))
(command "Tilemode" "1")
(command "zoom" "e")
(command "Tilemode" "0")
(command "PSPACE")
(command "zoom" "e")
(command "MSPACE") ;進模型空間
(command "Zoom" "c" "0,0" "dsc")
(command "PSPACE")
(command "Tilemode" "1")
)
代碼如上, 在dsc的地方 他要求要寫入一個距離/值X
而我需要輸入的值 可能為 71/2000XP
嘗試過如下寫法
1. 設 dsc
(setq dsc(geststring "\n輸入比例值"))
測試!dsc 回傳的是正確的值
但是代入會失敗
2. 設num1 num2 num3
(setq num1(getint "\n輸入圖紙比例"))
(setq num2(getint "\n輸入出圖比例"))
(setq num3(/ num1 num2))
用!num3 檢測, 有成功製作出我需要的值, 但沒辦法加上xp, 而且將num3代入??? 也是失敗
還請各位先進有空的話, 幫小弟看一下應該怎麼輸入這個???較好
肥宅工程師- 專屬會員
- 文章總數 : 20
年齡 : 33
來自 : Taichang
職業 : 機構工程師
愛好 : 沒日沒夜的工作&賭博
個性 : 隨興而致 自我中心
使用年資 : 約6yers
使用版本 : 2020 chanica
經驗值 : 1076
威望值 : 12
注冊日期 : 2022-04-24
回復: [問題] lisp 圖紙空間設定比例 語法問題
經過一段時間精進後, 將問題用另一個方式解決了
找到了一個PAUSE功能的指令
修改後如下
找到了一個PAUSE功能的指令
修改後如下
- 代碼:
; 畫完圖後, 將圖對正, 並設定圖紙空間
(defun c:AE( / )
(setvar "cmdecho" 0)
(command "Tilemode" "1")
(command "zoom" "e")
(command "zoom" "0.9XP")
(command "Tilemode" "0")
(command "PSPACE")
(command "zoom" "e")
(command "zoom" "0.9XP")
(command "MSPACE")
(command "Zoom" "c" "0,0" pause "")
(command "PSPACE")
(command "Tilemode" "1")
(prompt "\n 程式由肥宅工程師所編寫, 敬請指教")(prin1)
)
肥宅工程師- 專屬會員
- 文章總數 : 20
年齡 : 33
來自 : Taichang
職業 : 機構工程師
愛好 : 沒日沒夜的工作&賭博
個性 : 隨興而致 自我中心
使用年資 : 約6yers
使用版本 : 2020 chanica
經驗值 : 1076
威望值 : 12
注冊日期 : 2022-04-24
回復: [問題] lisp 圖紙空間設定比例 語法問題
修改為下面的
(COMMAND "ZOOM" "C" "0,0" DSC)
你前面已經用GETSTRING 取得字串了, 後面就不需要再用 "" 去定義變數字串
(COMMAND "ZOOM" "C" "0,0" DSC)
你前面已經用GETSTRING 取得字串了, 後面就不需要再用 "" 去定義變數字串
阿希- 高級會員
- 文章總數 : 348
年齡 : 43
來自 : 台北
職業 : 水電設計
愛好 : autolisp
個性 : 和平主義者
使用年資 : 5
使用版本 : 2008
積分 : 19
經驗值 : 6825
威望值 : 226
發帖精華 : 1
注冊日期 : 2008-09-22
回復: [問題] lisp 圖紙空間設定比例 語法問題
肥宅工程師 寫到:大家好, 我在寫lisp時又發生了些問題, 想在這請教先進們如上面的程式 我想做一個畫完圖後整理的lisp
- 代碼:
; made by ChangYen
;2022/11/05
; 畫完圖後, 將圖對正, 並設定圖紙空間
(defun c:AE(/ DSC )
(setvar "cmdecho" 0)
(setq dsc(getstring "\n請輸入圖紙比例"))
(command "Tilemode" "1")
(command "zoom" "e")
(command "Tilemode" "0")
(command "PSPACE")
(command "zoom" "e")
(command "MSPACE") ;進模型空間
(command "Zoom" "c" "0,0" "dsc")
(command "PSPACE")
(command "Tilemode" "1")
)
代碼如上, 在dsc的地方 他要求要寫入一個距離/值X
而我需要輸入的值 可能為 71/2000XP
嘗試過如下寫法
1. 設 dsc
(setq dsc(geststring "\n輸入比例值"))
測試!dsc 回傳的是正確的值
但是代入會失敗
2. 設num1 num2 num3
(setq num1(getint "\n輸入圖紙比例"))
(setq num2(getint "\n輸入出圖比例"))
(setq num3(/ num1 num2))
用!num3 檢測, 有成功製作出我需要的值, 但沒辦法加上xp, 而且將num3代入??? 也是失敗
還請各位先進有空的話, 幫小弟看一下應該怎麼輸入這個???較好
補充一下
1.
(command "Zoom" "c" "0,0" "dsc")
修改為
(command "Zoom" "c" "0,0" dsc)
2.
(setq num1(getint "\n輸入圖紙比例")) ; 這是實數函數
(setq num2(getint "\n輸入出圖比例")) ; 這是實數函數
(setq num3(/ num1 num2)) ; 這求得的是實數
如要加上 XP, XP屬於字串, 必須將num3的實數轉換為字串再與 XP字串做結合
阿希- 高級會員
- 文章總數 : 348
年齡 : 43
來自 : 台北
職業 : 水電設計
愛好 : autolisp
個性 : 和平主義者
使用年資 : 5
使用版本 : 2008
積分 : 19
經驗值 : 6825
威望值 : 226
發帖精華 : 1
注冊日期 : 2008-09-22
Tiger&蘋果爸 likes this post
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章