SST — 16_Stretch
SST
Rhino에서 AutoCAD STRETCH와 유사하게 동작하도록 만든 스트레치 명령입니다.
드래그한 창 내부의 제어점 또는 객체를 기준점에서 이동점까지의 벡터만큼 이동하여 형상을 늘리거나 줄입니다.
사용 목적
도면 일부를 선택해 끝점, 치수 끝점, 블록 삽입점, 포인트 등을 이동시키고,
선택되지 않은 부분은 유지한 상태로 곡선과 치수를 변형할 때 사용합니다.
특히 2D 도면에서 AutoCAD의 Crossing Window 기반 Stretch 작업을 Rhino 안에서 수행하기 위한 명령입니다.
선택 방식
드래그 방향 동작
오른쪽 방향 드래그 Window 선택입니다. BoundingBox가 선택창 안에 완전히 들어온 객체만 선택합니다. 화면에는 파란색 창으로 표시됩니다.
왼쪽 방향 드래그 Crossing 선택입니다. BoundingBox가 선택창과 겹치는 객체를 선택합니다. 화면에는 초록색 창으로 표시됩니다.
우클릭 또는 Esc 명령을 취소합니다.
동작 흐름
순서 단계 설명
1 드래그 창 정의 마우스로 Stretch 대상 영역을 드래그합니다. 선택창은 현재 뷰의 CPlane 기준 U/V 좌표로 계산됩니다.
2 객체 수집 잠김, 숨김, 삭제 객체를 제외하고 Window 또는 Crossing 조건에 맞는 객체를 수집합니다.
3 제어점 추출 선택창 내부에 있는 Curve 제어점, Brep Vertex, Point, Block 삽입점, LinearDimension 끝점 등을 찾습니다.
4 선택 하이라이트 선택된 객체를 노란색으로 미리 표시합니다.
5 기준점 입력 "기준점 (Base point)" 프롬프트에서 이동 기준점을 지정합니다.
6 이동점 입력 "이동점 (To point)" 프롬프트에서 이동할 점을 지정합니다. 이동 중 노란색 DynamicDraw 미리보기가 표시됩니다.
7 객체 수정 객체 타입별 규칙에 따라 창 내부 제어점 또는 객체 전체를 이동합니다.
8 정리 선택을 해제하고 _PointsOff를 실행하여 남아 있는 제어점 표시를 끕니다.
사용 방법
Rhino 명령창에 SST를 입력하고 Enter를 누릅니다.
"드래그하여 Crossing Window를 정의하세요. (Esc: 취소)" 메시지가 나오면 Stretch할 영역을 드래그합니다.
오른쪽으로 드래그하면 완전 포함 객체만, 왼쪽으로 드래그하면 걸친 객체까지 선택됩니다.
"기준점 (Base point)" 프롬프트에서 기준점을 찍습니다.
"이동점 (To point)" 프롬프트에서 이동할 위치를 찍습니다.
선택창 내부 제어점 또는 객체가 기준점-이동점 벡터만큼 이동되고, 명령창에 수정된 객체 수가 출력됩니다.
실행 예시
SST 예시
객체 타입별 처리
객체 타입 처리 방식
Curve NURBS Curve로 변환한 뒤 선택창 내부의 제어점만 이동합니다. 선택창 밖 제어점은 그대로 유지됩니다.
Brep BoundingBox가 선택창 안에 완전히 들어온 경우에만 Brep 전체를 이동합니다. 일부 Vertex만 이동하지는 않습니다.
Block Block Instance의 삽입점이 선택창 내부에 있으면 블록 전체를 이동합니다.
Point BoundingBox가 선택창 안에 완전히 들어온 경우 전체 이동합니다.
Hatch BoundingBox가 선택창 안에 완전히 들어온 경우 전체 이동합니다.
LinearDimension 치수의 두 ExtensionLine 끝점을 개별 판별합니다. 한쪽 끝점만 창 내부이면 해당 끝점만 이동하고, 양쪽 모두 내부이면 치수 전체를 이동합니다.
기타 Annotation BoundingBox가 선택창 안에 완전히 들어온 경우 전체 이동합니다.
주요 내용
항목 설명
좌표 기준 선택창과 내부 판정은 현재 뷰포트의 CPlane 기준으로 계산합니다.
이동량 기준점에서 이동점까지의 3D 벡터를 그대로 사용합니다.
미리보기 이동점 입력 중 Curve 변형 결과와 완전 포함 객체 이동 결과를 노란색으로 표시합니다.
0 이동량 기준점과 이동점이 같아 이동량이 0이면 객체를 수정하지 않습니다.
수정 결과 명령 완료 시 SST 완료: n개 객체 수정됨. 메시지가 출력됩니다.
적용 환경 Rhino
AutoCAD Stretch와의 차이
항목 설명
선택 입력 Rhino 기본 선택 프롬프트가 아니라 명령 자체의 마우스 드래그 창을 사용합니다.
Curve 처리 선택된 Curve는 NURBS 제어점 기반으로 변형합니다. Curve 종류에 따라 제어점 변형 결과가 원본 형상과 다르게 보일 수 있습니다.
Brep 처리 Brep은 부분 Stretch가 아니라 완전 포함된 경우 전체 이동만 수행합니다.
Block 처리 삽입점 기준으로 전체 이동합니다. 블록 내부 형상은 부분 Stretch하지 않습니다.
참고: SST는 선택창 내부 제어점이 하나 이상 있어야 실행됩니다.
객체가 선택되더라도 창 내부에 이동 가능한 제어점이나 기준점이 없으면 실행되지 않습니다.
주의: 선택창 판정은 CPlane 기준입니다. 도면 방향과 CPlane 방향이 맞지 않으면 예상과 다른 객체가 선택되거나 변형될 수 있습니다.
실행 전에 작업 뷰와 CPlane을 확인하세요.