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를 실행하여 남아 있는 제어점 표시를 끕니다.

사용 방법

  1. Rhino 명령창에 SST를 입력하고 Enter를 누릅니다.
  2. "드래그하여 Crossing Window를 정의하세요. (Esc: 취소)" 메시지가 나오면 Stretch할 영역을 드래그합니다.
  3. 오른쪽으로 드래그하면 완전 포함 객체만, 왼쪽으로 드래그하면 걸친 객체까지 선택됩니다.
  4. "기준점 (Base point)" 프롬프트에서 기준점을 찍습니다.
  5. "이동점 (To point)" 프롬프트에서 이동할 위치를 찍습니다.
  6. 선택창 내부 제어점 또는 객체가 기준점-이동점 벡터만큼 이동되고, 명령창에 수정된 객체 수가 출력됩니다.

실행 예시

SST 예시

객체 타입별 처리

객체 타입처리 방식
CurveNURBS Curve로 변환한 뒤 선택창 내부의 제어점만 이동합니다. 선택창 밖 제어점은 그대로 유지됩니다.
BrepBoundingBox가 선택창 안에 완전히 들어온 경우에만 Brep 전체를 이동합니다. 일부 Vertex만 이동하지는 않습니다.
BlockBlock Instance의 삽입점이 선택창 내부에 있으면 블록 전체를 이동합니다.
PointBoundingBox가 선택창 안에 완전히 들어온 경우 전체 이동합니다.
HatchBoundingBox가 선택창 안에 완전히 들어온 경우 전체 이동합니다.
LinearDimension치수의 두 ExtensionLine 끝점을 개별 판별합니다. 한쪽 끝점만 창 내부이면 해당 끝점만 이동하고, 양쪽 모두 내부이면 치수 전체를 이동합니다.
기타 AnnotationBoundingBox가 선택창 안에 완전히 들어온 경우 전체 이동합니다.

주요 내용

항목설명
좌표 기준선택창과 내부 판정은 현재 뷰포트의 CPlane 기준으로 계산합니다.
이동량기준점에서 이동점까지의 3D 벡터를 그대로 사용합니다.
미리보기이동점 입력 중 Curve 변형 결과와 완전 포함 객체 이동 결과를 노란색으로 표시합니다.
0 이동량기준점과 이동점이 같아 이동량이 0이면 객체를 수정하지 않습니다.
수정 결과명령 완료 시 SST 완료: n개 객체 수정됨. 메시지가 출력됩니다.
적용 환경Rhino

AutoCAD Stretch와의 차이

항목설명
선택 입력Rhino 기본 선택 프롬프트가 아니라 명령 자체의 마우스 드래그 창을 사용합니다.
Curve 처리선택된 Curve는 NURBS 제어점 기반으로 변형합니다. Curve 종류에 따라 제어점 변형 결과가 원본 형상과 다르게 보일 수 있습니다.
Brep 처리Brep은 부분 Stretch가 아니라 완전 포함된 경우 전체 이동만 수행합니다.
Block 처리삽입점 기준으로 전체 이동합니다. 블록 내부 형상은 부분 Stretch하지 않습니다.
참고: SST는 선택창 내부 제어점이 하나 이상 있어야 실행됩니다. 객체가 선택되더라도 창 내부에 이동 가능한 제어점이나 기준점이 없으면 실행되지 않습니다.
주의: 선택창 판정은 CPlane 기준입니다. 도면 방향과 CPlane 방향이 맞지 않으면 예상과 다른 객체가 선택되거나 변형될 수 있습니다. 실행 전에 작업 뷰와 CPlane을 확인하세요.