請教如何修改這個lisp,增加計算功能
2 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
請教如何修改這個lisp,增加計算功能
請教各位前輩
如何修改這個lisp,增加計算功能
目前lisp可點選聚合線並直接以單行文字顯示長度放置在圖面裡(如圖A)
但小弟想再增加計算功能
例如
(工件厚度)輸入20
(迴圈次數)輸入5
計算後以多行文字放置在圖面(如圖B)
60.00(長度)*20(厚度)*5(次數)/60=100
謝謝
如何修改這個lisp,增加計算功能
目前lisp可點選聚合線並直接以單行文字顯示長度放置在圖面裡(如圖A)
但小弟想再增加計算功能
例如
(工件厚度)輸入20
(迴圈次數)輸入5
計算後以多行文字放置在圖面(如圖B)
60.00(長度)*20(厚度)*5(次數)/60=100
謝謝
- 附件
cf1032 在 周一 5 8月 2019 - 8:25 作了第 1 次修改
cf1032- 一般會員
- 文章總數 : 46
年齡 : 33
來自 : 台北
職業 : 待業
愛好 : 無
個性 : 熱情
使用年資 : 10
使用版本 : 2010
經驗值 : 3968
威望值 : 6
注冊日期 : 2014-09-16
回復: 請教如何修改這個lisp,增加計算功能
參考看看
- 代碼:
(defun C:plinetext (/ CURVE TLEN SS N SUMLEN)
(vl-load-com)
(setq SUMLEN 0)
(setq
SS (ssget
'((0
.
"REGION,CIRCLE,ELLIPSE,LINE,*POLYLINE,SPLINE,ARC"))
)
)
(setq N 0)
(repeat (sslength SS)
(setq CURVE (vlax-ename->vla-object (ssname SS N)))
(if (/= (vla-get-objectname CURVE) "AcDbRegion")
(setq TLEN (vlax-curve-getdistatparam
CURVE
(vlax-curve-getendparam CURVE)
)
)
(setq TLEN (vla-get-perimeter CURVE))
)
(setq SUMLEN (+ SUMLEN TLEN))
(setq N (1+ N))
)
(print (strcat "線割路徑總長度: " (rtos SUMLEN 2 5)))
(setq pt (getpoint "\n文字位置點:"))
(setq old_hh (getvar "textsize"))
(setq str_hh (strcat "\n高度<" (rtos old_hh 2) ">:"))
(setq hh (getdist pt str_hh))
(if hh
(setvar "textsize" hh))
(setq dm (getreal "\n工件厚度:"))
(setq dt (getint "\n迴圈次數:"))
(command "Mtext"
pt
"@0,0"
(strcat "線割路徑總長度 :" (rtos SUMLEN 2 3))
(strcat "工件厚度 :" (rtos dm 2 3))
(strcat "迴圈次數 :" (rtos dt 2))
(strcat "加工時間 :" (rtos (/ (* SUMLEN dm dt) 60) 2 3))
""
)
(princ)
)
naruto018- 中級會員
- 文章總數 : 224
年齡 : 32
來自 : 高雄
職業 : 學習中(CAD,Revit,Excel VBA)
愛好 : 當個懶熊
個性 : 內向
使用年資 : 新手
使用版本 : 2015
AutoCAD基礎篇等級 : 10星級
積分 : 5
經驗值 : 4490
威望值 : 564
注冊日期 : 2016-11-29
回復: 請教如何修改這個lisp,增加計算功能
謝謝前輩教學, 測試成功
cf1032- 一般會員
- 文章總數 : 46
年齡 : 33
來自 : 台北
職業 : 待業
愛好 : 無
個性 : 熱情
使用年資 : 10
使用版本 : 2010
經驗值 : 3968
威望值 : 6
注冊日期 : 2014-09-16
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章