비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 185909
다음
답변됨
스노우
스노우Lv.0
등록일: 2023-06-222023-06-22T12:04:25+09:00 2023-06-22T12:04:25+09:00카테고리: 자유질문

(리습) 치수기입 프로그램 오류해결

(리습) 치수기입 프로그램 오류해결

안녕하세요 리습 만드록있는 초보입니다.

최근 치수를 측정하는 리습을 만들었는데, 여러 객체를 선택해서 치수를 측정하는방법이 어려워 블럭을 만든 후 치수를 측정하는 프로그램을 만들었습니다.
FILLET이 적용된 부분은 FIILET을 마우스 휠로 확대를 한 후 치수 리습을 상용하면 정확한 치수가 표시됩니다.
하지만 신기하게 도면을 마우스휠로 축소시킨 후 치수 리습을 사용하면 사진과같이 원 호의 4분점에 치수가 찍혀버립니다. 무슨 문제일가요? 리습 코드 올리겠습니다.

(defun c:dd ()

(prompt “n select objects. “)
(setq MI (ssget))
(setq d (rtos (getvar “cdate”) 1 15))
(setq d1 (substr d 1 15))
(setq p1 “0,0”) ;; 블록의 기준점을 0,0으로 잡음
(command “block” d1 “o” “c” p1 MI “”)
(prompt “n select objects. “)
(setq obj (ssget)) ; 사용자로부터 개체 선택
(setq entname (ssname obj 0))
(setq vlentname (vlax-ename->vla-object entname))
(vla-getboundingbox vlentname ‘minpoint ‘maxpoint)

; Safearray를 리스트로 변환
(setq p1 (vlax-safearray->list minpoint))
(setq p2 (vlax-safearray->list maxpoint))

; (setq objxmin (car p1))
; (setq objxmax (car p2))
; (setq objymin (cadr p1))
; (setq objymax (cadr p2))

(setq xdimpos (list (car p2) (- (cadr p1) 20)))
(setq ydimpos (list (-(car p1) 20) (cadr p2)))

(command “dimlinear” p1 (list (car p2) (cadr p1)) xdimpos)
(command “dimlinear” p1 (list (car p1) (cadr p2)) ydimpos)
(princ)
)

도움주시면 감사합니다.

 

autocadlisp리습오류수정
  • 1
  • 6 6 답변
  • 237 조회
공유
  • Facebook

    관련 있는 질문들

    • 오토캐드 2025년 레이어 병합이 꺼져있습니다 한번만 알려주세요.
    • 원치수 왼쪽 지시선ㅜ
    • 노트북 추천 부탁 드립니다.
    • 반지름 치수선

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

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

    비밀번호를 잊으셨나요?

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

    6 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 베스트 답변
      penpen07 Lv.23
      2023-06-22T13:38:01+09:00답변 등록 답변 등록 일시 2023-06-22 1:38 pm

      command문을 사용하여 좌표를 입력할 때엔 객체 스냅의 영향을 받습니다. 이를 해결하려면, 좌표 입력 전 “none”을 입력해서 객체 스냅을 꺼야 해요

      • 0
      • 댓글 달기
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
      • 스노우 Lv.0
        2023-06-22T14:00:50+09:00에게 댓글을 달았습니다. 답변 등록 일시 2023-06-22 2:00 pm

        아하!! 감사합니다 그런개념이 있군요ㅠㅠ
        none
        (command “dimlinear” p1 (list (car p2) (cadr p1)) xdimpos)
        (command “dimlinear” p1 (list (car p1) (cadr p2)) ydimpos)
        (princ)
        )
        이라고 넣으면 되는건가요? none을 어떻게 넣어서 객체스냅을 끄는지 방법 알려주실 수 있을까요?

        • 0
        • 댓글 달기
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter
        • 스노우 Lv.0
          2023-06-22T14:06:24+09:00에게 댓글을 달았습니다. 답변 등록 일시 2023-06-22 2:06 pm

          아!! 해결했습니다 command “osmode” “0” 으로 해결했습니다~

          • 0
          • 댓글 달기
          • 공유
            공유
            • 공유 Facebook
            • 공유 Twitter
          • penpen07 Lv.23
            2023-06-22T22:41:27+09:00에게 댓글을 달았습니다. 답변 등록 일시 2023-06-22 10:41 pm

            “none”은 명령 수정자(Command Modifier)예요. m2p(mtp)나 end, perp처럼 사용하는 겁니다.

            때문에 아래처럼 좌표를 입력하는 단계 전에 입력하는 거예요.

            (command “line” pt1 pt2 “”)
            (command “line” “none” pt1 “none” pt2 “”)

            • 0
            • 댓글 달기
            • 공유
              공유
              • 공유 Facebook
              • 공유 Twitter
      • 스노우 Lv.0
        2023-06-22T14:09:50+09:00에게 댓글을 달았습니다. 답변 등록 일시 2023-06-22 2:09 pm

        정말 덕분에 해결되서 너무 감사합니다!!

        죄송하지만 질문 하나 더 하겠습니다 ..!!

        여러가지 객체를 선택해서 array 리습 , dim리습 등을 만들어서 사용하고있습니다.

        여기에서 제가 항상 객체를 여러가지 선택하면 각각의 객체마다 array/ dim 이 적용되기때문에

        항상 block을 처리 후 사용하는중입니다.

        혹시 여러가지 객체들을 하나의 객체로 작용되게 하는방법 있을까요??

        예를들어 array의경우 드래그로 객체를 선택후 배열이 가능한데 리습으로 사용할경우 선택된 객체 모두 다 개별로 적용이 되더라구요 ㅜㅜ 해결 가능한 방법을 아시면 알려주시면 정말 감사하겠습니다!

        • 0
        • 댓글 달기
        • 공유
          공유
          • 공유 Facebook
          • 공유 Twitter
        • penpen07 Lv.23
          2023-06-22T22:44:14+09:00에게 댓글을 달았습니다. 답변 등록 일시 2023-06-22 10:44 pm

          기초부터 닦으세요.
          기초가 하나도 없으니 “해주세요” 밖엔 못하는 겁니다.

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

    또는 기존의 콘텐츠에 링크

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