미세한게 틀어진 도면 보정, CER
전체 명령어 : xiCorrectError
단축 명령어 : CER
사용법
도면을 그리다 보면, 어느 순간 선이 아주 조금 틀어져서, 미세하게 수평 수직이 아닌 경우가 있는데, 이 명령어는 이를 일괄 보정해 주는 명령어 입니다.
예:
선의 끝점 좌표 또는 블럭의 삽입점 좌표 등이 아래와 같이 의도에서 벗어나 있을 경우, 이를 정수로 떨어지게 보정할 수 있습니다.
(5301.33 3400.01) -> (5300.0 3400.0)
명령어를 실행하여, 설정(S)를 누르면 설정 화면이 나타나면, 여기서 보정하고 싶은 객체의 종류를 선택하고, 보정근사값을 설정하면 됩니다.
근사값은 도면에서 거리로 지정될 수도 있습니다.
근사값의 기준은...
객체가 만약 0.03mm 정도 틀어져 있다면, 기준값 1.0
객체가 만약 3mm 정도 틀어져 있다면, 기준값은 10 이 됩니다.
근사값 0.25 일 경우...
15.2 -> 15.25
15.3 -> 15.25
15.7 -> 15.75
근사값 0.5 일 경우...
15.2 -> 15.0
15.3 -> 15.5
15.7 -> 15.5
근사값 1.0 일 경우...
15.2 -> 15.0
15.3 -> 15.0
15.7 -> 16.0
근사값 10.0 일 경우...
15.2 -> 20.0
15.3 -> 20.0
15.7 -> 20.0
로 됩니다.
-------------------------
거의 편집증 정도의 집요함으로 정확히 도면을 그리고 있는 분도.. 도면의 객체가 많아질 수록 미세하게 0 에서 벗어나는 선들이 생기게 됩니다. 이렇게 되는 이유는 캐드의 좌표값을 규정하는 특성 때문인데요..
0 은 관념의 숫자라서.. 정수 좌표에서 시작해서, 키보드의 숫자로만 입력을 하거나, offset 만을 이용해 도면을 그리지 않는 이상.. 캐드에서 정수로 떨어지는 입력이 이론적으로 불가능합니다. (int, end, mid 등의 모든 오스냅이라는 것도 마찬가지입니다. 정확히 정수로 떨어지게 점을 인식하는 방법은 없습니다. 항상 정수에 수렴하는 실수일 뿐입니다. )
캐드는, 이 모순을 벗어나기 위해서...
내부적으로는 소숫점 이하 16자리 까지 저장을 하고, 사용자에게는 최대 소숫점 이하 8자리까지만 보여 주는 방식을 채택하였습니다.
즉, 입력된 도형의 길이가 정확히 0 으로 떨어질 수 없지만, 사용자는 0 으로 느끼도록 만들었다고 보시면 되세요.
이를 실제로 확인하실 수 있도록,
0,0 에서 시작해서 offset 만으로 입력된 사각형과,
임의의 점에서 시작해서 교차점 등의 오스냅을 이용해서 그린 사각형을 넣은 도면을 올려 드립니다.
도면 안에 두 도형의 면적을 소숫점 4자리, 내림 옵션으로 구한 결과를 넣어 놓았습니다.
이를 거리값으로 측정해 볼 수 있는 함수는 아래와 같습니다. 도면에 있는 사각형의 변 길이를 재보면 어떤 의미인지 쉽게 아실 수 있으실거여요.
(defun c:xxx ( / p )
(rtos (* (distance (setq p (getpoint "1st point: ")) (getpoint p "2nd point: ")) 1000000) 2 8)
)
---------------------------
그러므로 아무리 캐드의 경력이 오래되고, 실수도 없고, 임의로 허공에 선을 긋지 않는 철두철미한 분도 결국 이 보정 명령어가 필요하게 됩니다.