AutoCAD顧問
還沒有註冊嗎...即日起免費註冊,所有最完整的AutoCAD討論、教學及資源都在論壇裡喔~
[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Oo-2-110 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Ia15010 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Ziao1510 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 BPl3tjj [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Uos15010 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Uos15011

[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

向下

[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Empty [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

發表 由 box888 于 2017-12-14, 14:09

請教一個LISP之前2012使用正常2018就出現問題
程式碼如下

代碼:
(defun c:lsp_aacm()
(setvar "cmdecho" 0)
(setq en (entsel "\n選取圓、線、弧、多義線計算長度: "))
(while en
(setq en (car en))
(command "lengthen" en "")
(setq dd1 (getvar "perimeter"))
(setq dd2 (/ (* dd1 1) 100))
(setq dd (rtos dd2 2 2))
(PRINC "\N點取文字位置:")
(IF (= (cdr (assoc 40 (tblsearch "STYLE" (getvar "TEXTSTYLE")))) 0)
(COMMAND "TEXT" PAUSE "" "" dd)
)
(setq en (entsel "\n選取長度: "))
)
(prin1)
)

請問是2018參數有變動嗎(函數錯誤被取消)
box888
box888
一般會員
一般會員

文章總數 : 24
年齡 : 47
來自 : 台北
職業 : 設計
愛好 : 電影
個性 : 一般
使用年資 : 10
使用版本 : 2010
經驗值 : 3284
威望值 : 15
注冊日期 : 2010-09-24
藍鵲384號
男 獅子座 豬

回頂端 向下

[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Empty 回復: [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

發表 由 box888 于 2017-12-15, 11:02

如果有人使用2012以前的版本可以使用看看計(算長度很實用可以連續點選長度放置到指定位置位置)
box888
box888
一般會員
一般會員

文章總數 : 24
年齡 : 47
來自 : 台北
職業 : 設計
愛好 : 電影
個性 : 一般
使用年資 : 10
使用版本 : 2010
經驗值 : 3284
威望值 : 15
注冊日期 : 2010-09-24
藍鵲384號
男 獅子座 豬

回頂端 向下

[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Empty 回復: [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

發表 由 naruto018 于 2017-12-15, 13:17

box888 寫到:請教一個LISP之前2012使用正常2018就出現問題
程式碼如下

(defun c:lsp_aacm()
(setvar "cmdecho" 0)
(setq en (entsel "\n選取圓、線、弧、多義線計算長度: "))
(while en
(setq en (car en))
(command "lengthen" en "")
(setq dd1 (getvar "perimeter"))
(setq dd2 (/ (* dd1 1) 100))
(setq dd (rtos dd2 2 2))
(PRINC "\N點取文字位置:")
(IF (= (cdr (assoc 40 (tblsearch "STYLE" (getvar "TEXTSTYLE")))) 0)
(COMMAND "TEXT" PAUSE "" "" dd)
)
(setq en (entsel "\n選取長度: "))
)
(prin1)
)


請問是2018參數有變動嗎(函數錯誤被取消)


2015版測試如下

(command "lengthen" en "")
要改成
(command "lengthen" en "" "" "")
naruto018
naruto018
中級會員
中級會員

文章總數 : 148
年齡 : 27
來自 : 高雄
職業 : 學習中(CAD,Revit,Excel VBA)
愛好 : 當個懶熊
個性 : 內向
使用年資 : 新手
使用版本 : 2015
AutoCAD基礎篇等級 : 10星級
積分 : 5
經驗值 : 1910
威望值 : 299
注冊日期 : 2016-11-29
藍鵲726號
男 摩羯座 羊

回頂端 向下

[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Empty 回復: [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

發表 由 box888 于 2017-12-15, 14:33

感謝幫忙解答 感動
box888
box888
一般會員
一般會員

文章總數 : 24
年齡 : 47
來自 : 台北
職業 : 設計
愛好 : 電影
個性 : 一般
使用年資 : 10
使用版本 : 2010
經驗值 : 3284
威望值 : 15
注冊日期 : 2010-09-24
藍鵲384號
男 獅子座 豬

回頂端 向下

[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Empty 回復: [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

發表 由 box888 于 2017-12-15, 14:48

再提供一個計算總長度的LISP給各位參考(選取所有的長度計算總長)希望對各位有幫助
代碼:
(defun c:long_Bcm-1 ( / en lay_name ss nn ssn num tnum ipt)
(setq en (entsel "\n選擇要過濾的圖層單位公厘:"))
(if en (progn
     (setq lay_name (cdr (assoc 8 (entget (car en)))))
     (setq ss (ssget
     (list
       (cons -4 "<AND")
         (cons -4 "<OR")      
         (cons 0 "*line")  ;
 (cons 0 "circle");
         (cons 0 "ARC")  ;LINE and arc 都被選擇
             (cons -4 "OR>")      
         (cons 8 lay_name)    ;圖層
         (cons -4 "AND>")
       );LIST
       );SSGET
     )
     ;;;line 和arc 用or 是表示..line或arc 皆會被選.
     (setvar "cmdecho" 0)
     (setq nn (sslength ss))
     (setq i 0 tnum 0)
     (repeat nn
     (setq ssn (ssname ss i))
     (command "lengthen" ssn "" "" "")
     (setq num (getvar "perimeter"))
     (setq tnum (+ tnum num))
     (setq i (1+ i))
     );repeat
     (if (null t_sz)
         (setq t_sz(getreal "\n文字高度:"))
    (progn
    (setq t_sz (getreal (strcat "\n文字高度<" (rtos t_sz_tmp 2 2) ">:")))
    (if (null t_sz) (setq t_sz t_sz_tmp))
    )
     )
     (setq t_sz_tmp t_sz)
     (setq ipt (getpoint "\n文字插入點:"))
      (setq ab1 (/ (* tnum 1) 100))
      (command "text" ipt t_sz "0" (strcat "總長度為 :" (rtos ab1 2 2) "公尺"))
     (setq t_sz_tmp t_sz)
     (setvar "cmdecho" 1)  
     );progn
);if
(princ)
)
box888
box888
一般會員
一般會員

文章總數 : 24
年齡 : 47
來自 : 台北
職業 : 設計
愛好 : 電影
個性 : 一般
使用年資 : 10
使用版本 : 2010
經驗值 : 3284
威望值 : 15
注冊日期 : 2010-09-24
藍鵲384號
男 獅子座 豬

回頂端 向下

[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Empty 回復: [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

發表 由 Tiger&蘋果爸 于 2017-12-15, 15:40

naruto018 寫到:2015版測試如下
(command "lengthen" en "")要改成
(command "lengthen" en "" "" "")
感謝熱心測試程式~
害羞


box888 寫到:再提供一個計算總長度的LISP給各位參考(選取所有的長度計算總長)希望對各位有幫助
代碼:
(defun c:long_Bcm-1 ( / en lay_name ss nn ssn num tnum ipt)
(setq en (entsel "\n選擇要過濾的圖層單位公厘:"))
(if en (progn
      (setq lay_name (cdr (assoc 8 (entget (car en)))))
      (setq ss (ssget
      (list
        (cons -4 "<AND")
          (cons -4 "<OR")      
          (cons 0 "*line")  ;
  (cons 0 "circle");
          (cons 0 "ARC")  ;LINE and arc 都被選擇
              (cons -4 "OR>")      
          (cons 8 lay_name)    ;圖層
          (cons -4 "AND>")
        );LIST
        );SSGET
      )
      ;;;line 和arc 用or 是表示..line或arc 皆會被選.
      (setvar "cmdecho" 0)
      (setq nn (sslength ss))
      (setq i 0 tnum 0)
      (repeat nn
      (setq ssn (ssname ss i))
      (command "lengthen" ssn "" "" "")
      (setq num (getvar "perimeter"))
      (setq tnum (+ tnum num))
      (setq i (1+ i))
      );repeat
      (if (null t_sz)
          (setq t_sz(getreal "\n文字高度:"))
     (progn
     (setq t_sz (getreal (strcat "\n文字高度<" (rtos t_sz_tmp 2 2) ">:")))
     (if (null t_sz) (setq t_sz t_sz_tmp))
     )
      )
      (setq t_sz_tmp t_sz)
      (setq ipt (getpoint "\n文字插入點:"))
       (setq ab1 (/ (* tnum 1) 100))
       (command "text" ipt t_sz "0" (strcat "總長度為 :" (rtos ab1 2 2) "公尺"))
      (setq t_sz_tmp t_sz)
      (setvar "cmdecho" 1)  
      );progn
);if
(princ)
)
多謝您無私的程式分享~
好開心

____________________________________________________________________________________
[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Oo-2-110 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Ia15010 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Ziao1510 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 BPl3tjj
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 18384
年齡 : 43
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 70976
威望值 : 13564
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i.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之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Empty 回復: [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

發表 由 Tiger&蘋果爸 于 2017-12-15, 15:44

(PRINC "\n點取文字位置:")
補充,LISP語法要用小寫的 n
才會在下一行顯示

____________________________________________________________________________________
[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Oo-2-110 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Ia15010 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Ziao1510 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 BPl3tjj
Tiger&蘋果爸
Tiger&蘋果爸
系統管理員
系統管理員

文章總數 : 18384
年齡 : 43
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 70976
威望值 : 13564
注冊日期 : 2008-04-23
2D基礎函授 2D進階函授 3D基礎函授 https://i.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之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Empty 回復: [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

發表 由 linxyz168 于 2018-12-23, 22:29

請問如要加入可輸入文字高度 語法怎麼寫 謝謝
linxyz168
linxyz168
一般會員
一般會員

文章總數 : 30
年齡 : 41
來自 : 新北市
職業 : 設計
愛好 : 看電影/打球
個性 : 隨和
使用年資 : 12年
使用版本 : 2011
經驗值 : 2393
威望值 : 6
注冊日期 : 2013-03-31
男 射手座 蛇

回頂端 向下

[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Empty 回復: [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

發表 由 naruto018 于 2018-12-24, 15:44

linxyz168 寫到:請問如要加入可輸入文字高度 語法怎麼寫 謝謝

簡單的改法:(可每次修改或需確認文字大小)
(COMMAND "TEXT" PAUSE "" "" dd)
改成
(COMMAND "TEXT" PAUSE PAUSE "" dd)
naruto018
naruto018
中級會員
中級會員

文章總數 : 148
年齡 : 27
來自 : 高雄
職業 : 學習中(CAD,Revit,Excel VBA)
愛好 : 當個懶熊
個性 : 內向
使用年資 : 新手
使用版本 : 2015
AutoCAD基礎篇等級 : 10星級
積分 : 5
經驗值 : 1910
威望值 : 299
注冊日期 : 2016-11-29
藍鵲726號
男 摩羯座 羊

回頂端 向下

[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Empty 回復: [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎

發表 由 linxyz168 于 2018-12-24, 17:26

naruto018 寫到:
linxyz168 寫到:請問如要加入可輸入文字高度 語法怎麼寫 謝謝

簡單的改法:(可每次修改或需確認文字大小)
(COMMAND "TEXT" PAUSE "" "" dd)
改成
(COMMAND "TEXT" PAUSE PAUSE "" dd)


謝謝各位前輩的指導,已修正完成可加入字高。
測試後設定單位很像為公尺,修為公分如下

(defun c:lsp_aacm()
(setvar "cmdecho" 0)
(setq en (entsel "\n選取圓、線、弧、多義線計算長度: "))
(while en
(setq en (car en))
(command "lengthen" en "" "" "")
(setq dd1 (getvar "perimeter"))
(setq dd2 (/ (* dd1 100) 100))
(setq dd (rtos dd2 2 2))
(PRINC "\n點取文字位置:")
(IF (= (cdr (assoc 40 (tblsearch "STYLE" (getvar "TEXTSTYLE")))) 0)
(COMMAND "TEXT" PAUSE PAUSE "" dd)
)
(setq en (entsel "\n選取長度: "))
)
(prin1)
)
linxyz168
linxyz168
一般會員
一般會員

文章總數 : 30
年齡 : 41
來自 : 新北市
職業 : 設計
愛好 : 看電影/打球
個性 : 隨和
使用年資 : 12年
使用版本 : 2011
經驗值 : 2393
威望值 : 6
注冊日期 : 2013-03-31
男 射手座 蛇

回頂端 向下

回頂端


 
這個論壇的權限:
無法 在這個版面回復文章
[已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Uos15011 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Uos15010 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 BPl3tjj [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Ziao1510 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Ia15010 [已解決][問題]請教一個取出長度的LISP之前2012使用正常2018就出現問題--請問是2018參數有變動嗎 Oo-2-110