TRAMS AI 프로젝트 문의
AI 뽀개기

Finch 같은 평면 자동 생성 프로그램 만들기: Rhino Compute와 OR-Tools

Finch의 핵심 기능을 참고해 공동주택 평면 자동 생성 프로그램을 설계합니다. Rhino Compute·OR-Tools·pgvector를 연결하고, 평면 추천부터 면적 비교와 BIM 전달까지 구현하는 방법을 설명합니다.

핵심 요약

1. 공동주택 평면 자동 생성 프로그램은 건물 형상과 세대 조건을 받아 편집 가능한 평면과 비교 지표를 만듭니다. 2. Rhino Compute의 형상 연산, OR-Tools의 제약 최적화, pgvector의 평면 검색을 연결합니다. 3. 배치 규칙과 평면 데이터, 적합성 검사, BIM 속성 매핑은 직접 설계합니다.

Finch는 finch3d.com에서 제공하는 스웨덴의 건축 설계 소프트웨어입니다. 기존 평면 라이브러리와 건물 제약을 활용해 코어·세대·유닛 평면을 구성하고 반복 설계를 돕습니다. 아래는 이 가치를 구현하기 위한 기술 조합이며, Finch의 비공개 내부 기술을 설명하는 것은 아닙니다.

건물 형상과 코어·복도를 계산 가능한 입력으로 바꿉니다

사용자가 건물 외곽, 층고, 코어 위치를 입력하면 IfcOpenShell로 IFC 파일의 형상과 속성을 읽습니다. IFC는 건물 요소와 속성을 교환하는 BIM 파일 형식이며, IfcOpenShell은 이를 처리하는 오픈소스 도구입니다. Rhino 형상을 받는 경로도 별도로 마련할 수 있습니다.

Rhino Compute는 서버에서 곡선 교차·영역 분할·면적 계산을 수행하는 형상 연산 API로 연결합니다. 자체 로직은 좌표계와 단위를 통일하고 코어·복도·세대 배치 가능 영역을 구분합니다. 코어 복도 세대 배치에 필요한 출입 연결 관계까지 계산하면, 다음 단계에서 사용할 층별 영역과 접근 조건이 출력됩니다.

OR-Tools로 세대 믹스 생성 조건을 풉니다

사용자는 세대 유형별 목표 면적·수량·비율과 평가 가중치를 입력합니다. OR-Tools는 정의된 변수와 제약을 바탕으로 가능한 조합을 탐색하는 오픈소스 최적화 라이브러리입니다. 건축 평면이나 건축 데이터를 공급하는 API는 아닙니다.

Finch 서비스 소개 이미지
출처: finch3d.com

자체 배치 엔진이 세대 후보 위치를 만들고, 복도 접근·외곽 이탈·겹침 방지 조건을 최적화 모델에 연결합니다. 목표 비율과 면적 편차를 평가하는 기준도 직접 정합니다. 세대 구성 최적화의 출력은 유형별 세대 수와 배치 후보이며, 설계자가 조건을 바꿔 다시 생성할 수 있도록 구성합니다.

건축 평면 라이브러리에서 유닛 평면을 추천합니다

사용 권한을 확보한 사무소 평면을 크기·외곽 형상·출입구·창 조건과 함께 등록합니다. PostgreSQL 확장인 pgvector는 이렇게 보유한 데이터의 특징 벡터를 비교해 유사한 후보를 검색합니다. 평면 원본이나 특징 벡터를 대신 만들어 주는 자료 공급원은 아닙니다.

자체 로직은 면적·방 개수·출입구 조건으로 후보를 걸러내고, 적합도와 필요한 변형 정도를 평가합니다. 유닛 평면 추천 결과에는 후보 도면과 선택 근거를 함께 보여줍니다. 기존 평면 검색과 새로운 평면 생성은 별도 기능으로 설계해야 합니다.

Finch 101 튜토리얼은 Basic의 개인 라이브러리 검색과 Enterprise의 Generate Plan을 구분합니다. 이 문서의 구분을 모든 계약에 동일한 현행 제공 범위로 적용하지 않고, 도입 시 해당 제품·계약의 이용 권한을 확인합니다.

Finch 서비스 소개 이미지
출처: docs.finch3d.com

선택한 평면을 조정하고 치수와 동선을 다시 검사합니다

입력은 선택한 평면과 목표 세대 외곽, 유지할 출입구 위치입니다. Rhino Compute가 변환과 교차 계산을 맡고, 자체 배치 규칙이 벽과 공간의 조정 범위를 결정합니다. 방의 최소 크기와 동선 연결을 재검사해 수정된 평면과 조건 위반 항목을 출력합니다.

외부 LLM API는 자연어 요구를 면적·비율 같은 입력 항목으로 정리하는 보조 기능에 활용할 수 있습니다. 반복 절차를 묶는 AI 스킬을 추가하더라도 실제 배치와 치수 판정은 형상·제약 엔진이 맡도록 설계합니다. 설계자가 검사 결과를 보고 수정하는 화면까지 있어야 건축 초기 설계 자동화가 업무 흐름으로 이어집니다.

면적 지표와 모델 버전으로 설계 대안을 비교합니다

각 대안의 형상과 세대 구성을 입력하면 Rhino Compute의 면적 계산 결과를 자체 지표 엔진에 전달합니다. 엔진은 연면적(GFA), 세대 수, 유형별 비율과 면적을 정한 산정 기준에 따라 집계합니다. 외벽 길이와 바닥 면적의 비율, 방의 외벽 접촉 여부도 비교할 수 있지만 정밀 일조 시뮬레이션 결과로 표시해서는 안 됩니다.

건축 설계 대안 비교에는 같은 기준으로 계산한 지표와 수정 이력을 함께 저장합니다. Speckle API·SDK는 버전이 있는 모델 데이터를 연결하는 후보입니다. 입력 조건과 평가 기준을 버전에 묶는 로직, 대안 간 차이를 보여주는 비교 화면은 자체 개발해 평면 면적 효율 분석 결과를 제공합니다.

Finch 유사 기능 구현 기술 요약
자료: 트램스 AI · 유사 기능 구현 기술 요약

건축 평면 BIM 변환과 후속 설계 연결을 완성합니다

확정한 평면에 층·공간·벽·문 속성을 붙여 IfcOpenShell로 IFC 모델을 작성합니다. 평면의 선과 영역을 BIM 객체에 대응시키는 매핑 규칙은 직접 구현합니다. 출력 모델은 후속 설계 도구에서 검토하며, IFC 생성만으로 Revit의 모든 기능과 동등한 결과가 보장되지는 않습니다.

Finch Revit 연동 튜토리얼은 세대 그룹·벽·문·면적도·시트 전달을 설명합니다. 일반 벽체·문과 2D 가구는 사무소 표준 요소로 교체하거나 상세화할 대상입니다. 독립적으로 만든 서비스에서도 전달할 객체와 속성, 후속 편집 범위를 먼저 정해야 합니다.

Finch의 스웨덴 소재와 한국 내 지원 범위는 별개입니다. 국가에 따라 일부 기능이 제공되지 않을 수 있으며, 한국어 지원·한국 법규 기본 탑재·국내 인허가 적합성은 확인되지 않았습니다. 자체 서비스 역시 적용 지역의 기준과 설계자 검토 절차를 별도로 반영해야 합니다.

공동주택 평면 자동 생성이나 건축 AI 서비스 개발을 계획한다면 필요한 기능, 보유 평면 자료, 연결할 BIM 업무를 정리해 트램스 AI에 제작을 문의해 주세요. https://trams.co.kr/ai-si/contact/#inquiry

참고 자료

  1. https://www.finch3d.com/product
  2. https://docs.finch3d.com/docs/projects-and-variants/story-editor/generate-unit-mix-around-circulation
  3. https://docs.finch3d.com/courses/finch-101/finch-101-generating-unit-plans
  4. https://docs.finch3d.com/courses/finch-101/finch-101-download-to-revit
  5. https://developer.rhino3d.com/guides/compute/features/
  6. https://developers.google.com/optimization/introduction
  7. https://github.com/pgvector/pgvector
  8. https://docs.ifcopenshell.org/ifcopenshell-python.html
  9. https://docs.speckle.systems/developers
  10. https://www.finch3d.com/terms
TRAMS AI

비슷한 AI 서비스를
사업에 적용하고 싶으신가요?

아이디어와 필요한 기능을 알려주시면 제작 범위와 방법을 검토합니다.

프로젝트 문의