비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 111537
다음
Lv.0
등록일: 2019-07-152019-07-15T12:14:30+09:00 2019-07-15T12:14:30+09:00카테고리: AutoCAD & CADian

길이 및 면적 리습 문의드려요

길이 리습에 m 을 면적에 리습에 ㎡를 붙이고 싶은데 어떻게 해야되나요?
1.길이 리습
(defun c:az(/  ss en n n1 k tot dis dis1)
   (setvar “cmdecho” 0)
   (setvar “dimzin” 0)
   (prompt “nSelect object:”)
   (setq ss (ssget))
   (setq n1 (sslength ss))
   (setq n n1 k 0)
   (setq tot 0 dis 0 dis1 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 dis1 (getvar “perimeter”))
           (setq dis (/ dis1 1000.0))
       ))
       (setq tot (+ tot dis))
       (setq n (- n 1))
       (setq k (+ k 1))
    )
  (SETQ to2 (RTOS tot 2 2));;소수점 정리
  (terpri) 
  (prompt “총”)(prin1 n1)(prompt “개의 라인…”)
  (prompt “전체길이 : “)(prin1 to2)(prompt “m”)
  (SETQ PO (GETPOINT))
  (COMMAND “STYLE” “nt” “romans.shx,ghs.shx” “” “” “” “” “”)(PRIN1)
  (SETQ TESI (* 4.0 (GETVAR “DIMSCALE”)))
  (COMMAND “TEXT” “Mr” PO tesi “” to2)(PRIN1)
  (princ)
  (prin1)
)
2.면적리습
;;=====================================================================
;  면적구하기(98주말농부)
;  ->pline이나 내부점을 선택하여 화면에 면적을 자동으로 표기(사사오입)
;  ->설정값변경 옵션추가/자리수 선택가능(2007.5.11)
;;—— quick area —————————————————
(defun c:qa(/ os ot ts ht a yn tem ent1 en1 grpt pt1 ar1 ar2 ar3)
;->*error* start
 (defun *error* (msg)(princ “error: “)(princ msg)
 (setvar “osmode” os)(setvar “orthomode” ot)
 (princ))
;-<*error* end
   (prompt “…면적구하기”)
   (setq os (getvar “osmode”) ot (getvar “orthomode”)
         ts (getvar “textsize”))
   (setvar “orthomode” 0) (setvar “osmode” 0)
   (if (= dw nil) (setq dw 2))
;설정값 변경
   (setq a (strcat “n현재 설정값(문자높이=” (rtos ts 2 1)
            “,자리수=” (rtos dw 2 0) “)을 변경할까요? [Y/N] <N> : “))
   (initget “Yes No”)
   (setq yn (getkword a))
   (if (= yn “Yes”)
     (progn
       (setq a (strcat “n문자높이<” (rtos ts 2 1) “>:”))
       (setq ht (getdist a))
       (if (= ht nil) (setq ht ts))
       (setq a (strcat “n소수점 자리수을 지정<” (rtos dw 2 0) “>:”))
       (setq tem (abs (getint a)))
       (if (= tem nil) (setq dot dw) (setq dot tem) )
       (setq dw dot)
     )
     (setq ht ts dot dw)
   )
;선택방법
   (setq ent1 (entsel  “nPline선택 <내부점 선택>->”))
   (if ent1
     (progn
       (setq en1 (car ent1)) (redraw en1 3)
       (setq grpt (grread T))
       (setq pt1 (cadr grpt))
       (command “area” “e” ent1)  )
     (progn
       (prompt “nSelect internal point->”)
       (command “boundary” pause “”)
       (setq en1 (entlast))(redraw en1 3)
       (command “area” “e” “l”)
       (setq pt1 (getvar “lastpoint”))  )
   )
;
   (setq ar1 (/ (getvar “area”) 1000000));제곱미터로 변경
   (setq ar2 (rtos ar1 2 dot));자리수=dot
   (if (>= dot 1)
       (setq ar3 (@tx_dot ar2 dot))
       (setq ar3 ar2)
   )
   (command “text” “j” “r” pt1 ht “0” ar3)
   (prompt “nEnter text point->”)
   (command “move” “l” “” pt1 pause)
   (redraw en1 4)
   (setvar “osmode” os)(setvar “orthomode” ot)
   (prompt “n면적: “)(prin1 ar1)(prompt “㎡”)
(prin1))
;문자로된 숫자의 자리수를 맞추고 문자로 되돌리기
(defun @tx_dot(tx dot / k k1 tx tx1 tx2 tx3)
   (setq k1 (vl-string-position (ascii “.”) tx))
   (if (= k1 nil) (setq tx1 (strcat tx “.0”)) (setq tx1 tx))
   (setq k (strlen tx1))
   (setq k1 (vl-string-position (ascii “.”) tx1))
   (setq tx2 (substr tx1 1 (+ k1 1)));정수부분
   (setq tx3 (substr tx1 (+ k1 2)));소수부분
   (setq k (strlen tx3))
   (while (< k dot)
      (setq tx3 (strcat tx3 “0”))
      (setq k (strlen tx3))
   )
   (strcat tx2 tx3)
)

  • 0
  • 21 조회
공유
  • Facebook

    관련 있는 질문들

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

    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