AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~

【回帖精華】請問lisp要如何寫引線文字

上一篇主題 下一篇主題 向下

【回帖精華】請問lisp要如何寫引線文字

發表 由 swcforest 于 2009-10-14, 10:43

請問各位大大
當我在程式中 給予各參數值後
例如
(setq aa 10.5) (setq bb 21.8)
(setq cc (+ aa bb))
我想要寫出
引線文字
文字內容為 10.5+21.8=32.3
我是用qleader
但是我想要將文字置於引線上方
請各位大大指導方向
謝謝


Tiger&蘋果爸 在 2010-02-12, 01:39 作了第 3 次修改

swcforest
初級會員
初級會員

文章總數 : 104
年齡 : 38
來自 : 台中市南區
職業 : 土木工程設計
愛好 : 遊山玩水及AutoLISP
個性 : 開朗活潑
使用年資 : 六七年了
使用版本 : AutoCAD 2016
積分 : 1
經驗值 : 3595
威望值 : 13
注冊日期 : 2008-07-27
男 天秤座 羊

回頂端 向下

回復: 【回帖精華】請問lisp要如何寫引線文字

發表 由 Tiger&蘋果爸 于 2009-10-14, 10:59

請參考,有更好的方法的朋友也請補充一下~

(atof 字串) 將字串轉成實數值,然後才能運算(相加)。

(rtos 數值 模式 [精度]) 將實數轉成字串,然後把字串抓出來給引線文字使用!!

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17200
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 64642
威望值 : 12750
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.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要如何寫引線文字

發表 由 swcforest 于 2009-10-14, 11:06

感謝蘋果爸
我的意思是說
我的程式中
(command "qleader" p1 p2 -------)
在p2後面之後 我要怎麼寫 文字才會在線上

swcforest
初級會員
初級會員

文章總數 : 104
年齡 : 38
來自 : 台中市南區
職業 : 土木工程設計
愛好 : 遊山玩水及AutoLISP
個性 : 開朗活潑
使用年資 : 六七年了
使用版本 : AutoCAD 2016
積分 : 1
經驗值 : 3595
威望值 : 13
注冊日期 : 2008-07-27
男 天秤座 羊

回頂端 向下

回復: 【回帖精華】請問lisp要如何寫引線文字

發表 由 jaterfor 于 2009-10-14, 14:51

由於功力不夠,僅提供"leader"的指令來輔助。
將下列分隔線中的文字複製貼上到 *.lsp 的檔案內,在指令列中鍵入"qer"指令就可以了,順帶一提,除了沒有辦法像"qleader"指令那樣,可以有折線的方式表現,但是這個指令在各個方向都可以正常的標註,也請放心使用。

;--------分隔線--------
(Defun C:qer(/ P1 P2)
(Setvar "cmdecho" 0)
(Setvar "blipmode" 0)
(Setq P1 (Getpoint "\nQER ★請指定標示點:"))
(Setq P2 (Getpoint P1 "\n ☆第二點:"))
(Command "leader" P1 P2 "" "10.5+21.8=32.3" "" "")
(princ"\n完成『快速引線標註』")
(princ)
)
;--------分隔線--------

雖然判斷大大應該會載入 *.lsp 檔案,但是我還是在以下,作載入的說明:
1. 存好檔後,請執行"appload"指令後。
2. 到"載入/釋放應用程式"對話框中的,"啟動套件"欄內按下"內容(O)...",在啟動套件對話框中按下"加入(A)...",點選剛剛儲存的 *.lsp 檔案,再按下加入,確定在啟動套件對話框中的"應用程式列示:"清單內,出現點選的 *.lsp 檔案,按下關閉。
3. 接著在載入/釋放應用程式對話框中,也是點選一下剛剛儲存的 *.lsp 檔案,按下載入,再按下關閉。


jaterfor 在 2009-10-14, 18:28 作了第 1 次修改
avatar
jaterfor
中級會員
中級會員

文章總數 : 94
年齡 : 36
來自 : 大台中市霧峰區
職業 : 機械設計工程師, 售服工程師
愛好 : 看書,打羽球,游泳
個性 : 隨和但不隨便, 隨緣但不隨性~
使用年資 : 自從學R14版之後, 哇嗚~ 終於10年了
使用版本 : AutoCAD 2004, 2008, 2010
積分 : 5
經驗值 : 3463
威望值 : 108
發帖精華 : 1
注冊日期 : 2009-05-06
藍鵲51號
2011-0424讀書會 男 金牛座 雞

回頂端 向下

回復: 【回帖精華】請問lisp要如何寫引線文字

發表 由 jaterfor 于 2009-10-14, 15:07



以上為完成的畫面~


jaterfor 在 2009-10-14, 18:39 作了第 1 次修改
avatar
jaterfor
中級會員
中級會員

文章總數 : 94
年齡 : 36
來自 : 大台中市霧峰區
職業 : 機械設計工程師, 售服工程師
愛好 : 看書,打羽球,游泳
個性 : 隨和但不隨便, 隨緣但不隨性~
使用年資 : 自從學R14版之後, 哇嗚~ 終於10年了
使用版本 : AutoCAD 2004, 2008, 2010
積分 : 5
經驗值 : 3463
威望值 : 108
發帖精華 : 1
注冊日期 : 2009-05-06
藍鵲51號
2011-0424讀書會 男 金牛座 雞

回頂端 向下

【回帖精華】

發表 由 張譽璋 于 2009-10-14, 17:12

使用QLEADER指令你必須先至"設定"功能中設定好連結多行文字的模式,在"貼附"頁面-->核取底行文字加底線,接著執行以下這段程式即可,如須經常使用建議你先設定在樣板檔中,程式中你可以標註前輸入兩個數值,程式就會幫你運算並寫出運算式及結果
程式中不需設定第二點 P2 這樣你標註時就看不到引線的預視,所以第二點只須給暫停即可.



代碼:
(DEFUN C:QLE (/ OSM TX1 TX2 TX3 TXT P1 SL)
  (SETVAR "CMDECHO" 0)
  (SETVAR "BLIPMODE" 0)
  (SETQ OSM (GETVAR "OSMODE"))
  (INITGET "A S M D")
  (PRINC "\n選擇運算方式 加法(A)/減法(S)/乘法(M)/除法(D) <A>:")
  (SETQ SL (GETKWORD))
  (IF (NULL SL) (SETQ SL "A"))
  (SETQ TX1 (GETREAL "\n輸入第一個值:"))
  (IF (= TX1 nil) (EXIT))
  (SETQ TX2 (GETREAL "\n輸入第二個值:"))
  (IF (= TX2 nil) (EXIT))
  (COND ((= SL "A") (SETQ TX3 (RTOS (+ TX1 TX2)))
                    (SETQ TXT (STRCAT (RTOS TX1) "+" (RTOS TX2) "=" TX3))
 )
 ((= SL "S") (SETQ TX3 (RTOS (- TX1 TX2)))
                    (SETQ TXT (STRCAT (RTOS TX1) "-" (RTOS TX2) "=" TX3))
 )
 ((= SL "M") (SETQ TX3 (RTOS (* TX1 TX2)))
                    (SETQ TXT (STRCAT (RTOS TX1) "x" (RTOS TX2) "=" TX3))
 )
 ((= SL "D") (SETQ TX3 (RTOS (/ TX1 TX2)))
                    (SETQ TXT (STRCAT (RTOS TX1) "/" (RTOS TX2) "=" TX3))
 )
  );COND
  (SETVAR "OSMODE" 513)
  (SETQ P1 (GETPOINT "\n指定引線的起點:"))
  (PRINC "\n指定下一點:\:")
  (COMMAND "QLEADER" P1 PAUSE "" "" TXT "")
  (SETVAR "OSMODE" OSM)
  (SETVAR "CMDECHO" 1)
  (SETVAR "BLIPMODE" 1)
  (PRINC)
)  



答對了恭喜您的回覆獲選為回帖精華文章! < 積分+1、威望+3 >

[公告]關於論壇的文章價值

▼20160719補充下載QLE.LSP檔▼
附件
QLE.zip 您無權下載這里的附件。(1 Kb) 下載 4 次


Tiger&蘋果爸 在 2016-07-19, 11:18 作了第 3 次修改 (原因 : 20160719補充下載QLE.LSP檔)

張譽璋
榮譽顧問
榮譽顧問

文章總數 : 303
年齡 : 47
來自 : 彰化縣員林鎮
職業 : 機械設計工程師/AutoCAD講師/AutoCAD外掛系統開發/AutoCAD書籍作者
愛好 : 旅行及電影
個性 : 風趣健談
使用年資 : 25年
使用版本 : AutoCAD2010/2011/2012/2013
積分 : 20
經驗值 : 4912
威望值 : 624
發帖精華 : 2
回帖精華 : 1
注冊日期 : 2008-05-28
藍鵲12號
男 處女座 狗

回頂端 向下

回復: 【回帖精華】請問lisp要如何寫引線文字

發表 由 leoneriol 于 2009-10-15, 02:15

感覺好精華阿XD


leoneriol 在 2009-10-15, 02:18 作了第 1 次修改 (原因 : = =a...又看錯意思了)
avatar
leoneriol
榮譽顧問
榮譽顧問

文章總數 : 816
年齡 : 33
來自 : 基隆市七堵區
職業 : 機電工程公司-繪圖(工地)
愛好 : 看小說
個性 : 不愛說話-反應慢
使用年資 : 6年
使用版本 : 2008 & 2012
積分 : 27
經驗值 : 6581
威望值 : 938
發帖精華 : 1
回帖精華 : 1
注冊日期 : 2009-03-12
經典問與答讀者 藍鵲34號
2009聚會勳章 2014聚會勳章 男 雙魚座 鼠

回頂端 向下

回復: 【回帖精華】請問lisp要如何寫引線文字

發表 由 Tiger&蘋果爸 于 2009-10-15, 02:41

jaterfor 寫到:
;--------分隔線--------
(Defun C:qer(/ P1 P2)
(Setvar "cmdecho" 0)
(Setvar "blipmode" 0)
(Setq P1 (Getpoint "\nQER ★請指定標示點:"))
(Setq P2 (Getpoint P1 "\n ☆第二點:"))
(Command "leader" P1 P2 "" "10.5+21.8=32.3" "" "")
(princ"\n完成『快速引線標註』")
(princ)
)
;--------分隔線--------
張譽璋 寫到:
代碼:
(DEFUN C:QLE (/ OSM TX1 TX2 TX3 TXT P1 SL)
  (SETVAR "CMDECHO" 0)
  (SETVAR "BLIPMODE" 0)
  (SETQ OSM (GETVAR "OSMODE"))
  (INITGET "A S M D")
  (PRINC "\n選擇運算方式 加法(A)/減法(S)/乘法(M)/除法(D) <A>:")
  (SETQ SL (GETKWORD))
  (IF (NULL SL) (SETQ SL "A"))
  (SETQ TX1 (GETREAL "\n輸入第一個值:"))
  (IF (= TX1 nil) (EXIT))
  (SETQ TX2 (GETREAL "\n輸入第二個值:"))
  (IF (= TX2 nil) (EXIT))
  (COND ((= SL "A") (SETQ TX3 (RTOS ( TX1 TX2)))
                    (SETQ TXT (STRCAT (RTOS TX1) " " (RTOS TX2) "=" TX3))
        )
        ((= SL "S") (SETQ TX3 (RTOS (- TX1 TX2)))
                    (SETQ TXT (STRCAT (RTOS TX1) "-" (RTOS TX2) "=" TX3))
        )
        ((= SL "M") (SETQ TX3 (RTOS (* TX1 TX2)))
                    (SETQ TXT (STRCAT (RTOS TX1) "x" (RTOS TX2) "=" TX3))
        )
        ((= SL "D") (SETQ TX3 (RTOS (/ TX1 TX2)))
                    (SETQ TXT (STRCAT (RTOS TX1) "/" (RTOS TX2) "=" TX3))
        )
  );COND
  (SETVAR "OSMODE" 513)
  (SETQ P1 (GETPOINT "\n指定引線的起點:"))
  (PRINC "\n指定下一點:")
  (COMMAND "QLEADER" P1 PAUSE "" "" TXT "")
  (SETVAR "OSMODE" OSM)
  (SETVAR "CMDECHO" 1)
  (SETVAR "BLIPMODE" 1)
  (PRINC)
)
******************************************************
讚啦!! 謝謝 jaterfor及張譽璋 熱心回覆~< 積分 +1>

[公告]關於團隊成員的回文及貢獻

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17200
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 64642
威望值 : 12750
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.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要如何寫引線文字

發表 由 Tiger&蘋果爸 于 2009-10-15, 02:41

swcforest 寫到:感謝蘋果爸
我的意思是說
我的程式中
(command "qleader" p1 p2 -------)
在p2後面之後 我要怎麼寫 文字才會在線上
了解。
寫引線文字使用lisp方式,請問你的需求是為何呢!?

而上面二位的程式也請你試試看!

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17200
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 64642
威望值 : 12750
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.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要如何寫引線文字

發表 由 Tiger&蘋果爸 于 2009-10-15, 02:51

張譽璋 寫到: (COND ((= SL "A") (SETQ TX3 (RTOS ( TX1 TX2)))
(SETQ TXT (STRCAT (RTOS TX1) " " (RTOS TX2) "=" TX3))
張老師
加法這部份使用後發現無法使用,研判程式中少了 + 號 ,我補了之後即可正常使用。
謝謝~

(COND ((= SL "A") (SETQ TX3 (RTOS (+ TX1 TX2)))
(SETQ TXT (STRCAT (RTOS TX1) "+" (RTOS TX2) "=" TX3))

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17200
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 64642
威望值 : 12750
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.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要如何寫引線文字

發表 由 swcforest 于 2009-10-15, 10:10

感謝各位熱心的大大提供方法
因為小弟我自己本身有再寫程式
方便標準圖製作
我想要給參數後
自動劃出各種標準圖 例如三視圖
然後將一些尺寸標註及說明文字 自動建立
這樣以後就可省下很多時間來畫圖
再次感謝各位大大分享
感激不盡

swcforest
初級會員
初級會員

文章總數 : 104
年齡 : 38
來自 : 台中市南區
職業 : 土木工程設計
愛好 : 遊山玩水及AutoLISP
個性 : 開朗活潑
使用年資 : 六七年了
使用版本 : AutoCAD 2016
積分 : 1
經驗值 : 3595
威望值 : 13
注冊日期 : 2008-07-27
男 天秤座 羊

回頂端 向下

回復: 【回帖精華】請問lisp要如何寫引線文字

發表 由 張譽璋 于 2009-10-15, 15:42

謝謝蘋果爸,貼程式時第一次用代碼功能,改了幾次竟然把程式給漏了符號,謝謝您的訂正.

張譽璋
榮譽顧問
榮譽顧問

文章總數 : 303
年齡 : 47
來自 : 彰化縣員林鎮
職業 : 機械設計工程師/AutoCAD講師/AutoCAD外掛系統開發/AutoCAD書籍作者
愛好 : 旅行及電影
個性 : 風趣健談
使用年資 : 25年
使用版本 : AutoCAD2010/2011/2012/2013
積分 : 20
經驗值 : 4912
威望值 : 624
發帖精華 : 2
回帖精華 : 1
注冊日期 : 2008-05-28
藍鵲12號
男 處女座 狗

回頂端 向下

回復: 【回帖精華】請問lisp要如何寫引線文字

發表 由 Tiger&蘋果爸 于 2009-10-16, 07:25

swcforest 寫到:感謝各位熱心的大大提供方法
因為小弟我自己本身有再寫程式
方便標準圖製作
我想要給參數後
自動劃出各種標準圖 例如三視圖
然後將一些尺寸標註及說明文字 自動建立
這樣以後就可省下很多時間來畫圖
再次感謝各位大大分享
感激不盡
OK~
有問題請再提出來一起討論!!
認同

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17200
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 64642
威望值 : 12750
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.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要如何寫引線文字

發表 由 Tiger&蘋果爸 于 2009-10-16, 07:27

張譽璋 寫到:謝謝蘋果爸,貼程式時第一次用代碼功能,改了幾次竟然把程式給漏了符號,謝謝您的訂正.
沒有啦!我知道這是筆誤,我也常常會這樣~ 了解...

讚啦!! 還是很感謝您的熱心分享!!

____________________________________________________________________________________
avatar
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 17200
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 64642
威望值 : 12750
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i11.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要如何寫引線文字

發表 由 bruce79 于 2010-10-01, 05:27

好酷~~~趕緊學起來!!!!
感謝大大分享

bruce79
初級會員
初級會員

文章總數 : 162
年齡 : 38
來自 : 南投
職業 : 工程師
愛好 : 運動
個性 : O型-樂觀
使用年資 : 5年
使用版本 : 2008
積分 : 3
經驗值 : 3717
威望值 : 15
未回應主題 : 1
注冊日期 : 2008-09-12
顧問外掛程式 男 巨蟹座 羊

回頂端 向下

回復: 【回帖精華】請問lisp要如何寫引線文字

發表 由 djh1006 于 2013-06-18, 14:56

請問各位高手,qleader設定值每一項的參數為何?因為我要寫lisp,想把我要的設定值內定在程式中,以免在別台電腦上沒有使用我的樣板檔時,顯示方式會有錯誤
例如貼附項目中,勾不勾選選底行文字加底線,不勾選時,多行文貼附在何處也有好多設定值,請問這些參數各為何?
avatar
djh1006
中級會員
中級會員

文章總數 : 156
年齡 : 46
來自 : 彰化縣員林鎮中山路二段369巷二弄15-14號
職業 : 沖壓模具設計工程師
愛好 : UG,SOLIDWORKS,AUTOCAD 2D,autolisp
個性 : 內向偏外
使用年資 : 18以上
使用版本 : 2014
積分 : 6
經驗值 : 3405
威望值 : 294
注冊日期 : 2011-06-16
男 獅子座 豬

回頂端 向下

上一篇主題 下一篇主題 回頂端


 
這個論壇的權限:
無法 在這個版面回復文章