FFB  —  06_Insert_Form

FFB

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

사용 목적

2D 도면 객체를 선택하면, 도면 전체 크기(폭·높이)를 자동으로 측정하고 SFB에서 선택한 Form이 도면을 감싸도록 스케일과 삽입 위치를 계산합니다. 도면 이름·수량·스케일 값을 Form의 텍스트 플레이스홀더에 자동으로 기입하므로, 수동 입력 없이 도면 양식을 완성할 수 있습니다.

동작 흐름

순서단계설명
1도면 객체 선택Form을 씌울 도면의 모든 객체를 선택합니다 (필터 없음).
2도면 이름·수량 인식선택된 MText/DBText 중 도면 번호 텍스트와 Qnt 레이어 텍스트를 자동으로 읽습니다.
3크기 측정MText·MLeader·Spline을 제외한 모든 엔티티의 GeometricExtents로 도면 전체 폭(Length)과 높이(Height)를 계산합니다.
4스케일 자동 계산도면 크기와 SFB에서 저장된 Form 블록의 내부 치수를 비교하여 Form이 도면을 감싸는 최적 스케일을 산출합니다.
5Form 블록 삽입계산된 스케일과 위치로 Form 블록을 Form-Frame 레이어에 삽입합니다.
6Polyline 복사·배치SFB에서 저장된 Polyline을 복사하여 Form과 동일한 이동·스케일 변환을 적용합니다.
7텍스트 플레이스홀더 채우기도면번호 텍스트 → 도면 이름 / Qnt 텍스트 → 수량 / Scale 텍스트 → 1 / N 형식의 스케일 문자열로 교체합니다.

SFB → FFB 워크플로

명령역할설명
SFBForm 선택·저장Form 블록·텍스트 플레이스홀더·Polyline을 선택하여 정적 변수에 저장합니다.
FFBForm 삽입도면 객체를 선택하여 크기를 측정하고, SFB에서 저장한 Form을 자동 스케일로 삽입합니다.

사용 방법

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

실행 예시

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

주요 내용

항목설명
사전 조건SFB를 먼저 실행하여 Form 블록이 메모리에 저장되어 있어야 합니다.
선택 대상필터 없이 도면의 모든 객체를 선택합니다. 도면 번호 MText와 Qnt 레이어 텍스트가 포함되어야 자동 기입이 됩니다.
크기 측정 제외MText, MLeader, Spline은 크기 측정에서 제외됩니다. Arc는 StartPoint/EndPoint로 측정합니다.
스케일 계산도면 폭·높이와 Form 블록 내부 치수를 비교하여 자동으로 최적 스케일을 결정합니다.
삽입 레이어Form 블록은 Form-Frame 레이어(색상 1)에 삽입됩니다.
텍스트 교체SFB에서 저장된 도면번호·Scale·Qnt 텍스트 ObjectID를 복사하고, 도면에서 읽은 실제 값으로 내용을 변경합니다.
적용 환경AutoCAD / BricsCAD (Rhino 미지원)

실행 결과

항목설명
Form 블록 삽입도면 크기에 맞는 스케일로 Form 블록이 Form-Frame 레이어에 배치됩니다.
Polyline 배치SFB에서 저장된 경계 Polyline이 Form과 동일한 변환으로 복사·배치됩니다.
텍스트 자동 기입도면 번호, 수량, 스케일(1 / N)이 Form의 해당 텍스트 위치에 자동으로 기입됩니다.
참고: FFBSFB에서 저장한 Form 정보를 사용합니다. SFB를 실행하지 않은 상태에서 FFB를 실행하면 Form이 삽입되지 않습니다. 세션을 새로 시작했다면 FFB 전에 반드시 SFB를 다시 실행하세요.
주의: 도면 선택 범위에 도면 번호 MTextQnt 레이어 텍스트가 포함되지 않으면 Form의 도면번호·수량 칸이 비어 있는 상태로 삽입됩니다.