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

[討論]分享-統計選取範圍內之圖塊數量LISP

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

[討論]分享-統計選取範圍內之圖塊數量LISP

發表 由 devinchou 于 2016-12-10, 13:45

看了版上的前輩分享了圖塊數量統計的LISP,
於是小弟我也手癢寫了一個簡易版的,
貼上來請各位先進們指教!
感恩呀!
以下為代碼:
代碼:
 ; [BLOCK] COUNT THE NUMBER OF BLOCK(SELECTION SET:).
 ; [圖塊] 統計選取範圍內圖塊數量。
 ; 支援軟體版本("AutoCAD")
 ; 設計者:Devin,Chou
 ; 版權所有,歡迎使用
 ; Rev.1(2016/12/05-12/10)
(defun C:bkc (/ lc_bm bm bm_lt
                s_b sb_n s_bi bs_lt
                bm_n bm_i bs_i )
(setvar "cmdecho" 0 )
(setq lc_bm 0 s_bi 0 bm_i 0 bs_i 0 bm_lt '() bs_lt '() )
(while (= lc_bm 0 )
(if (= bm_lt nil )
    (setq bm_lt
    (cons
    (cdr
    (assoc 2
    (tblnext "BLOCK" T ))) bm_lt ))
    (progn
    (if (= (setq bm (tblnext "BLOCK" )) nil )
    (setq lc_bm 1 )
    (setq bm_lt
    (cons
    (cdr
    (assoc 2 bm )) bm_lt )))))) ; if.end,progn.end,if.end,while-lc_bm.end
(princ "\n請選取圖塊:" )
(setq s_b
    (ssget '((0 . "INSERT" ))))
(repeat (sslength s_b )
(setq sb_n
    (cdr
    (assoc 2
    (entget
    (ssname s_b s_bi )))))
(setq bs_lt
    (cons sb_n bs_lt ))
(setq s_bi
    (1+ s_bi ))) ; repeat.end
(while (< bm_i (length bm_lt ))
(setq bm_n
    (nth bm_i bm_lt ))
(foreach n bs_lt
    (if (= n bm_n )
    (setq bs_i
    (1+ bs_i )))) ; if.end,foreach.end
(if (/= bs_i 0 )
    (progn
    (princ
    (strcat "\n" bm_n ":" (itoa bs_i ) "個" ))
    (setq bs_i 0 ))) ; progn.end,if.end
(setq bm_i
    (1+ bm_i ))) ; while-bm_lt.end
(textscr)
(prin1)
) ; bkc.end
(princ "\nC:bkc")
(prin1)
以下為影片檔:
附件
56. 圖塊數量統計.zip 您無權下載這里的附件。(1 Kb) 下載 26 次
avatar
devinchou
初級會員
初級會員

文章總數 : 49
年齡 : 40
來自 : 基隆
職業 : 鋼筋檢料
愛好 : 寫作.閱讀.烹飪
個性 : 懶小孩一枚
使用年資 : 每天
使用版本 : 2006.2008
積分 : 2
經驗值 : 1455
威望值 : 150
注冊日期 : 2015-02-15
男 天蝎座 蛇

回頂端 向下

回復: [討論]分享-統計選取範圍內之圖塊數量LISP

發表 由 Tiger&蘋果爸 于 2016-12-12, 01:57

devinchou 寫到:看了版上的前輩分享了圖塊數量統計的LISP,
於是小弟我也手癢寫了一個簡易版的,
貼上來請各位先進們指教!
感恩呀!
謝謝devinchou熱心的分享程式~
讚啦!!

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

文章總數 : 17328
年齡 : 41
來自 : 台北市文山區
職業 : AutoCAD顧問
愛好 : 蹓狗/戶外活動/拍照
個性 : 幽默/樂觀/善良
使用年資 : 15↑
使用版本 : AutoCAD 2016
經驗值 : 65336
威望值 : 12868
注冊日期 : 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

發表 由 mayaguy 于 2016-12-14, 05:19

感謝分享!我來複習一下LISP,學習一下別人寫的程式
avatar
mayaguy
初級會員
初級會員

文章總數 : 42
年齡 : 44
來自 : 台北
職業 : 建築
愛好 : 3C
個性 : 溫和
使用年資 : 15
使用版本 : 2012
積分 : 1
經驗值 : 2488
威望值 : 30
注冊日期 : 2011-09-28
顧問外掛程式 男 雙魚座 牛

回頂端 向下

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


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