[分享]一個能顯示面積及長度的LISP程式
+77
kruppel
lin品
a0917783109
numwyoyo
安東尼
uw200000
wewe10704
PYT
qwe9956
FLY770112
糖糖的主人
mingsung
huang shih ching
kid530
ptero0226
aniy051802
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
81 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第2頁(共4頁)
[分享]一個能顯示面積及長度的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版本操作沒有問題!
謝謝程式分享及說明~< 積分 +1>
[公告]關於團隊成員的回文及貢獻
Tiger&蘋果爸 在 2022-06-03, 21:41 作了第 7 次修改 (原因 : 加分囉~)
bruce79- 初級會員
- 文章總數 : 186
年齡 : 45
來自 : 南投
職業 : 工程師
愛好 : 運動
個性 : O型-樂觀
使用年資 : 5年
使用版本 : 2008
積分 : 3
經驗值 : 6473
威望值 : 111
未回應主題 : 1
注冊日期 : 2008-09-12
Tiger&蘋果爸, vike827, ben91016, mingsung, tck007, trelive, JohnnyTsungChen and like this post
回復: [分享]一個能顯示面積及長度的LISP程式
因該很有用..收下來拉...
以西杰- 初級會員
- 文章總數 : 122
年齡 : 45
來自 : 台中市
職業 : 電腦繪圖員(電機、空調)
愛好 : 宅男
個性 : 懶散
使用年資 : 14年
使用版本 : 2010
積分 : 2
經驗值 : 6311
威望值 : 46
注冊日期 : 2008-05-13
回復: [分享]一個能顯示面積及長度的LISP程式
執行後掛掉
跑出下面的指令 我用的是 CAD2010
指令: am
選取物件: 找到 1 個
選取物件:
請輸入文字插入點:
請輸入文字高度:50
# VLA-OBJECT IAcadText 16f961e4
跑出下面的指令 我用的是 CAD2010
指令: am
選取物件: 找到 1 個
選取物件:
請輸入文字插入點:
請輸入文字高度:50
# VLA-OBJECT IAcadText 16f961e4
以西杰- 初級會員
- 文章總數 : 122
年齡 : 45
來自 : 台中市
職業 : 電腦繪圖員(電機、空調)
愛好 : 宅男
個性 : 懶散
使用年資 : 14年
使用版本 : 2010
積分 : 2
經驗值 : 6311
威望值 : 46
注冊日期 : 2008-05-13
回復: [分享]一個能顯示面積及長度的LISP程式
謝謝bruce79分享
使用後很方便,比我現有的方便很多,可以省去切換動作,謝謝
使用後很方便,比我現有的方便很多,可以省去切換動作,謝謝
adslwang 在 2010-10-16, 07:58 作了第 1 次修改 (原因 : 使用後感言)
adslwang- 高級會員
- 文章總數 : 376
年齡 : 46
來自 : 台南
職業 : 自由業
愛好 : 電腦、旅行
個性 : 樂觀
使用年資 : 1年
使用版本 : 2009
積分 : 17
經驗值 : 7172
威望值 : 356
回帖精華 : 1
注冊日期 : 2008-10-02
回復: [分享]一個能顯示面積及長度的LISP程式
最近工作有需要用到~~
感謝分享
感謝分享
長陳- 專屬會員
- 文章總數 : 36
年齡 : 43
來自 : 高雄
職業 : 工程
愛好 : cad
個性 : ok
使用年資 : 2
使用版本 : 2017
經驗值 : 5265
威望值 : 0
注冊日期 : 2010-10-24
回復: [分享]一個能顯示面積及長度的LISP程式
找這個lisp很久了~本來想說自己來試試看說
算面積真是太方便了~感謝分享
算面積真是太方便了~感謝分享
sea0702- 初級會員
- 文章總數 : 27
年齡 : 42
來自 : 基隆
職業 : 工程師
愛好 : 電影
個性 : 開朗
使用年資 : 5
使用版本 : 2010
積分 : 2
經驗值 : 5764
威望值 : 21
注冊日期 : 2009-04-04
回復: [分享]一個能顯示面積及長度的LISP程式
好像很不錯,正好工作也需要算面積,謝謝喔
sandsand- 初級會員
- 文章總數 : 11
年齡 : 44
來自 : 彰化
職業 : 石材建築
愛好 : 學習新的事物
個性 : 認真
使用年資 : 7年
使用版本 : 2008
積分 : 1
經驗值 : 5138
威望值 : 0
注冊日期 : 2010-10-25
回復: [分享]一個能顯示面積及長度的LISP程式
我個人是沒有使用到...不過女朋友是做室內設計的..就弄給他用看看囉...感謝分享~
opk153- 初級會員
- 文章總數 : 29
年齡 : 44
來自 : 鶯歌區
職業 : 品管
愛好 : 籃球、壘球
個性 : 溫和..大多時不愛說話
使用年資 : 2
使用版本 : 2010
積分 : 1
經驗值 : 5226
威望值 : 18
注冊日期 : 2010-10-15
回復: [分享]一個能顯示面積及長度的LISP程式
感謝分享 這樣可以不用aa再一個一個點
jhou0219- 初級會員
- 文章總數 : 20
年齡 : 37
來自 : 台北
職業 : 設計師助理
愛好 : PC
個性 : OPEN
使用年資 : 1
使用版本 : 2010
積分 : 1
經驗值 : 5081
威望值 : 0
注冊日期 : 2011-01-21
回復: [分享]一個能顯示面積及長度的LISP程式
報名使用,謝謝分享
arhome- 初級會員
- 文章總數 : 24
年齡 : 46
來自 : taichung
職業 : 我什麼都不會…我是畫圖的
愛好 : 睡
個性 : 宅
使用年資 : 6
使用版本 : 2009
積分 : 1
經驗值 : 5539
威望值 : 5
注冊日期 : 2009-10-29
回復: [分享]一個能顯示面積及長度的LISP程式
很面積計算,謝謝了..
lok- 一般會員
- 文章總數 : 21
年齡 : 49
來自 : 台北市
職業 : 機械工程
愛好 : cad繪圖
個性 : 內向
使用年資 : 剛接觸
使用版本 : 2011
經驗值 : 5331
威望值 : 0
注冊日期 : 2010-05-21
回復: [分享]一個能顯示面積及長度的LISP程式
我也要試試看,謝謝分享
小香- 初級會員
- 文章總數 : 32
年齡 : 49
來自 : 台中市
職業 : 繪圖員
愛好 : 畫圖
個性 : 靜
使用年資 : 1年
使用版本 : 2008
積分 : 1
經驗值 : 5255
威望值 : 12
注冊日期 : 2010-10-12
回復: [分享]一個能顯示面積及長度的LISP程式
多謝你的分享~~~~~感恩
老水牛- 初級會員
- 文章總數 : 107
年齡 : 62
來自 : 台北縣
職業 : 電機
愛好 : 閱讀
個性 : 溫和
使用年資 : 6
使用版本 : 2006
積分 : 1
經驗值 : 6089
威望值 : 0
注冊日期 : 2008-10-17
回復: [分享]一個能顯示面積及長度的LISP程式
工作上常要計算面積及長度~
好感動~
謝謝無私分享~
好感動~
謝謝無私分享~
ysl yang- 初級會員
- 文章總數 : 118
年齡 : 56
來自 : 台北市
職業 : 繪圖員
愛好 : 逛大賣場
個性 : 隨和中等
使用年資 : 10年以上
使用版本 : 2010剛用
積分 : 1
經驗值 : 5606
威望值 : 123
注冊日期 : 2010-11-02
回復: [分享]一個能顯示面積及長度的LISP程式
還沒用過lisp,找時間學學該怎麼使用才是
看看先哦,謝謝分享~~
看看先哦,謝謝分享~~
jerry775- 初級會員
- 文章總數 : 24
年齡 : 58
來自 : 南投縣
職業 : 畜牧兼室內設計
愛好 : 很多
個性 : 隨和,善良
使用年資 : 1年
使用版本 : 2009
積分 : 2
經驗值 : 5055
威望值 : 22
注冊日期 : 2011-03-08
回復: [分享]一個能顯示面積及長度的LISP程式
個人覺得本論壇提供的資源比較令人喜愛且放心
原因
1.再如何無厘頭得問題都有人回覆
2.後續服務是無限次數
3.不止給你魚吃還教你釣魚
好處
1.免費
2.還是免費
3.再問我扁你!!!都告訴你是免費了
原因
1.再如何無厘頭得問題都有人回覆
2.後續服務是無限次數
3.不止給你魚吃還教你釣魚
好處
1.免費
2.還是免費
3.再問我扁你!!!都告訴你是免費了
____________________________________________________________________________________
沒有功勞也有苦勞,沒有苦勞也有疲勞的年代已經過去
現在是...........................................
沒有功勞直接就是個屁,連個屁都不是,那就真的很疲勞了
大家一起努力吧,努力別落到連個屁都不是................
lingo_st- 中級會員
- 文章總數 : 211
年齡 : 60
來自 : 新北市
職業 : 營造,建設
愛好 : 學習,服務,電腦軟硬體
個性 : 正直,達觀且無可救藥的雞婆
使用年資 : 使用12年但真的是新手
使用版本 : 2012,2013
積分 : 6
經驗值 : 5926
威望值 : 271
注冊日期 : 2011-12-18
回復: [分享]一個能顯示面積及長度的LISP程式
哈哈...這是見證互助的力量!lingo_st 寫到:個人覺得本論壇提供的資源比較令人喜愛且放心
原因
1.再如何無厘頭得問題都有人回覆
2.後續服務是無限次數
3.不止給你魚吃還教你釣魚
好處
1.免費
2.還是免費
3.再問我扁你!!!都告訴你是免費了
大家一起來分享吧~
____________________________________________________________________________________
👉[訂購]AutoCAD圖塊大師課程(點我)👈
回復: [分享]一個能顯示面積及長度的LISP程式
感謝大大的分享,加入收藏~
et1029et- 初級會員
- 文章總數 : 356
年齡 : 43
來自 : 桃園
職業 : 行政繪圖
愛好 : 學習
個性 : 隨和
使用年資 : 新手初學
使用版本 : 2013
積分 : 4
經驗值 : 5870
威望值 : 324
注冊日期 : 2013-07-02
回復: [分享]一個能顯示面積及長度的LISP程式
感謝大大的分享
這是個好程式
這是個好程式
poiuyy- 初級會員
- 文章總數 : 226
年齡 : 50
來自 : 台中
職業 : 小監
愛好 : 電影
個性 : 中庸
使用年資 : 5
使用版本 : 2010
積分 : 2
經驗值 : 4735
威望值 : 84
注冊日期 : 2014-06-24
回復: [分享]一個能顯示面積及長度的LISP程式
選取物件: 找到 1 個
選取物件:
忽略 1 個既不是 AME 實體也不是面域的物件。
請問是哪裡有問題??
謝謝
--------------------------------------
(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
)
選取物件:
忽略 1 個既不是 AME 實體也不是面域的物件。
請問是哪裡有問題??
謝謝
--------------------------------------
(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
)
poiuyy- 初級會員
- 文章總數 : 226
年齡 : 50
來自 : 台中
職業 : 小監
愛好 : 電影
個性 : 中庸
使用年資 : 5
使用版本 : 2010
積分 : 2
經驗值 : 4735
威望值 : 84
注冊日期 : 2014-06-24
回復: [分享]一個能顯示面積及長度的LISP程式
指令: _appload am.lsp 成功載入。
指令: ; 錯誤: 語法錯誤
請問哪裡錯誤??
謝謝
指令: ; 錯誤: 語法錯誤
請問哪裡錯誤??
謝謝
poiuyy- 初級會員
- 文章總數 : 226
年齡 : 50
來自 : 台中
職業 : 小監
愛好 : 電影
個性 : 中庸
使用年資 : 5
使用版本 : 2010
積分 : 2
經驗值 : 4735
威望值 : 84
注冊日期 : 2014-06-24
nicky1273- 新手(尚未報到升等一般會員)
- 文章總數 : 4
年齡 : 39
來自 : taipei
職業 : 繪圖
愛好 : 聽音樂
個性 : 活潑
使用年資 : 10年
使用版本 : 2014
經驗值 : 2578
威望值 : -3
注冊日期 : 2017-10-02
回復: [分享]一個能顯示面積及長度的LISP程式
謝謝 又一個實用的程式!
cyy0614- 一般會員
- 文章總數 : 7
年齡 : 43
來自 : 桃園平鎮
職業 : 土木工程師
愛好 : 桌球
個性 : 外向
使用年資 : 10
使用版本 : 2015
經驗值 : 4155
威望值 : 0
注冊日期 : 2013-06-28
回復: [分享]一個能顯示面積及長度的LISP程式
謝謝前輩分享!小弟下載試用囉!
Yulunwei- 一般會員
- 文章總數 : 14
年齡 : 33
來自 : 台北
職業 : 營造
愛好 : 郊遊
個性 : 熱情
使用年資 : 5
使用版本 : 2021
經驗值 : 2482
威望值 : 36
注冊日期 : 2018-03-26
回復: [分享]一個能顯示面積及長度的LISP程式
感謝分享!太實用了
老紅- 一般會員
- 文章總數 : 11
年齡 : 33
來自 : 新竹
職業 : 繪圖助理
愛好 : 看小說
個性 : 害羞內向
使用年資 : 1
使用版本 : 2012
經驗值 : 2400
威望值 : 6
注冊日期 : 2018-05-14
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第2頁(共4頁)
這個論壇的權限:
您 無法 在這個版面回復文章