리습 - 전체 Block list를 txt로 내보내기
본문 바로가기
■ 유용한 캐드&리습/▫ AutoLISP

리습 - 전체 Block list를 txt로 내보내기

by 아키모아 주말농부 2024. 12. 20.
728x90
;=======================================================
; Block list를 txt로 내보내기 (2020.7 주말농부)
; ->dwg 폴더에 dwg화일명.txt를 생성해주는 리습
;------- Block list Txt ----------------------------------------------------------------------
(defun c:btx(/ bed1 bed2 bst1 bst2 bst-lst  path bla_wr1 n bst dname)
   (setq bed1 (tblnext "block" t))
   (setq bst1 (cdr (assoc 2 bed1)));block name
   (setq bst-lst (list bst1))
   (setq bed2 (tblnext "block"))
   (while bed2
       (setq bst2 (cdr (assoc 2 bed2)));block name
       (if (or (= (cdr (assoc 70 bed2)) 0) (= (cdr (assoc 70 bed2)) 2))
         (setq bst-lst (cons bst2 bst-lst))
       )
       (setq bed2 (tblnext "block"))
   )
   (setq bst-lst (vl-sort bst-lst '<)) (prin1 bst-lst)

   (setq dname (substr (getvar "dwgname") 1 (- (strlen (getvar "dwgname")) 4)))
   (setq path (strcat (getvar "dwgprefix") dname ".txt"))
   (setq bla_wr1 (open path "w"))
   (setq n 0)
   (repeat (length bst-lst)
     (setq bst (nth n bst-lst))
     (write-line bst bla_wr1)
     (setq n (+ n 1))
   )
   (close bla_wr1)
   (prompt "\n ---> 총 블록갯수 : ")(prin1 n) (prompt "개")
(prin1))

 

block list를 txt로 내보내기-btx.lsp
0.00MB

728x90