비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 112879
다음
nossida
nossidaLv.0
등록일: 2021-02-152021-02-15T10:24:37+09:00 2021-02-15T10:24:37+09:00카테고리: AutoCAD & CADian

리습 길이단위표시 변경

안녕하세요.

리습 도움 요청드립니다.

선의 길이를 표시해주는 리습인데,
첫번째, 단위를 mm → M로 변경하고 싶습니다.
두번째, 현재 폴리선만 가능한데, 일반선, 호도 길이표시가 되었으면 좋겠습니다.
==========================================================
;;;Created by Ju in hoe,in Seoul
;;;2002.3.9
;;; LWPOLYLINE,POLYLINE 만 선택하여 
;;; 폴리선의 중간점에 폴리선의 길이TEXT를 입력한다.
;;;명령어 – mit
(defun dtr (a)
(setq x (* pi (/ a 180.0)))
)
(defun rtd (a)
(setq x (/ (* a 180) pi))
)
(defun text_box_mid (e / eb slope_pt)
(setq eb (entget e))
(setq slope_pt (textbox eb))
)
(defun ErrHandle (Err)
(if (and (/= Err “quit / exit abort”)
(/= Err “Function cancelled”)
)
(princ Err)
)
(setvar “cmddia” 1)
(setq *error* OldError)
(princ)
)
(defun Get_PolyVtx (EntList / x VtxList AA)
(setq VtxList ‘())
(cond
((= “LWPOLYLINE” (CDR (ASSOC 0 EntList)))
(foreach x EntList
(if (= (car x) 10)
(setq VtxList (append VtxList (list (cdr x))))
)
)
)
((= “POLYLINE” (CDR (ASSOC 0 EntList)))
(SETQ AA (ENTGET (ENTNEXT (CDR (ASSOC -1 EntList)))))
(WHILE (/= “SEQEND” (CDR (ASSOC 0 AA)))
(setq VtxList (append VtxList (list (cdr (ASSOC 10 AA)))))
(SETQ AA (ENTGET (ENTNEXT (CDR (ASSOC -1 AA)))))
)
)
)
VtxList
)
(defun c:mit (/ ss_poly sno b no
ss pl len_tot VtxList_out
rp_len sum_dist i mid_len seg_dist
ang mod_dist mid_pt len_tot_text
dgree_deg
)
(setq OldError *error*)
(setq *error* ErrHandle)
(setvar “cmdecho” 0)
(command “undo” “be”)
(setq input_HEIGHT (getreal “n 문자크기 입력<미입력시 현재 텍스트 크기>:”))
(cond
((/= input_HEIGHT nil)
(setq TEXT_HEIGHT input_HEIGHT)
)
(T
(setq TEXT_HEIGHT (getvar ‘textsize))
)
)
;;; (setq TEXT_LAYER “0”) ;TEXT 레이어
;;; (setq TEXT_HEIGHT 1.0) ;TEXT 기
(setq ss_poly (ssget))
;;; (setq ss_poly (ssget “x”
;;; (list
;;; (cons -4 ” ;;; (cons 0 “POLYLINE,LWPOLYLINE”)
;;; (cons -4 “AND>”)
;;; )
;;; )
;;; )
(if (= ss_poly nil)
(progn
(princ ” …. 폴리선이 존재하지 않습니다. n”)
)
(progn
(princ ” Processing …….. n”)
(setq sno 0)
(setq b (sslength ss_poly)
no 0
)
(repeat b
(setq ss (ssname ss_poly no))
(setq pl (entget ss))
(setq poly_id (cdr (assoc 0 pl)))
(if (or (= poly_id “LWPOLYLINE”) (= poly_id “POLYLINE”))
(progn
(command “area” “o” ss)
(setq len_tot (getvar “perimeter”))
(if (/= len_tot 0.0)
(progn
(setq VtxList_out (Get_PolyVtx pl))
(setq rp_len (length VtxList_out))
(setq sum_dist 0
i 0
)
(setq mid_len (/ len_tot 2))
(while (< sum_dist mid_len)
(setq seg_dist (distance (nth i VtxList_out)
(nth (+ i 1) VtxList_out)
)
)
(setq sum_dist (+ sum_dist seg_dist))
(setq i (+ i 1))
)
(setq ang
(angle (nth (- i 1) VtxList_out) (nth i VtxList_out))
)
(setq mod_dist (- seg_dist (- sum_dist mid_len)))
(setq mid_pt
(polar (nth (- i 1) VtxList_out) ang mod_dist)
)
(setq len_tot_text (rtos (/ len_tot 1000) 2 3))
(setq dgree_deg (rtd ang))
(if (and (> dgree_deg 90) (<= dgree_deg 270))
(progn
(setq dgree_deg (+ 180 dgree_deg))
(setq ang (dtr dgree_deg))
)
)
(entmake (list (cons 0 “TEXT”)
(cons 1 len_tot_text)
(cons 10 mid_pt)
(cons 40 TEXT_HEIGHT)
(cons 50 ang)
)
)
;;;문자의 중간점을 기준하여 입력한다.
;;; ——————————————-
;;; (setq e1 (entlast))
;;; (setq xvalue- (/ (caadr (text_box_mid e1)) 2))
;;; (setq new_mid_pt
;;; (polar mid_pt (+ ang (dtr 180)) xvalue-)
;;; )
;;; (setvar “osmode” 0)
;;; (command “move” e1 “” mid_pt new_mid_pt)
;;; ——————————————-
)
)
(setq sno (+ sno 1))
)
)
(setq no (+ no 1))
(if (or (= (rem no 100) 0)
(= no b)
)
(progn
(princ ” “)
(princ no)
(princ “/”)
(princ b)
(princ “r”)
)
)
)
(princ “n 길이가 0.0이 아닌 폴리선 개수: “)
(princ sno)
(princ “n Completed…..”)
)
)
(command “undo” “e”)
(princ)
)
  • 0
  • 190 조회
공유
  • 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