프로그램
캐드 분류

ZWCAD 2019 수량집계

컨텐츠 정보

  • 206 조회
  • 2 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

안녕하세요.
LISP 고수님들.. 확인 부탁드려요..
AUTO CAD 및 BRICS CAD에서는 물량집계가 되는데 ZWCAD 2019에서 사용하니
수량이 모두 1로 뜨네요..

근데 어디가 문제인지 모르겠어요.. 도와주세요.


(defun c:lli(/ ent en1 en_la en_set n i txt_lst var var_text1 txt_lst j txt_cnt fi_name fn en_lay road fi_na)
  (setq ent (car (entsel "n  물량산출할 부재이름을 선택하시오.:"))
 en1 (entget ent)
 en_la (assoc 8 en1)
 en_lay (cdr en_la)
        road (getint "n  선택방법 전체(엔터) 선택 (1) "))
  (if (eq road 1) (setq en_set (ssget (list en_la (cons 0 "text"))))
                  (setq en_set (ssget "x" (list en_la (cons 0 "text"))))
   );end if
           (setq  n (sslength en_set)
    fi_na (getstring "n  저장할 파일의 이름을 입력하시오. : ")
                  i  0)
   (setq txt_lst '())
   (repeat n
       (setq var (entget (ssname en_set i)))
       (setq var_text1 (cdr (assoc 1 var)))
       (setq txt_lst (append txt_lst (list var_text1)))  ;; 무조건 문자리스트를 만든다
       (setq i (1+ i))
   )


   (setq i 0)
  (setq txt_lst (vl-sort txt_lst '<))
   ;; txt_lst를 처음부터 비교한다.
   (while (< i n)
       (setq txt_cnt 1)
       (setq var_text1 (nth i txt_lst))
       (setq i (1+ i))


       ;; 리스트 다음요소가 같으면 1+
       (setq j i)
       (while (< j n)
           (if (= var_text1 (nth j txt_lst)) (setq txt_cnt (1+ txt_cnt)) )
           (setq j (1+ j))
       );end while
     (setq i (+ i (1- txt_cnt)))
      
       (setq fi_name (strcat "c:/work/" fi_na ".txt"))
      (setq fn (open fi_name "a"))
     (write-line (strcat var_text1 ";" (itoa txt_cnt)) fn)
     (close fn)
   
   )


  (princ)
)
 

관련자료

댓글 2 / 1 페이지

리습공부123님의 댓글

zwcad 2018까지는 이상이 없는거같은데.. 2019버젼으로 업그레이드하고부터 문제가 발생하는거같아요..

전체 7,232 / 1 페이지
번호
제목
이름
알림 0