FFB  —  18_Insert_Frame

FFB

선택한 Rhino 도면 객체의 크기를 측정하고, SFB로 저장된 Frame Form 블록을 자동 스케일에 맞춰 도면에 삽입하는 명령입니다.
도면 번호·수량·스케일·패널 크기·패드 크기·길이 텍스트를 Form 플레이스홀더에 자동으로 채워 넣습니다.

사용 목적

2D 도면 객체를 선택하면 현재 CPlane 기준으로 도면 전체 크기를 측정하고, SFB에서 선택한 Frame Form이 도면을 감싸도록 스케일과 삽입 위치를 계산합니다. Form 텍스트 플레이스홀더에 도면 정보와 크기 정보를 자동 기입하므로, 반복적인 프레임 삽입 작업을 빠르게 처리할 수 있습니다.

동작 흐름

순서단계설명
1도면 객체 선택Frame Form을 씌울 도면 객체를 선택합니다. Annotation, Curve, Brep, Hatch, Point를 선택할 수 있습니다.
2도면 번호·수량 인식Profile로 시작하는 레이어의 Text를 읽습니다. Qnt-로 시작하는 텍스트는 수량, 그 외 첫 번째 텍스트는 도면 번호로 사용합니다.
3크기 정보 인식PSize_WH 레이어 텍스트에서 패널/패드 W,H 값을 읽고, Steel 7 레이어 텍스트에서 길이 값을 읽습니다.
4도면 크기 측정텍스트와 Annotation을 제외한 선택 객체의 BoundingBox를 현재 CPlane 기준으로 계산합니다.
5스케일 자동 계산도면 크기와 Frame Form 내부 영역을 비교하여 Form이 도면을 감싸는 최적 스케일을 산출합니다.
6Frame Form 삽입계산된 스케일과 위치로 Form 블록을 Form-Frame 레이어에 삽입합니다.
7폴리라인·텍스트 배치SFB에서 저장한 폴리라인과 텍스트를 Form과 동일한 이동·스케일 변환으로 복사하고 내용을 갱신합니다.

SFB → FFB 워크플로

명령역할설명
SFBFrame Form 선택·저장Form 블록·텍스트 플레이스홀더·폴리라인을 선택하여 메모리에 저장합니다.
FFBFrame Form 삽입도면 객체를 선택하여 크기를 측정하고, SFB에서 저장한 Form을 자동 스케일로 삽입합니다.

사용 방법

  1. SFB를 먼저 실행하여 사용할 Frame Form 블록을 선택해 둡니다.
  2. Rhino 명령창에 FFB를 입력하고 Enter를 누릅니다.
  3. "FFB: 도면 내용(객체)을 선택하세요" 프롬프트에서 Frame Form을 씌울 도면 객체를 모두 선택합니다.
    도면 번호, 수량, 크기 값을 자동 기입하려면 관련 텍스트 객체도 선택 범위에 포함해야 합니다.
  4. Enter를 누르면 Frame Form이 자동 스케일·위치로 삽입되고, 텍스트 플레이스홀더가 실제 값으로 채워집니다.
  5. 명령창에 도면 번호, 수량, 계산된 스케일이 출력됩니다.

실행 예시

FFB - 도면 크기 자동 측정 후 Frame Form 삽입 과정

주요 내용

항목설명
사전 조건SFB를 먼저 실행하여 Frame Form 블록이 메모리에 저장되어 있어야 합니다.
선택 대상도면 객체와 함께 자동 기입에 필요한 Text 객체를 선택합니다. 선택 필터는 Annotation, Curve, Brep, Hatch, Point입니다.
크기 측정 제외TextEntity와 AnnotationBase는 도면 크기 BoundingBox 계산에서 제외됩니다.
스케일 계산도면 폭·높이와 Frame Form 내부 영역을 비교하여 자동으로 최적 스케일을 결정합니다.
삽입 레이어Form 블록은 Form-Frame 레이어에 삽입됩니다. 레이어가 없으면 노란색으로 자동 생성합니다.
텍스트 교체도면 번호, 수량, 스케일, 패널 W/H, 패드 W/H, 길이 플레이스홀더를 도면에서 읽은 실제 값으로 교체합니다.
뷰 이동삽입이 끝나면 새로 추가된 객체의 BoundingBox로 화면을 Zoom합니다.
적용 환경Rhino

입력 텍스트 기준

항목설명
도면 번호Profile로 시작하는 레이어의 첫 번째 일반 텍스트를 사용합니다.
수량Profile로 시작하는 레이어에서 Qnt-로 시작하는 텍스트의 뒤쪽 값을 사용합니다.
패널 W/HPSize_WH 레이어 텍스트를 위치 기준으로 정렬한 뒤 패널 크기 값을 추출합니다.
패드 W/HPSize_WH 레이어 텍스트를 위치 기준으로 정렬한 뒤 패드 크기 값을 추출합니다.
길이Steel 7 레이어의 첫 번째 텍스트 값을 사용합니다.

실행 결과

항목설명
Frame Form 블록 삽입도면 크기에 맞는 스케일로 Frame Form 블록이 Form-Frame 레이어에 배치됩니다.
폴리라인 배치SFB에서 저장된 경계 폴리라인이 Form과 동일한 변환으로 복사·배치됩니다.
텍스트 자동 기입도면 번호, 수량, 스케일, 패널/패드 크기, 길이가 Form의 해당 텍스트 위치에 자동으로 기입됩니다.
참고: FFBSFB(화면 선택) 또는 FDstyle 패널의 [도면양식](외부 3dm 파일)으로 등록한 Frame Form 정보를 사용합니다. 등록된 양식 정보는 현재 문서(.3dm)에 함께 저장되어, 파일을 닫았다 다시 열어도 자동 복원되므로 같은 파일에서는 다시 등록할 필요가 없습니다. (등록된 적이 없으면 Form이 삽입되지 않습니다.)
숨김 양식도 정상 삽입: 외부 3dm 파일로 등록한 양식 템플릿은 화면에서 숨김 처리되지만, FFB로 삽입한 양식(블록·폴리라인·텍스트)은 정상적으로 보이는 상태로 들어갑니다.
주의: 도면 선택 범위에 필요한 Text 객체가 포함되지 않으면 Form의 도면번호·수량·크기 정보 칸이 비어 있는 상태로 삽입될 수 있습니다.