[分享]一個能顯示面積及長度的LISP程式
+61
kai_11
rain831787
銀翼
peggy731
tufe8887
flyat9t
s8828016
ryan0106
chunwel
ganlinlaw
handolu
HUANG CHIEN MING
f933021
wenfeng
liao
c1140c33
koko789
cantwocantwocan
月蜻蜓
tyhaola
老紅
Yulunwei
cyy0614
nicky1273
poiuyy
et1029et
lingo_st
jerry775
GRACE0724
ysl yang
老水牛
小香
lok
arhome
jhou0219
opk153
sandsand
sea0702
長陳
adslwang
以西杰
it930
虹
Andy.Lin
白金之星
Boss&倫
pizg
leoneriol
HEMOS
glassshoes2003
howard73
MAYA100
aaaaaa1111
adolescent77
W-E-I
DARDAR
meet_emily
judyyai
小青蛙
Tiger&蘋果爸
bruce79
65 posters
[分享]一個能顯示面積及長度的LISP程式
主題回顧 :
1.新增一個文字文件(.txt),貼上以下內容
3.開啟Autocad工具列中的「載入/卸載應用程式」對話方塊或者執行[appload]
4.選擇該文件位置後載入
5.在指令列key入"am"後,選擇你要的線或面方可使用(但不能選擇圖塊喔)
PS:這是一位建築師給我的LISP
ps:好東西與好朋友分享!!
蘋果爸補充:
每個CAD版本可能會有些差異,每個人使用方式也要討論及了解,才能知道問題在哪!
是否有開啟一張新圖來做測試,如果可以測試其他電腦的CAD版本。
我這裡使用2023版本操作沒有問題!
謝謝程式分享及說明~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
1.新增一個文字文件(.txt),貼上以下內容
- 代碼:
(defun C:am (/ ss l i totalarea ename obj entarea)
(if (setq ss (ssget))
(progn
(vl-load-com)
(setq modelspace (vla-get-Modelspace (vla-get-activeDocument (vlax-get-acad-object))))
(setq l (sslength ss) i 0 totalarea 0 totlength 0)
(repeat l
(setq ename (ssname ss i))
(setq obj (vlax-ename->vla-object ename))
(if (vlax-property-available-p obj "area")
(setq totalarea (+ (vlax-get-property obj 'area) totalarea))
)
(if (= (cdr (assoc 0 (entget ename))) "MLINE")
(setq totlength (+ totlength (ml-length ename)))
(setq totlength (+ totlength (vlax-curve-getdistatparam ename (vlax-curve-getendparam ename))))
)
(setq i (1+ i))
)
(setq text1 (strcat "總面積為 : " (rtos totalarea 2 4) "平方公分")
text2 (strcat "總長度為 : " (rtos totlength 2 4) "公分")
)
(if (setq insertpt (getpoint "\n請輸入文字插入點: "))
(if (setq height (GETREAL "\n請輸入文字高度:"))
(setq insertp1 (vlax-3d-point insertpt)
insertp2 (vlax-3d-point (polar insertpt (* 1.5 Pi) (* 1.5 height)))
textobj1 (vla-addtext modelspace text1 insertp1 height)
textobj2 (vla-addtext modelspace text2 insertp2 height)
)
)
)
)
)
)
(defun ml-length (ename / j d ptlist)
(foreach n (entget ename)
(if (= (car n) 11)
(setq ptlist (cons (cdr n) ptlist))
)
)
(reverse ptlist)
(setq j 0 d 0)
(repeat (1- (length ptlist))
(setq d (+ d (distance (nth j ptlist) (nth (1+ j) ptlist))))
(setq j (1+ j))
)
d
)
3.開啟Autocad工具列中的「載入/卸載應用程式」對話方塊或者執行[appload]
4.選擇該文件位置後載入
5.在指令列key入"am"後,選擇你要的線或面方可使用(但不能選擇圖塊喔)
PS:這是一位建築師給我的LISP
ps:好東西與好朋友分享!!
蘋果爸補充:
每個CAD版本可能會有些差異,每個人使用方式也要討論及了解,才能知道問題在哪!
是否有開啟一張新圖來做測試,如果可以測試其他電腦的CAD版本。
我這裡使用2023版本操作沒有問題!

[公告]關於團隊成員的回文及貢獻
Tiger&蘋果爸 在 2022-06-03, 14:41 作了第 7 次修改 (原因 : 加分囉~)
bruce79- 初級會員
- 文章總數 : 181
年齡 : 43
來自 : 南投
職業 : 工程師
愛好 : 運動
個性 : O型-樂觀
使用年資 : 5年
使用版本 : 2008
積分 : 3
經驗值 : 5802
威望值 : 84
未回應主題 : 1
注冊日期 : 2008-09-12
Tiger&蘋果爸, vike827, ben91016, tck007, JohnnyTsungChen, ten0418, changuan and like this post
回復: [分享]一個能顯示面積及長度的LISP程式
感謝前輩分享~
kai_11- 一般會員
- 文章總數 : 2
年齡 : 32
來自 : 台中
職業 : 消防
愛好 : 瑜珈
個性 : 活潑
使用年資 : 10
使用版本 : 2021
經驗值 : 66
威望值 : 0
注冊日期 : 2022-12-07
回復: [分享]一個能顯示面積及長度的LISP程式
請問要如何改成公尺的?
aniy051802- 一般會員
- 文章總數 : 2
年齡 : 27
來自 : 桃園
職業 : 營造業
愛好 : 上班
個性 : 孤僻
使用年資 : 2
使用版本 : 2018
經驗值 : 818
威望值 : 0
注冊日期 : 2020-11-15
ptero0226- 一般會員
- 文章總數 : 21
年齡 : 36
來自 : 桃園縣
職業 : 網頁製作
愛好 : 看RunningMan
個性 : 內斂
使用年資 : 新手初學
使用版本 : 2013
經驗值 : 3723
威望值 : 12
注冊日期 : 2013-02-21
回復: [分享]一個能顯示面積及長度的LISP程式
感謝分享~~~謝謝論壇的蘋果爸及各位前輩
kid530- 一般會員
- 文章總數 : 27
年齡 : 42
來自 : 新北市中和區
職業 : 工地主任
愛好 : 睡覺
個性 : 文靜
使用年資 : 10
使用版本 : 2015
經驗值 : 2873
威望值 : 6
注冊日期 : 2015-08-21
huang shih ching- 一般會員
- 文章總數 : 8
年齡 : 56
來自 : 高雄
職業 : 設計
愛好 : 旅遊
個性 : 內向
使用年資 : 3
使用版本 : 2014
經驗值 : 70
威望值 : 0
注冊日期 : 2022-12-29
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第4頁(共4頁)
這個論壇的權限:
您 無法 在這個版面回復文章