[已解決] LISP 指令 TEXT的問題
4 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
[已解決] LISP 指令 TEXT的問題
請教各位前輩
(defun c:123()
(setvar "cmdecho" 0)
(setq T00 (getpoint "Enter Left/Low Point:"))
(command "-text" t00 50 0 "abcd" "")
(setvar "cmdecho" 1)
(prin1)
)
上面的程式 我在同一台電腦 執行(我的是cad 2006)有的圖檔可以用,有的不行用.
比方說 我在A圖檔 執行 就出現 abcd <--正常
我在B圖檔 執行 就出現 0 <---這個0的角度是50度
我在cad裡直接執行text , 在A檔 執行 text 需要輸入高度
在B檔 執行 text 不需要輸入高度
請問各位前輩,問題出在哪???
如果我想在每個檔案都可以使用,那程式應該怎麼寫??
謝謝!!
(defun c:123()
(setvar "cmdecho" 0)
(setq T00 (getpoint "Enter Left/Low Point:"))
(command "-text" t00 50 0 "abcd" "")
(setvar "cmdecho" 1)
(prin1)
)
上面的程式 我在同一台電腦 執行(我的是cad 2006)有的圖檔可以用,有的不行用.
比方說 我在A圖檔 執行 就出現 abcd <--正常
我在B圖檔 執行 就出現 0 <---這個0的角度是50度
我在cad裡直接執行text , 在A檔 執行 text 需要輸入高度
在B檔 執行 text 不需要輸入高度
請問各位前輩,問題出在哪???
如果我想在每個檔案都可以使用,那程式應該怎麼寫??
謝謝!!
r1543761189 在 2011-10-24, 07:52 作了第 1 次修改
r1543761189- 一般會員
- 文章總數 : 22
年齡 : 44
來自 : 彰化
職業 : 設計
愛好 : 布袋戲
個性 : 安靜
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 4896
威望值 : 0
注冊日期 : 2011-09-30
回復: [已解決] LISP 指令 TEXT的問題
r1543761189 寫到:請教各位前輩
上面的程式 我在同一台電腦 執行(我的是cad 2006)有的圖檔可以用,有的不行用.
比方說 我在A圖檔 執行 就出現 abcd <--正常
我在B圖檔 執行 就出現 0 <---這個0的角度是50度
我在cad裡直接執行text , 在A檔 執行 text 需要輸入高度
在B檔 執行 text 不需要輸入高度
這是因為B圖檔的文字樣式有設定字高的關係~
明~- 高級會員
- 文章總數 : 307
年齡 : 44
來自 : 彰化
職業 : 機械
愛好 : 打球 騎車 健行 音樂 電影 (說不完...)
個性 : 不與人爭
使用年資 : 從學生時代接觸到現在(工作中不一定使用)
使用版本 : 2004和2008
積分 : 17
經驗值 : 7195
威望值 : 667
注冊日期 : 2009-12-24
回復: [已解決] LISP 指令 TEXT的問題
(defun c:123()
(setvar "cmdecho" 0)
(command "-STYLE" "STANDARD" "CHINESET.SHX" "" "" "" "" "" "")
;;加入這一行,將型式直接指定為內定的字型及字高(2.5),應該就沒有問題
;;如果使用的字型及字高需另外控制,就需要別的方法再加入一些變數控制
(setq T00 (getpoint "Enter Left/Low Point:"))
(command "-text" t00 50 0 "abcd" "")
(setvar "cmdecho" 1)
(prin1)
)
我想你要的應該是有答案的,試一試吧! 我只會基本的而已.....
(setvar "cmdecho" 0)
(command "-STYLE" "STANDARD" "CHINESET.SHX" "" "" "" "" "" "")
;;加入這一行,將型式直接指定為內定的字型及字高(2.5),應該就沒有問題
;;如果使用的字型及字高需另外控制,就需要別的方法再加入一些變數控制
(setq T00 (getpoint "Enter Left/Low Point:"))
(command "-text" t00 50 0 "abcd" "")
(setvar "cmdecho" 1)
(prin1)
)
我想你要的應該是有答案的,試一試吧! 我只會基本的而已.....
adslwang- 高級會員
- 文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7211
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
回復: [已解決] LISP 指令 TEXT的問題
恩~
adslwang 前輩的方法可以用了!謝謝
adslwang 前輩的方法可以用了!謝謝
r1543761189- 一般會員
- 文章總數 : 22
年齡 : 44
來自 : 彰化
職業 : 設計
愛好 : 布袋戲
個性 : 安靜
使用年資 : 新手初學
使用版本 : 新手初學
經驗值 : 4896
威望值 : 0
注冊日期 : 2011-09-30
回復: [已解決] LISP 指令 TEXT的問題
r1543761189 寫到:請教各位前輩
(defun c:123()
(setvar "cmdecho" 0)
(setq T00 (getpoint "Enter Left/Low Point:"))
(command "-text" t00 50 0 "abcd" "")
(setvar "cmdecho" 1)
(prin1)
)
- 代碼:
(defun c:123()
(setvar "cmdecho" 0)
(setq PT1 (getpoint "Enter Left/Low Point:"))
(setq TH (cdr (assoc 40 (tblsearch "style" (getvar "textstyle")))));查詢文字型式style中的高度是否有設定
(if (= TH nil)
(command "-text" PT1 "3" "0" "abcd");文字型式的字高沒設定,高度3,角度0,記得,非變數要加雙引號
(command "-text" PT1 "0" "abcd");文字型式的字高有設定,角度0
)
(setvar "cmdecho" 1)
(prin1)
)
((0 . "STYLE") (2 . "Standard") (70 . 0) (40 . 1.735) (41 . 0.75) (50 . 0.0)
(71 . 0) (42 . 3) (3 . "romans.shx") (4 . "chineset.shx"))
上述為文字型式的DXF群碼,(40 . 1.735)就是文字高度
------------------------------------------------------------------------------------
(cdr (assoc 40 (tblsearch "style" (getvar "textstyle"))))
上述為取出文字型式中的文字高度,以判斷有沒有設定文字高度,若有設定高度,則標註註型式中文字高度會變成這個高度,意思是不管標註註型式中文字高度設定多少,都會變成文字型式中的文字高度,除非把文字型式中的文字高度設定為0
------------------------------------------------------------------------------------
SYTLE文字型式有設定文字高度
------------------------------------------------------------------------------------
SYTLE文字型式沒有設定文字高度
------------------------------------------------------------------------------------
if的用法
(if (條件成立)
執行此行(command "-text" PT1 "3" "0" "abcd")
否則
執行此行(command "-text" PT1 "0" "abcd")
Tiger&蘋果爸 寫到: 謝謝熱心圖文回覆~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
djh1006- 中級會員
- 文章總數 : 177
年齡 : 53
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 連續沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 23年以上
使用版本 : 2014
積分 : 7
經驗值 : 6137
威望值 : 359
注冊日期 : 2011-06-16
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論 :: 已解決主題精華區
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章