비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 175772
다음
진행 중
익명
익명
등록일: 2022-11-072022-11-07T13:15:00+09:00 2022-11-07T13:15:00+09:00카테고리: AutoCAD & CADian

길이산출표로 만드는 리습인데 단위를 m에서 ㎜ 로 바꾸고 싶습니다.

(defun c:tt3(/ ss en ens n n1 k k1 tot dis dis1 siz sizh bas bas2 bas3 cs1 x1 y1 t1 text_out os adoc space th ss cp tb)
(prompt “nCommand: Line PPlus…”)

(vl-load-com)
(setq adoc (vla-get-activedocument (vlax-get-acad-object)))
(setq space (vlax-get adoc (if (= (getvar “cvport”) 1) ‘paperspace ‘modelspace)))

; 글자크기 지정
(setq siz (getvar “TEXTSIZE”))
(setq siz (getreal (strcat “n글자크기를 지정해 주세요 : “)))
(if (not siz) (setq siz (getvar “TEXTSIZE”)))

(setq sizh (/ siz 1.2))
(setq cs1 (* siz 2))
(setq k 0)

(prompt “n더하고자하는 line을 선택-> “)
;(setq ss (ssget))
(if (setq ss (ssget ‘((0 . “*LINE”))))
(foreach x (mapcar ‘vlax-ename->vla-object (vl-remove-if ‘listp (mapcar ‘cadr (ssnamex ss))))
(setq cp (vlax-curve-getpointatdist x (* (vlax-curve-getdistatparam x (vlax-curve-getendparam x)) 0.5)))

(setq t1 (itoa (+ 1 k)))
(setq text_out (strcat t1 “) ” (rtos (/ (vlax-get x ‘Length) 1000) 2 1)))
(setq tb (vla-addtext space text_out (vlax-3d-point cp) sizh))
(vla-put-alignment tb 10)
(vla-put-textalignmentpoint tb (vlax-3d-point cp))
(vla-update tb)

(setq k (+ 1 k))
)
)
(mapcar ‘vlax-release-object (list adoc space tb))
(princ)

(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)
))(terpri)
(if (= stype "LWPOLYLINE")(progn
(command "area" "e" en)
(setq spt (cdr (assoc 10 (entget en))))
(setq dis1 (getvar "perimeter"))
(setq dis (/ dis1 1000.0))
))

; Text Screen
(setq k1 (+ 1 k))
(setq t1 (itoa (+ 1 k)))
(setq text_out (strcat t1 ") "))
(setq t1 (rtos dis 2 1))
(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" spt sizh 0 t1)
(command "circle" bas2 "d" cs1)
(command "text" "m" bas2 siz 0 k1)

(setq x1 (+ x1 (* siz 4)))
(setq y1 (- y1 (/ siz 2)))
(setq bas2 (list x1 y1))
(command "text" "s" "STANDARD" bas2 siz 0 t1)

(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 1)) ; 끝의숫자가 소숫점 자리수임 ( 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)))
(setq bas2 (list x1 y1))
(command "text" "s" "STANDARD" bas2 siz 0 text_out)
(setvar "osmode" os)
(princ)
)

  • 0
  • 2 2 답변
  • 186 조회
공유
  • Facebook

    관련 있는 질문들

    • mvsetup 및 align 안됨
    • mvsetup 및 align 안됨
    • 에어컨 실외기 도면
    • cad에서 기준점 복사 후 다른 파일에 붙여넣기 시 블록참조객체의 길이가 줄어들어있어요

    답변을 남겨주세요
    응답 취소

    답변을 등록하기 위해서는 로그인이 필요합니다.

    비밀번호를 잊으셨나요?

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

    2 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 고개발 Master
      2022-11-07T13:27:19+09:00답변 등록 답변 등록 일시 2022-11-07 1:27 pm
      (수정됨)

      “” 유니코드 때문에 변경해서 올려드립니다.

      (defun c:tt3(/ ss en ens n n1 k k1 tot dis dis1 siz sizh bas bas2 bas3 cs1 x1 y1 t1 text_out os adoc space th ss cp tb)
      (prompt "nCommand: Line PPlus…")
      (vl-load-com)
      (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
      (setq space (vlax-get adoc (if (= (getvar "cvport") 1) 'paperspace 'modelspace)))
      ; 글자크기 지정
      (setq siz (getvar "TEXTSIZE"))
      (setq siz (getreal (strcat "n글자크기를 지정해 주세요 : ")))
      (if (not siz) (setq siz (getvar "TEXTSIZE")))
      (setq sizh (/ siz 1.2))
      (setq cs1 (* siz 2))
      (setq k 0)
      (prompt "n더하고자하는 line을 선택-> ")
      ;(setq ss (ssget))
      (if (setq ss (ssget '((0 . "*LINE"))))
      (foreach x (mapcar 'vlax-ename->vla-object (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
      (setq cp (vlax-curve-getpointatdist x (* (vlax-curve-getdistatparam x (vlax-curve-getendparam x)) 0.5)))
      (setq t1 (itoa (+ 1 k)))
      (setq text_out (strcat t1 ") " (rtos (/ (vlax-get x 'Length) 1000) 2 1)))
      (setq tb (vla-addtext space text_out (vlax-3d-point cp) sizh))
      (vla-put-alignment tb 10)
      (vla-put-textalignmentpoint tb (vlax-3d-point cp))
      (vla-update tb)
      (setq k (+ 1 k))
      )
      )
      (mapcar 'vlax-release-object (list adoc space tb))
      (princ)
      (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)
      ))(terpri)
      (if (= stype "LWPOLYLINE")(progn
      (command "area" "e" en)
      (setq spt (cdr (assoc 10 (entget en))))
      (setq dis1 (getvar "perimeter"))
      (setq dis (/ dis1 1000.0))
      ))
      ; Text Screen
      (setq k1 (+ 1 k))
      (setq t1 (itoa (+ 1 k)))
      (setq text_out (strcat t1 ") "))
      (setq t1 (rtos dis 2 1))
      (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" spt sizh 0 t1)
      (command "circle" bas2 "d" cs1)
      (command "text" "m" bas2 siz 0 k1)
      (setq x1 (+ x1 (* siz 4)))
      (setq y1 (- y1 (/ siz 2)))
      (setq bas2 (list x1 y1))
      (command "text" "s" "STANDARD" bas2 siz 0 t1)
      (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 1)) ; 끝의숫자가 소숫점 자리수임 ( 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)))
      (setq bas2 (list x1 y1))
      (command "text" "s" "STANDARD" bas2 siz 0 text_out)
      (setvar "osmode" os)
      (princ)
      )

      • 0
      • 댓글 달기
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. 수야12 Lv.21
      2022-11-07T16:28:17+09:00답변 등록 답변 등록 일시 2022-11-07 4:28 pm

      (setq text_out (strcat t1 “) ” (rtos (/ (vlax-get x ‘Length) 1000) 2 1))) <= 이부분

      (setq text_out (strcat t1 ")" (rtos (vlax-get x ‘Length) 2 1))) 이렇게 수정하심 됩니다

      • 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

    링크 삽입/편집

    대상 URL을 입력하세요

    또는 기존의 콘텐츠에 링크

      검색어가 지정되지 않았습니다. 최근 항목 표시 검색하거나 위와 아래 화살키를 이용하여 항목을 선택하세요.