비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 90137
다음
Lv.0
등록일: 2010-12-222010-12-22T09:50:21+09:00 2010-12-22T09:50:21+09:00카테고리: AutoCAD & CADian

자동합계및넘버링 수정부탁드립니다. (급)

(defun c:tt(/  ss en n n1 k tot dis dis1 siz bas bas2 x1 y1 t1 text_out r th pnt msg k)
   (prompt “nCommand: Line Plus…”)


   ; 글자크기 지정
   ;(setq siz (* 20 (getvar “dimscale”)))
   (setq siz (getvar “TEXTSIZE”))
   (setq siz (getreal (strcat “n글자크기를 지정해 주세요 <” (rtos siz) “>: “)))
   (if (not siz) (setq siz (getvar “TEXTSIZE”)))
   (prompt “n더하고자하는 line을 선택-> “)
   (setq ss (ssget))
   (setq n1 (sslength ss))
   (setq n n1 k 0)
   (setq tot 0 dis 0 dis1 0)
   (setq text_all “”)


   (setq bas (getpoint “전체데이터 화면표시 위치:”))
   (setq os (getvar “osmode”))
   (setvar “osmode” 0)
   (while (<= 1 n)
       (setq en (ssname ss k))
       (setq stype (cdr (assoc 0 (entget en))))
       (if (= stype “LINE”)(progn
           (setq spt (cdr (assoc 10 (entget en))))
           (setq ept (cdr (assoc 11 (entget en))))
           (setq dis1 (distance spt ept))
           (setq dis (/ dis1 1000.0))(prin1 dis)
          
           ; Text Screen
           (setq t1 (itoa (+ 1 k)))
           (setq text_out (strcat t1 “)  “))
           (setq t1 (rtos dis 2 0))
           (setq text_out (strcat text_out t1))
          
           (setq x1 (car bas) y1 (cadr bas))
           (setq y1 (- y1 (* siz (* 2 (+ 1 k)))))
           (setq bas2 (list x1 y1))
          
           (command “text” “s” “standard” bas2 siz 0 text_out)
          
       ))(terpri)
       (if (= stype “LWPOLYLINE”)(progn
           (command “area” “e” en)
           (setq dis1 (getvar “perimeter”))
           (setq dis (/ dis1 1000.0))
          
           ; Text Screen
           (setq t1 (itoa (+ 1 k)))
           (setq text_out (strcat t1 “)  “))
           (setq t1 (rtos dis 2 0))
           (setq text_out (strcat text_out t1))
          
           (setq x1 (car bas) y1 (cadr bas))
           (setq y1 (- y1 (* siz (* 2 (+ 1 k)))))
           (setq bas2 (list x1 y1))
          
           (command “text” “s” “standard” bas2 siz 0 text_out)
          
       ))
      
       (setq tot (+ tot dis))
       (setq n (- n 1))
       (setq k (+ k 1))
      
    )
 (terpri)
   
    (prompt “총”)(prin1 n1)(prompt “개의 라인…”)
    (prompt “전체길이 : “)(prin1 tot)(prompt ” m”)
    (prin1)
   
    (setq text_out “Total Length: “)
    (setq t1 (rtos tot 2 4))    ; 끝의숫자가 소숫점 자리수임 ( 0 ~ 4 가능 )
    (setq text_out (strcat text_out t1))
    (setq text_out (strcat text_out text_all))
   
   ; Text Screen
   (setq x1 (car bas) y1 (cadr bas))
   (setq y1 (- y1 (* siz (* 2 (+ 1 k)))))
   (setq bas2 (list x1 y1))
   (command “text” “s” “standard” bas2 siz 0 text_out)
   (setvar “osmode” os)
   (princ)


(setq r 10     ; 원의 반지름
        th (getint “시작번호를 입력하세요 <1>:”)   ; 넘버링 시작번호
  )
  (if (= th nil)(setq th 1))
  (setq msg (strcat  “넘버링 위치를 클릭하세요 <” (rtos th 2 0) “>:”))
  (initget 128)
  (while  (setq pnt (getPoint msg))  ; 넘버링 위치
    (setq a (entlast))
    (if (= (type pnt) ‘LIST)
      (progn
            (command “circle” Pnt r)  ; 원 그리기
            (command “text” “j” “mc” pnt “6” “0” th)  ; 텍스트 쓰기
            (setq k (ssadd))
            (while (setq a (entnext a))
                (setq k (ssadd a k))
            )
            (command “Copybase” pnt k “”)
            (command “Erase” k “”)
            (command “Pasteblock” pnt)
            (setq th (+ 1 th))  ; 1씩 + 하기
      )
      (if (= (strcase pnt) “B”)
        (setq th (+ th 1))
        (setq th (atoi pnt))
      )
    )
    (initget 128)
    (setq msg (strcat  “넘버링 위치를 클릭하세요 <” (rtos th 2 0) “>:”))
  )
  (princ)
)

1.자동넘버링으로 바꿔야하는데 어떤걸 건드려야 할지
2.라인 자동 합계에서 spline  인식을 못하는데요  (pline , line, spline) 구분없이 인식할수 있는지???
3.합계는소수점이 나오는데 각라인별 소수점을 부탁드립니다. 
완전초보라서

  • 0
  • 16 조회
공유
  • Facebook

    관련 있는 질문들

    • 객체 전체 간격 조정 할수 있을까요?
    • 블록 안에서 블록을 만들 수 있나요? 과거에는 됐었는데 2023부터 안되나요?
    • 캐드 2023 find 명령어가 너무 느립니다.
    • 폴리선 각도에 맞는 문자를 폴리선위에 올리고싶습니다. (관로선형에 위에문자올릴때)

    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