비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 113586
다음
진행 중
Lv.0
등록일: 2022-01-212022-01-21T09:33:58+09:00 2022-01-21T09:33:58+09:00카테고리: AutoCAD & CADian

리습 문의 드립니다. 고수님들 한번 봐주세요~

안녕하세요 질문 드립니다.
pdf 만들어주는 리습인데요..
ADPDF명령어로 2번(A3)선택후 -> 도면 쉬트 선택 -> 엔터 치면 해당폴더에
도면번호와 도면명을 인식해서 PDF파일로 만들어주는 리습입니다.
제가 하고싶은것은 도면명으로만 내보내게 하고싶습니다.
밑에있는 리습은 두가지를 인식해서 파일로 내보내는데
구지 파일명까지는 필요없어서요..
부탁드립니다.

간단히 말하면 ADPDF -> 2 -> 쉬트선택(다중) -> 도면번호로 PDF 저장
요래만 되면 정말 좋겠습니다.

;SELECT PDF만들기 A3용지
(defun c:ADPDF (/ )
  (setq plotn “DWG To PDF.pc3”)
  (setq plots “A3(PDF)_”)
  (command “zoom” “e”)
  (setvar “CMDECHO” 0)
  (SETQ PDN (Getvar “DWGPREFIX”))
  (setq stt “2”)
  (setq stt (strcase (getstring “n>>> 도면폼 style (a1 도면 = 1)/(a3 도면 = 2)” )))
  (cond
    ((or (= stt “1”) (= stt “”))
     (progn
       (setq sht_1 (cons 2 “A1”))
       (setq di_x 840.0)   ;전체박스
       (setq di_y 594.0)   ;전체박스
      
       (setq dp_x 100.0)    ;번호
       (setq dp_y 44.29)   ;번호
      
       (setq dk_x 100.0)   ;제목
       (setq dk_y 52.0)   ;제목
      
       (setq ang_1 0.615504)   ;전체박스
       (setq ang_2 2.72463)      ;도면번호
       (setq ang_3 2.66207)      ;제목
       (setq sc_1 2)
     )
    )
    ((= stt “2”)
     (progn
       (setq sht_1 (cons 2 “A3S”))
       (setq di_x 420.0)
       (setq di_y 297.0)
       (setq dp_x 54.96)
       (setq dp_y 26.06)
       (setq dk_x 54.96)
       (setq dk_y 35.19)
       (setq ang_1 0.615504)
       (setq ang_2 2.72463)  
       (setq ang_3 2.66207)  
       (setq sc_1 1)
     )
    )
  )
  ;;cond
  (setq bl1 (ssget (list (cons 0 “INSERT”) sht_1))) ;선택적으로 내보내기
  ;(setq bl1 (ssget “x” (list (cons 0 “INSERT”) sht_1))) ;전체 내보내기
  (setq nb (sslength bl1))
  (prompt “n==>출력물은 총 “)
  (prin1 nb)
  (prompt ” 장 입니다”)
  (setq an (getint “n==>출력을 실행하시겠습니까?<enter>”))
  (setq num 0)


  (repeat nb
    (setq ob1 (ssname bl1 num))
    (setq obj (entget ob1))
   
    (setq p1 (cdr (assoc 10 obj)))   ;박스 좌측하단 좌표값
    (setq scbox (cdr (assoc 41 obj)));도면블럭이름
    
    (setq di_l (sqrt (+ (expt (* di_x scbox) 2) (expt (* di_y scbox) 2)))) ;박스
    (setq p2 (polar p1 ang_1 di_l))
    (command “zoom” “w” p1 p2 )
    (command “zoom” “s” “0.8xp” )
   
    (setq di_la (sqrt (+ (expt (* dp_x scbox) 2) (expt (* dp_y scbox) 2)))) ;도면번호
    (setq p3 (polar p1 0 (* di_x scbox)))
    (setq p4 (polar p3 ang_2 di_la))                                      
   
    (setq di_lb (sqrt (+ (expt (* dk_x scbox) 2) (expt (* dk_y scbox) 2)))) ;제목
    (setq p5 (polar p1 0 (* di_x scbox)))                          
    (setq p6 (polar p5 1.5708 (* 80.29 scbox)))                          
    (setq p7 (polar p6 ang_3 di_lb))
   
    (setq bl2 (ssget “w” p4 p3))     ;도면번호
    (setq bl3 (ssget “w” p6 p7))     ;제목
   
    (if (null bl3)
      (progn
  (ALERT “선택할것이 없슴”)
      )
      (progn
 (setq ob2 (ssname bl2 0))
 (setq ob3 (ssname bl3 0))
 (setq obj1 (entget ob2))
 (setq obj2 (entget ob3))
 (setq Pva1 (cdr (assoc 1 obj1)))
 (setq Pva2 (cdr (assoc 1 obj2)))
 (setq plt_f_na1 (strcat pva1 “-” pva2))
 (setq plt_f_na2 (strcat pdn plt_f_na1))
 (setq scbox (cdr (assoc 41 obj)));도면블럭이름
 (setq scbox_a3 (* scbox sc_1))
 (setq sc1 (strcat “1=” (rtos scbox_a3)))
        (command “plot” “y” “” plotn plots “m” “l” “n” “W” P1 P2 sc1 “c” “y” “CNA-A3.ctb” “y” “w” plt_f_na2 “n” “y”)
      )
      )
 
    (setq num (1+ num))
  );repeat
  (princ num)
);defun SELECT PDF만들기 A3용지

  • 0
  • 4 4 답변
  • 35 조회
공유
  • Facebook

    관련 있는 질문들

    • 오토캐드 마지막 화면으로 실행 안됨
    • 오토캐드 마지막 화면으로 실행 안됨
    • 도서관 도면 구합니다. !
    • 캐드2022 레이어 그룹 분류시 레이어 드래그 오류

    4 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 김보리 Lv.11
      2022-01-21T13:09:24+09:00답변 등록 답변 등록 일시 2022-01-21 1:09 pm

      능력자…

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2022-01-21T13:41:20+09:00답변 등록 답변 등록 일시 2022-01-21 1:41 pm

      정말정말 감사합니다.
      일단 수정하신 리습파일로 로드해봤는데..
      선택할것이 없슴 이라고 뜹니다..
      문제는 잘은 모르지만 제생각에는 도면번호만 선택해서 파일을 만드는게 아니고
      도면번호+도면명 을 인식해서 파일로 내보내려고하는데 도면명이라는 텍스트선택 구간에 텍스트가 없어서
      선택할것이 없음이라고뜨는거 같아요…

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    4. [Deleted User]
      2022-01-21T18:34:48+09:00답변 등록 답변 등록 일시 2022-01-21 6:34 pm

      관심가져 주셔서 너무 감사해요.. 주말잘보내세요~~
      리습자체는 되기는 합니다.
      문제는 도면명 위치가 제 도면 쉬트랑 맞지 않아서…(제 쉬트를 수정해서 맞추면되긴하겠지만)
      혹시나 심심하실때 한번 증상한번 봐주세요..
      정말 다시한번더 감사합니다.
      https://blog.naver.com/mikilove79/222627895838

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    5. 닐스몹 Lv.1
      2022-01-24T16:57:06+09:00답변 등록 답변 등록 일시 2022-01-24 4:57 pm
      ;SELECT PDF만들기 A3용지
      (defun c:ADPDF (/ )scbox
        (setq plotn “DWG To PDF.pc3”)
        (setq plots “A3(PDF)_”)
        (command “zoom” “e”)
        (setvar “CMDECHO” 0)
        (SETQ PDN (Getvar “DWGPREFIX”))
        (setq stt “2”)
        (setq stt (strcase (getstring “n>>> 도면폼 style (a1 도면 = 1)/(a3 도면 = 2)” )))
        (cond
          ((or (= stt “1”) (= stt “”))
           (progn
             (setq sht_1 (cons 2 “A1”))
             (setq di_x 840.0)   ;전체박스
             (setq di_y 594.0)   ;전체박스
            
             (setq dp_x 100.0)    ;번호
             (setq dp_y 44.29)   ;번호
            
             (setq dk_x 100.0)   ;제목
             (setq dk_y 52.0)   ;제목
            
             (setq ang_1 0.615504)   ;전체박스
             (setq ang_2 2.72463)      ;도면번호
             (setq ang_3 2.66207)      ;제목
             (setq sc_1 2)
           )
          )
          ((= stt “2”)
           (progn
             (setq sht_1 (cons 2 “A3S”))
             (setq di_x 420.0)
             (setq di_y 297.0)
             (setq dp_x 54.96)
             (setq dp_y 26.06)
             (setq dk_x 54.96)
             (setq dk_y 35.19)
             (setq ang_1 0.615504)
             (setq ang_2 2.72463)  
             (setq ang_3 2.66207)  
             (setq sc_1 1)
           )
          )
        )
        ;;cond
        (setq bl1 (ssget (list (cons 0 “INSERT”) sht_1))) ;선택적으로 내보내기
        ;(setq bl1 (ssget “x” (list (cons 0 “INSERT”) sht_1))) ;전체 내보내기
        (setq nb (sslength bl1))
        (prompt “n==>출력물은 총 “)
        (prin1 nb)
        (prompt ” 장 입니다”)
        (setq an (getint “n==>출력을 실행하시겠습니까?<enter>”))
        (setq num 0)
        (repeat nb
          (setq ob1 (ssname bl1 num))
          (setq obj (entget ob1))
         
          (setq p1 (cdr (assoc 10 obj)))   ;박스 좌측하단 좌표값
          (setq scbox (cdr (assoc 41 obj)));도면블럭이름
          
          (setq di_l (sqrt (+ (expt (* di_x scbox) 2) (expt (* di_y scbox) 2)))) ;박스
          (setq p2 (polar p1 ang_1 di_l))
          (command “zoom” “w” p1 p2 )
          (command “zoom” “s” “0.8xp” )
         
          (setq di_la (sqrt (+ (expt (* dp_x scbox) 2) (expt (* dp_y scbox) 2)))) ;도면번호
          (setq p3 (polar p1 0 (* di_x scbox)))
          (setq p4 (polar p3 ang_2 di_la))                                      
         
          (setq di_lb (sqrt (+ (expt (* dk_x scbox) 2) (expt (* dk_y scbox) 2)))) ;제목
          (setq p5 (polar p1 0 (* di_x scbox)))                          
          (setq p6 (polar p5 1.5708 (* 80.29 scbox)))                          
          (setq p7 (polar p6 ang_3 di_lb))
         
          (setq bl2 (ssget “w” p4 p3))     ;도면번호
          (setq bl3 (ssget “w” p6 p7))     ;제목
         
          (if (and bl2 (not bl3))
            (progn
              (setq ob2 (ssname bl2 0))
              (setq obj1 (entget ob2))
              (setq Pva1 (cdr (assoc 1 obj1)))
              (setq plt_f_na1 “도면명누락”)
              (setq plt_f_na2 (strcat pdn plt_f_na1))
              (setq scbox (cdr (assoc 41 obj)));도면블럭이름
              (setq scbox_a3 (* scbox sc_1))
              (setq sc1 (strcat “1=” (rtos scbox_a3)))
              (command “plot” “y” “” plotn plots “m” “l” “n” “W” P1 P2 sc1 “c” “y” “CNA-A3.ctb” “y” “w” plt_f_na2 “n” “y”)
            )
            (progn
        (ALERT “도면번호는 있으나, 도면명이 없습니다.”)
            )
          )
          (if bl3
            (progn
              (setq ob3 (ssname bl3 0))
              (setq obj2 (entget ob3))
              (setq Pva2 (cdr (assoc 1 obj2)))
              (setq plt_f_na1 pva2)
              (setq plt_f_na2 (strcat pdn plt_f_na1))
              (setq scbox (cdr (assoc 41 obj)));도면블럭이름
              (setq scbox_a3 (* scbox sc_1))
              (setq sc1 (strcat “1=” (rtos scbox_a3)))
              (command “plot” “y” “” plotn plots “m” “l” “n” “W” P1 P2 sc1 “c” “y” “CNA-A3.ctb” “y” “w” plt_f_na2 “n” “y”)
            )
            (progn
        (ALERT “도면명이 없습니다.”)
            )
         )
          (setq num (1+ num))
        );repeat
        (princ num)
      );defun SELECT PDF만들기 A3용지

      “문제는 도면명이 저정도위치에 잡혀있는게 문제입니다…”
      앞서 변환한 3개의 도면도 스크린샷이랑 같은 위치가 아닌가요?
      이게 므슨 말인지 이해가 잘 안되고..

      “push error using command”는 므슨 에러인지 잘 모르겠네요…
      • 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