autolisp 建築圖面門窗統計
寫了好幾天的程式終於成功了,只要輸入門窗編號,不論是單行文字、多行文字或屬性圖塊做的標註文字,都可以快速篩選,並且統計數量。
不然建築圖密密麻麻的,從地下室統計到屋凸多算幾次眼睛真的會蝦掉內 ......
這支程式遇到大小寫混用也沒問題
搜尋前 會先變成大寫
(setq serchtxt (strcase (getstring nil "\n 請輸入門窗編號 : ")))
在過濾條件大小寫都會被找到
(setq sel (ssget "_W"
spt1
spt2
(list (cons 0 "TEXT") (CONS -4 ""))
)
)
屬性圖塊可以用這個程式修改成副程式(網路上找到的)
;;;(defun c:sk (/ ent)
;;;
;;; (if (and (setq ent (car (entsel "\nSelect an Attributed Block: ")))
;;; (eq "INSERT" (dxf 0 ent))
;;; ;;(= 1 (dxf 66 ent))
;;; )
;;;
;;; (while (not (eq "SEQEND" (dxf 0 (setq ent (entnext ent)))))
;;; (princ (strcat "\n\nAtt_Tag:"
;;; (dxf 2 ent)
;;; "\nAtt_Value: "
;;; (dxf 1 ent)
;;; )
;;; )
;;; )
;;; )
;;;
;;; (princ)
;;;)
這裡的 ent 實際是 entname
最好玩的是我發現有些建築師或事務所的員工不會使用屬性圖塊,而用文字或多行文字放在圖塊中.......... 一點實用性都沒有的使用方式。
所以還得補足這兩種情況這程式才完整 .... 世事難料阿
當然可以用 express tools 裡面有個 burst 可以把圖塊或屬性圖塊炸開變成一般文字。burst 在 15 層的平面圖或更高的樓層,速度會變成非常慢,可以去拉屎、喝咖啡、甚至洗個澡電腦都沒還算完.......
標籤: AutoLisp
0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁