비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 195728
다음
.
.Lv.0
등록일: 2025-09-242025-09-24T11:13:19+09:00 2025-09-24T11:13:19+09:00카테고리: AutoCAD & CADian

산출리습 문자 크기 및 소수저 2자리에서 올림..문의드립니다.

(defun c:elsl (/ siz os lt lay sslist ss index layerlist linelist linenumlist ent old8 dist txtlist txt totoalstr totoal subtotoal maxlen1 maxlen2 pt dist1 pt2 pt3)
(setq siz (getvar “TEXTSIZE”))
    (setq txtHei (getdist (strcat “nTextSize <” (rtos (getvar ‘textsize) 2 2) “>: “)));텍스트 변경할 크기 입력
    (if txtHei (setvar ‘textsize txtHei));텍스트 크기 변경
(vl-load-com)
 (DEFUN CT_2018 ( new old str / l i ) (setq l (strlen new) i 0)
        (while (setq i (vl-string-search old str i))
            (setq str (vl-string-subst new old str i) i (+ i l))
        )
        str
    )
(princ “n Eltity Length Sum”)
  (setvar “cmdecho” 0)
  (setq os (getvar “osmode”))
  (setq lt (getvar “ltscale”))
(setq lt (getvar “TEXTSIZE”))
(setq lay (getvar “clayer”))
  (setq sslist nil)
  (setq ss (ssget (list (cons 0 “LINE,CIRCLE,ARC,POLYLINE,LWPOLYLINE,ELLIPSE,SPLINE”))))
  (if ss
    (progn
      (setq index 0)
      (setq layerlist nil)
      (setq linelist nil)
      (setq linenumlist nil)
      (repeat (sslength ss)
        (setq ent (ssname ss index))
        (setq old8 (cdr (assoc 8 (entget ent))))
    (setq dist (atof (rtos (/ (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent)) 1000.0) 2 1)))
    (if (assoc old8 layerlist)
     (progn
      (setq linelist (cons dist (cdr (assoc old8 layerlist))))
      (setq layerlist (subst (cons old8 linelist) (assoc old8 layerlist) layerlist))
     )
     (progn
      (setq layerlist (append layerlist (list (cons old8 (list dist)))))
     )
    )
    (setq index (1+ index))
   )
      (setq txtlist (list (list “레이어종류” “객체수” “산출근거”)))
      (setq maxlen1 0.0)
      (setq maxlen2 0.0)
      (setq totoalstr “”)
      (setq totoal 0.0)
      (foreach x layerlist
        (setq txt “”)
        (setq subtotoal 0.0)
        (foreach xx (cdr x)
     (setq txt (strcat txt “+” (rtos xx  2 1)))
     (setq subtotoal (+ subtotoal xx))
    )
        (setq totoalstr (strcat totoalstr “+” (rtos subtotoal 2 1)))
        (setq totoal (+ totoal subtotoal))
        (setq txt (strcat (substr txt 2) “=” (rtos subtotoal 2 1) “m”))
        (if (> (strlen (car x)) maxlen1) (setq maxlen1 (strlen (car x))))
        (if (> (strlen (itoa (length (cdr x)))) maxlen2) (setq maxlen2 (strlen (itoa (length (cdr x))))))
        (setq txtlist (append txtlist (list (list (car x) (itoa (length (cdr x))) txt))))
      )
      (setvar “osmode” 111)
      (setq pt (getpoint “n 텍스트 삽입점 : “))
      (if pt
        (progn
          (setvar “osmode” 0)
         (foreach x txtlist
            (if (tblsearch “layer” (nth 0 x))     ;
              (setvar “clayer” (nth 0 x))
              (setvar “clayer” lay)
            )
            (command “text” pt (* lt 2.5) 0.0 (nth 0 x))
 (setq pt2 (polar pt 0  (* lt 35 ) )      pt3 (polar pt 0  (* lt 50 ))             )
            (command “text” pt2  (* lt 2.5) 0.0 (nth 1 x))
            (command “text” pt3  (* lt 2.5) 0.0 (nth 2 x))
       (setq pt (polar pt (+ (/ pi 2) pi) (* lt 5)    ))
         )
          (setvar “clayer” lay)
          (command “text” pt (* lt 2.5) 0.0 “TOTAL”)
          (setq pt2 (polar pt 0  (* lt 35 ) )      pt3 (polar pt 0  (* lt 50 ))             )
          (command “text” pt2 (* lt 2.5) 0.0 “=”)
          (command “text” pt3 (* lt 2.5) 0.0 (strcat (substr totoalstr 2) “=” (rtos totoal 2 1) “m”))
        )
      )
      (setvar “osmode” os)
    )
  )
  (princ)
)
1.산출리습인데요 실행을 하면 문자가 사용할때마다 몇배씩 커집니다….처음 입력한 값으로  계속 사용할수있게 부탁드립니다…
2. 나오는 숫자값을 소수점 둘째자리에서 반올림하여  표현하고 싶습니다.
고수님들.부탁드립니다..아무리해도  답이 안나오네요..감사합니다.
  • 1
  • 0 0 답변
  • 1 조회
공유
  • Facebook

    관련 있는 질문들

    • 이벤트 공유
    • 명령어 입력 시 십자선 및 커서 분리 현상
    • 캐드 폴리선 더블클릭시 폴리선 편집 안되게하는 방법은 없을까요?
    • 캐드에서 테이블을 사용하여 고정 영역 객체 수량을 자동 계산하듯, 고정영역 숫자 문자를 합산할수 있을까요?

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

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

    비밀번호를 잊으셨나요?

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

    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을 입력하세요

    또는 기존의 콘텐츠에 링크

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