비밀번호를 잊으셨나요?

비밀번호를 잊으셨나요? 비밀번호를 재설정하려면 이메일 주소를 입력해주세요.

계정이 있나요? 로그인

You must login to ask a question.

비밀번호를 잊으셨나요?

아직 계정이 없으신가요? 회원가입 하기

해당 질문을 신고하는 이유를 간단히 입력해주세요.

해당 답변을 신고하는 이유를 간단히 입력해주세요.

해당 유저를 신고하는 이유를 간단히 입력해주세요.

로그인회원가입

고캐드 – 캐드(CAD) 정보의 중심

고캐드 – 캐드(CAD) 정보의 중심 Logo 고캐드 – 캐드(CAD) 정보의 중심 Logo

고캐드 – 캐드(CAD) 정보의 중심 Navigation

  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
검색
질문하기

Mobile menu

닫기
질문하기
  • 홈
  • 카테고리
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 투표
  • 커뮤니티 그룹
  • Q&A
    • AutoCAD & CADian
    • Inventor & Solidworks
    • Revit & ArchiCAD
    • 자유질문
    • 기타
  • 커뮤니티
    • 오늘의이슈
    • 자유게시판
    • 익명게시판
    • 건의게시판
  • 자료실
    • 자료요청
    • 일반파일
    • 도면샘플
    • 유틸리티
    • 기타
  • 작품 갤러리
    • 그래픽
    • 캐드도면
    • 3D모델
    • 기타
  • 뉴스&이벤트
    • 공지사항
    • 뉴스
    • 전시/행사
    • 이벤트
    • 기타
홈/ 질문/Q 113558
다음
진행 중
강수달
강수달Lv.0
등록일: 2022-01-062022-01-06T15:44:14+09:00 2022-01-06T15:44:14+09:00카테고리: AutoCAD & CADian

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

현재 축척과 원도번호를 리습적용해서 스크립트로 넣고있는데 여기에 추가로 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)
혹시나 아예 리습을 한개를 따로해서 스크립트 돌리는게 나은지에 대해서라도 답변해주시면 감사하겠습니다 ㅠㅠ 
  • 0
  • 2 2 답변
  • 19 조회
공유
  • Facebook

    관련 있는 질문들

    • 질문오토캐드 라인타입이 너무 많은데 어떻게 정리하나요..
    • 질문오토캐드 라인타입이 너무 많은데 어떻게 정리하나요..
    • 캐드출력시 pc3모드이 이상현상
    • 객체 전체 간격 조정 할수 있을까요?

    2 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 수야12 Lv.21
      2022-01-06T23:03:57+09:00답변 등록 답변 등록 일시 2022-01-06 11:03 pm

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

      그럼 간단할거 같은데요 이런식이면 될듯?! 
      (defun c:dno(/ owner)
      (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” ))))                   ;;; 입력위치 레이어
        (setq owner (ssget “x” ‘(( 8 . “20”))))
          (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)   ;;;텍스트크기 입력
                        (if (not  owner)
                           (progn 
                            (command “-layer” “m” “20” “c” “3” “” “”)
                            (setvar  “clayer” “20”)
                            (command “text” txtdup 0.5 0 “a”)
                           )
                         )  
                    (setvar  “clayer” layerch)                   
                            
            )) 
           (setq tcnt (+ tcnt 1))
          ) ;; repeat
       )) ;;text_arry nil
       
       );;;type_check_duplicate
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. 강수달 Lv.0
      2022-01-07T09:30:31+09:00답변 등록 답변 등록 일시 2022-01-07 9:30 am

      답변 정말 감사합니다 

      다만 제가 생각 했던게 결국은 조금 말이 안되는거 같습니다.
      생각을 정리하고 다시 여쭙든가 해야 할꺼 같습니다.
      고민해 주셔서 감사합니다.
      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter

    Sidebar

    질문하기
    공지사항

    • AI CAD의 미래! 캐디안 2025 1+1 프로모션 안내 2025-05-14

    Adv 234x60

    aalan

    Adv 234x60

    aalan

    Adv 120x600

    aalan

    Explore

    • 홈
    • 카테고리
      • AutoCAD & CADian
      • Inventor & Solidworks
      • Revit & ArchiCAD
      • 자유질문
      • 기타
    • 투표
    • 커뮤니티 그룹
    aalan

    Footer

    Support

    • 회사 및 서비스 소개
    • 자주 묻는 질문
    • 문의하기

    Guide

    • 제휴/협업 안내
    • 광고 서비스 안내

    Policy

    • 서비스 이용약관
    • 개인정보 처리방침
    • 광고성 정보 수신 동의

    Contents

    • 고밍스토리
    • 리습 시리즈

    정소프트 | 사업자등록번호 : 677-40-00198 | 대표 : 정은숙 | 이메일 : gocad.manager@gmail.com
    주소 : 서울특별시 강서구 양천로 400-12, 6층 614,615,617호(등촌동, 더리브골드타워)
    Copyright. 2012-2024 GOCAD All rights reserved