비밀번호를 잊으셨나요?

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

계정이 있나요? 로그인

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 112506
다음
진행 중
Lv.0
등록일: 2020-07-232020-07-23T10:58:51+09:00 2020-07-23T10:58:51+09:00카테고리: AutoCAD & CADian

옵셋객체 거리값 계산시 소수점 오류

(defun c:t1( / pt1 pt2)
  (princ “n거리 0.2 차이값 검토”)
  (setq pt1 (getpoint “n하단점 입력 : “))
  (setq pt2 (getpoint pt1 “n상단점 입력 :”)) 
  (setq aa (- (- (cadr pt2) (cadr pt1)) 0.2))
  (princ (strcat “n 차이값 : ” (vl-princ-to-string aa)))
  (princ)
  )


(defun c:t2( / pt1 pt2)
  (princ “n거리 0.2 차이값 검토”)
  (setq pt1 (getpoint “n하단점 입력 : “))
  (setq pt2 (getpoint pt1 “n상단점 입력 :”)) 
  (setq aa (- (distance pt1 pt2) 0.2))
  (princ (strcat “n 차이값 : ” (vl-princ-to-string aa)))
  (princ)
  )

명령: t1
거리 0.2 차이값 검토
하단점 입력 :
상단점 입력 :
 차이값 : 2.83107e-15


명령:
명령: t2
거리 0.2 차이값 검토
하단점 입력 :
상단점 입력 :
 차이값 : 2.83107e-15


예를 들어 객체를 옵셋을 0.2 했을때

getpoint로 포인트점 선택후 거리 계산시

위와 같이 소수점 차이값이 납니다

_$ (- (cadr pt2) (cadr pt1))
0.2
_$ (- (- (cadr pt2) (cadr pt1)) 0.2)
2.83107e-15
_$

_$ (distance pt1 pt2)
0.2
_$ (- (distance pt1 pt2) 0.2)
2.83107e-15
_$

이런식으로요 이거 시스템변수 문제 인지 아니면 자체 오류 인지요? 도면에 문제가 있는건지

지금 모든 도면에서 오류가 나는거 같습니다

해결 방법 아시는분 답변 부탁 드립니다.

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

    관련 있는 질문들

    • 객체 전체 간격 조정 할수 있을까요?
    • 블록 안에서 블록을 만들 수 있나요? 과거에는 됐었는데 2023부터 안되나요?
    • 캐드 2023 find 명령어가 너무 느립니다.
    • 폴리선 각도에 맞는 문자를 폴리선위에 올리고싶습니다. (관로선형에 위에문자올릴때)

    2 답변

    • 작성 순
    • 최신 순
    • 공감 순
    1. aalan
    2. 수야12 Lv.21
      2020-07-23T18:18:08+09:00답변 등록 답변 등록 일시 2020-07-23 6:18 pm

       컴퓨터 태생 자체의 문제입니다 이진으로만 숫자를 표현하다보니 소수는 근사값을 표현하는것이지 정확한 값을 표현하지 못합니다 그러니 정확한 값을 표현하게 사용자가 지정을 해줘야 합니다 (atof(rtos aa 2 1)) (예전에 어떤 강의에서 들은 거라 정확하지는 않지만 어쨌든 컴퓨터는 숫자를 정확하게 표현하는게 아니라는 말은 맞습니다)

      • 0
      • 공유
        공유
        • 공유 Facebook
        • 공유 Twitter
    3. [Deleted User]
      2020-07-24T10:49:17+09:00답변 등록 답변 등록 일시 2020-07-24 10:49 am

      답변 감사합니다

      타 사이트에서 (rtos (distance pt1 pt2) 2 16) 이렇게 확인해 보라해서  확인해보니

      _$ (rtos (distance pt1 pt2) 2 16)
      “0.1999999999999993”

      이렇게 나오네요 수야님 답변으로 인해 이해할수 있게 되었습니다. 

      앞으로는 문자 숫자 이런식으로 변환해서 값을 확인 해야 겠네요

      • 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