프로그램
캐드 분류

안녕하세요 리습 추가적용 관련 질문드립니다

컨텐츠 정보

본문

현재 축척과 원도번호를 리습적용해서 스크립트로 넣고있는데 여기에 추가로 a ( layer 20번 ) 텍스트를 같은 사이즈로 같은 위치에 넣고 싶습니다.

다만 소유자명이 없는곳에만 a가 들어가게끔 하고싶습니다 (좌표가 잡혀있고 기본적으로 지번, 지목, 소유자명, 필지순번이 들어가 있는 상황이지만 소유자명이 빠진곳이 존재함) 가능할까요?? 거의 무지에 가까운 상태라서 질문자체가 이상할수있습니다.  양해 부탁드립니다 

 아래는 리습입니다 
(defun c:dno()
(command "-layer" "m" "14″ "c" "3″ "" "")  ;; 도면번호레이어
(command "-layer" "m" "12″ "c" "3″ "" "")  ;; 축척레이어
(setq OldError *error*)
  (setq *error* ErrHandle  dwgno "12″ dwgno1 "14″)
  (setvar "cmdecho" 0)
  (setvar "cmddia" 0)
  (setq osnap_mode (getvar "osmode") cnt 0 layer_input '() text_arry '() typecount 0)
  (setvar "osmode" 0) 
(setq filedir (getvar "DWGPREFIX") dwg_name (getvar "dwgname") dwgname (substr dwg_name 1 (- (strlen dwg_name) 4))
 dwgname_list (split dwgname "_"))
(setq layerch (getvar "clayer") dwglen (length dwgname_list) )
  (setq text_arry (ssget "x" '(( 8 . "10″ ))))                   ;;; 입력위치 레이어
    (if (/= text_arry nil)
     (progn
       (setq tcnt 0) 
       (repeat (sslength text_arry)
        (setq txtssname  (ssname text_arry tcnt)) 
          (setq txtent (entget txtssname (list "*")))
           (if (= "TEXT" (cdr (assoc 0 txtent)))
             (progn
                (setq txtdup (cdr (assoc 10 txtent)))                 
                 (setq  dwgtext (rtos (atoi (nth (- dwglen 1) dwgname_list)) 2 0) dwgtext1 (rtos (atoi (nth (- dwglen 2) dwgname_list)) 2 0))
                                       
                    (setvar  "clayer" dwgno)
                   (command "text" txtdup 0.5 0 dwgtext1)  ;;;텍스트크기 입력
                    (setvar  "clayer" dwgno1)
                   (command "text" txtdup 0.5 0 dwgtext)   ;;;텍스트크기 입력
                   (setvar  "clayer" layerch)
      )) 
     (setq tcnt (+ tcnt 1))
    ) ;; repeat
 )) ;;text_arry nil
 
 );;;type_check_duplicate
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(defun split(str split_str / a_str sum_str lst_str count)
      (setq count 1 sum_str "" lst_str nil)
   (setq a_str (substr str count 1))
   (repeat (strlen str)
     (if (/= split_str a_str) 
       (progn
         (setq sum_str (strcat sum_str a_str)))
       (progn
         (if (= nil lst_str)
             (setq lst_str (list sum_str))
             (setq lst_str (append lst_str (list sum_str))))
         (setq sum_str "")))
     (setq count (1+ count))
     (setq a_str (substr str count 1)));;; repeat
    (setq lst_str (append lst_str (list sum_str)))
    lst_str)
혹시나 아예 리습을 한개를 따로해서 스크립트 돌리는게 나은지에 대해서라도 답변해주시면 감사하겠습니다 ㅠㅠ 

관련자료

댓글 2

강수달님의 댓글

답변 정말 감사합니다 

다만 제가 생각 했던게 결국은 조금 말이 안되는거 같습니다.

수야12님의 댓글

그럼 도면에 20번 레이어가 없으면 소유자명이 없는건가요???

그럼 간단할거 같은데요 이런식이면 될듯?! 
여분필드1 여분필드2 여분필드3
전체 72 / 1 페이지
번호
제목
이름
알림 0