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

Hypar 같은 엑셀 평면 연동 서비스 개발: ExcelJS와 Rhino Compute

Hypar의 공간 계획 흐름을 참고해 엑셀 요구사항과 편집 가능한 평면을 연결하는 방법을 설명합니다. ExcelJS·Rhino Compute·Claude API·OR-Tools의 역할과 자체 개발 범위를 정리합니다.

핵심 요약

1. 엑셀 공간 요구사항과 편집 가능한 평면을 연결해 반복적인 면적·수량 확인을 줄이는 서비스를 만듭니다. 2. ExcelJS로 파일을 읽고 Rhino Compute로 형상을 계산하며 Claude API와 OR-Tools로 편집 명령과 가구 배치를 연결합니다. 3. 공간 ID 연결, 배치 제약, 목표 대비 집계, 변경 승인과 버전 관리는 자체 로직으로 구현합니다.

Hypar의 핵심 가치는 필요한 공간을 정리한 표와 실제 설계 모델을 연결하는 데 있습니다. 공간 계획 SaaS 개발에서도 요구사항을 바꿨을 때 도면과의 차이를 바로 확인하는 흐름이 중요합니다. 아래 기술 조합은 Hypar의 내부 기술이 아닌 유사 기능의 구현 대안입니다.

공간 요구사항 엑셀 연동: 표와 공간에 같은 ID 부여하기

건축 공간 프로그래밍은 필요한 방의 종류·개수·목표 면적을 정리하는 작업입니다. 사용자가 부서, 공간명, 개별 목표 면적, 수량이 담긴 파일을 올리면 ExcelJS가 데이터를 읽습니다. ExcelJS는 파일 처리 라이브러리이며 수식 결과를 직접 계산하지 않으므로, 수식 계산이 필요하면 HyperFormula를 별도로 연결합니다.

열 이름 매핑, 면적 단위 변환, 누락값 검사와 공간 ID 발급은 자체 로직으로 처리합니다. 출력은 평면의 공간 객체와 연결할 요구사항 DB와 프로그램 표입니다. Hypar의 엑셀 재가져오기는 요구사항 추적을 갱신하며 기존 평면을 자동 재배치하지 않습니다. 유사 서비스도 요구사항 갱신과 도면 변경을 별도 동작으로 설계하면 변경 영향을 확인하기 쉽습니다.

Rhino Compute 공간 모델링: 수정 가능한 평면 만들기

사용자가 외곽선, 벽, 공간 경계와 출입구를 입력하면 Rhino Compute에 형상 연산을 요청합니다. Rhino Compute는 Rhino·Grasshopper의 곡선·표면·솔리드 연산을 서버에서 호출하는 REST API 후보입니다. 이를 웹 편집기와 연결해 공간 경계를 바꾸고 면적을 다시 계산합니다.

공간 ID 유지, 경계 겹침 검사, 벽·개구부의 연결 관계와 편집 이력은 자체 개발합니다. 출력은 편집 가능한 AI 평면도와 공간별 면적 데이터로 구성합니다. AI가 제안한 공간도 같은 객체 구조로 저장해 직접 수정할 수 있게 합니다.

Hypar의 공간 요구사항과 면적표 편집 화면
출처: docs.hypar.io

자연어 BIM 편집 구현: 요청을 검증 가능한 명령으로 바꾸기

사용자가 “회의실 두 개를 추가해 주세요”라고 입력하면 Claude API가 요구를 해석해 공간 유형·수량과 도구 호출 인수를 구조화하도록 설계합니다. 이 AI API는 애플리케이션이 정의한 함수의 호출을 제안하고, 실제 실행은 애플리케이션이 담당합니다. 자체 로직은 대상 공간, 편집 권한과 필수 인수를 확인한 뒤 형상 도구를 실행합니다.

출력은 변경 미리보기와 갱신된 공간 모델입니다. 승인·되돌리기를 제공하고, 위치처럼 빠진 조건은 사용자에게 확인하도록 만듭니다. AI 스킬을 추가한다면 요구사항 점검과 도구 실행 순서를 묶는 절차로 구성하며, 형상 연산 엔진과 역할을 나눕니다.

Hypar AI Chat 베타는 공간 프로그램 초안, 수량 질의, 분석 뷰와 일부 모델 편집을 지원합니다. 전체 평면이나 층을 자동으로 채우는 기능은 지원 범위로 설명되지 않으며, 프로그램 초안도 검토가 필요합니다. 유사 제품에서도 자연어 편집과 전체 배치 생성의 범위를 구분합니다.

OR-Tools 가구 배치 최적화: 치수와 배치 조건 계산하기

사무실 테스트핏은 주어진 공간에 필요한 좌석과 시설이 들어가는지 검토하는 작업입니다. 사용자가 방의 경계, 출입구, 가구 종류와 수량을 지정하면 자체 가구 라이브러리에서 치수 데이터를 가져옵니다. OR-Tools는 이 데이터를 바탕으로 제약 조건을 만족하는 배치 후보를 계산하는 오픈소스 최적화 도구로 사용합니다.

Hypar의 공간 평면도와 가구 배치 편집 화면
출처: docs.hypar.io

가구 간 충돌 방지, 출입구 주변 여유 공간, 회전 가능 방향과 후보 평가 기준은 자체 제약식으로 작성합니다. 출력은 가구 좌표·방향, 배치 수량과 충족하지 못한 조건입니다. OR-Tools가 가구 데이터나 건축 기준을 공급하는 것은 아니므로, 사용 권한을 확보한 가구 자료와 프로젝트별 기준을 별도로 준비합니다.

Hypar는 공간 크기를 유지하는 Fit to space와 공간을 확장하는 Expand space 선택을 제공합니다. 유사한 AI 가구 배치를 만들 때도 경계를 고정할지 변경할지 먼저 정하도록 설계합니다. 국내 프로젝트에 적용할 법규와 설계 기준은 별도로 반영해야 합니다.

건축 면적표 자동 집계: 목표와 실제 공간 비교하기

입력은 현재 공간 모델과 요구사항 DB입니다. 자체 모델의 면적을 집계하고, IFC를 입력으로 받는 경로에서는 IFC 처리 라이브러리인 IfcOpenShell로 공간 형상과 속성을 읽어 분석합니다. IFC는 건물 형상과 속성을 담은 BIM 모델의 교환 형식입니다.

공간 ID를 기준으로 목표 수량·면적과 실제 수량·면적을 연결하는 비교 규칙은 자체 로직입니다. 단위와 면적 산정 기준을 통일하고 미배치 공간, 부족 면적과 초과 면적을 구분합니다. 출력은 설계 변경에 따라 갱신되는 면적표와 차이 목록이며, AI의 문장 응답과 별개로 모델 계산값을 기준으로 표시합니다.

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

건축 설계안 비교와 BIM 전달: 버전별 결과 공유하기

사용자가 설계안을 저장하면 모델 버전 DB에 공간 모델, 요구사항과 집계 결과를 함께 보관합니다. Speckle API·SDK는 모델 데이터 전달, 버전과 뷰어 연결에 활용할 후보입니다. 어떤 변경을 새 버전으로 남길지, 누가 열람·수정할지는 자체 정책으로 구현합니다.

출력은 동일한 기준으로 비교할 설계안 화면과 후속 BIM 작업에 전달할 모델입니다. IFC 전달 경로는 IfcOpenShell로 작성하되 대상 도구의 좌표·단위·속성 매핑을 맞춰야 합니다. 이는 제안하는 서비스의 전달 방식이며 Hypar의 공식 IFC 지원을 뜻하지 않습니다.

Hypar 공식 문서는 Revit·Rhino 등으로의 전달을 안내하며, 설계안 관리와 라이브러리는 유료 기능으로 표시합니다. 유사 서비스도 모델 공유 범위와 라이브러리 이용 권한을 정해야 합니다.

엑셀 평면 연동 서비스 개발을 계획한다면 필요한 기능, 보유한 공간표·도면, 연결할 BIM 업무를 정리해 주세요. 트램스 AI 제작 문의에서 프로젝트에 맞는 구현 범위를 상담할 수 있습니다: https://trams.co.kr/ai-si/contact/#inquiry

참고 자료

  1. https://docs.hypar.io/guides-task-based-how-tos-for-everything-you-do-in-hypar./set-up-program-requirements
  2. https://docs.hypar.io/guides-task-based-how-tos-for-everything-you-do-in-hypar./furnish-and-equipment-including-using-your-own-standards
  3. https://docs.hypar.io/
  4. https://docs.hypar.io/guides-task-based-how-tos-for-everything-you-do-in-hypar./use-ai-features
  5. https://docs.hypar.io/guides-task-based-how-tos-for-everything-you-do-in-hypar./explore-design-options-(-paid-feature)
  6. https://raw.githubusercontent.com/exceljs/exceljs/master/README.md
  7. https://hyperformula.handsontable.com/docs/
  8. https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview
  9. https://developer.rhino3d.com/guides/compute/
  10. https://developers.google.com/optimization
  11. https://docs.ifcopenshell.org/ifcopenshell-python.html
  12. https://docs.speckle.systems/developers/introduction
TRAMS AI

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

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

프로젝트 문의