설명서:BIM 모델링
- Introduction
- Discovering FreeCAD
- Working with FreeCAD
- Python scripting
- The community
건축 정보 모델링(Building Information Modeling, BIM)은 건축, 엔지니어링, 건설 분야에서 물리적 구조물의 디지털 표현을 생성하고 관리하기 위해 사용되는 프로세스입니다. 이 과정은 단순한 3D 형상뿐만 아니라 재료, 비용, 일정과 같은 핵심 데이터까지 통합하여, 프로젝트의 전체 생애주기 전반에 걸친 고급 분석과 협업을 가능하게 합니다.
FreeCAD에서 BIM 기능은 크게 발전해 왔으며, 특히 버전 1.0 출시를 계기로 이전에 분리되어 있던 Arch 작업대(workbench)와 BIM 작업대(workbench)가 통합된 BIM 작업대(workbench)로 병합되었습니다. 이러한 통합을 통해 작업 흐름이 간소화되어, 사용자는 단일 환경 안에서 건축 프로젝트를 보다 효율적으로 모델링하고, 문서화하며, 관리할 수 있게 되었습니다.
FreeCAD v1.0에서 도입된 주요한 발전 중 하나는 네이티브 IFC(Native IFC) 개념의 채택입니다. 이전에는 대부분의 BIM 애플리케이션과 마찬가지로, FreeCAD 역시 내부 데이터 모델과 IFC(Industry Foundation Classes) 파일 형식 사이에서 데이터를 상호 변환해야 했으며, 이로 인해 파일을 열거나 저장하는 과정에서 데이터 손실이 발생할 가능성이 있었습니다. 네이티브 IFC를 통해 FreeCAD 사용자는 이제 IFC 파일을 직접 열고, 조작하며, 저장할 수 있게 되었고, 이때 IFC 파일 자체가 데이터 구조로 사용됩니다. 이러한 방식은 불필요한 데이터 변환을 제거하고, 전체 파일을 다시 작성하지 않고도 수정 사항을 저장할 수 있도록 하여, Git과 같은 버전 관리 시스템과의 호환성을 높입니다. 그 결과 IFC 파일을 다루는 과정이 더욱 투명하고 정확한 작업 흐름으로 개선됩니다.
이 장에서는 작은 건물을 모델링하는 방법을 살펴보겠습니다:
- 새 문서를 생성한 후,
BIM 작업대(workbench)로 전환합니다.
- 메뉴에서 편집(Edit) → 환경설정(Preferences) → Draft → 격자 및 스냅(Grid and Snapping)을 열고 다음과 같이 설정합니다:
- 주요 선 간격(Main lines every)
10 - 격자 간격(Grid spacing)
1000mm
- 주요 선 간격(Main lines every)
→ 건물 크기에 적합한 1미터 기준 격자를 사용하기 위함입니다.
- 격자 크기(Grid size)
100 lines
- 격자 크기(Grid size)
- 스냅 도구 모음(snapping toolbar)에서
격자 스냅(Snap grid) 버튼이 활성화되어 있는지 확인합니다. 이렇게 하면 격자를 최대한 활용할 수 있습니다.
- 축이 보이지 않는 경우,
격자 표시 전환(Toggle grid) 버튼을 클릭합니다.
- 작업 평면(Working Plane)을 XY 평면으로 설정합니다.
Draft Line 도구를 사용하여 네 개의 선을 그립니다. 좌표를 직접 입력할 수도 있고, 마우스로 격자 위의 점을 선택할 수도 있습니다. 치수 단위는 미터(m)를 사용합니다:
- 점 (0,0)에서 점 (0,3)까지
- 점 (0,3)에서 점 (4,3)까지
- 점 (4,3)에서 점 (4,0)까지
- 점 (4,0)에서 점 (0,0)까지
선을 모두 같은 방향(시계 방향)으로 그렸다는 점에 유의하세요. 이는 필수 사항은 아니지만, 다음 단계에서 생성할 벽들이 좌우 방향을 일관되게 유지하도록 하는 데 도움이 됩니다. 사각형을 그리면 더 간단했을 텐데 왜 그렇게 하지 않았는지 의문이 들 수도 있습니다. 그러나 네 개의 개별 선을 사용하는 방식은, 여러 객체를 하나로 결합하는 방법과 같은 추가적인 BIM 기능을 보여줄 수 있는 기회를 제공하며, 이는 전체 작업 흐름에서 중요한 요소이기 때문입니다.
- 선을 모두 생성한 후, 각 선의 시작점과 끝점을 확인하고, 필요하다면 정확하게 맞도록 조정합니다.
- 네 개의 선을 모두 선택한 다음,
벽(Wall) 버튼을 누릅니다.
- 벽의 높이(Height)는 기본값인 3m로 설정합니다.
- 정렬(Alignment) 속성을 left로 설정합니다. 정렬 속성을 left로 설정하면, 생성되는 벽이 사용자가 그린 선의 왼쪽에 배치되도록 됩니다. FreeCAD의 BIM 작업대(workbench)에서는 벽이 일반적으로 기준선(reference line)을 기반으로 생성되며, left 또는 right 정렬 설정에 따라 벽이 선의 어느 쪽에 놓일지가 결정됩니다. 만약 선을 안내된 순서(시계 방향)대로 그리지 않았다면, 일부 벽의 방향이 뒤집혀 선의 반대쪽, 즉 오른쪽에 배치될 수 있습니다. 그런 경우에는 해당 벽들의 정렬을 right로 조정하여 모든 벽이 일관되게 정렬되도록 해야 합니다. 올바르게 설정되면, 네 개의 벽이 모서리에서 서로 교차하며 기준선의 안쪽에 배치되어 원하는 레이아웃을 형성하게 됩니다.
벽을 생성한 후 다음 단계는 벽들이 서로 올바르게 교차하도록 결합(join)하는 것입니다. 이는 벽들이 교차 지점에서 깔끔하게 연결되지 않을 때 필요합니다. 이를 위해 하나의 벽을 호스트(host)로 선택하고, 다른 벽들을 추가물(additions)로 지정하여 해당 벽들의 형상을 호스트에 병합합니다. BIM 작업대(workbench)의 모든 객체는 여러 개의 추가물(additions, 형상을 추가함)이나 제거물(subtractions, 형상을 제거함)을 가질 수 있습니다. 이러한 관계는 트리에서 객체를 더블 클릭하여 언제든지 관리할 수 있으며, 이를 통해 벽과 기타 건축 요소들이 자연스럽게 통합되도록 유연하게 조정할 수 있습니다.
- Ctrl 키를 누른 상태에서 네 개의 벽을 모두 선택합니다. 이때 마지막으로 선택한 벽이 호스트가 됩니다.
추가(Add) 버튼을 누릅니다. 이제 네 개의 벽은 하나의 객체로 결합됩니다.
하지만 개별 벽들은 여전히 접근할 수 있으며, 트리 보기에서 해당 벽 객체를 확장하면 각각 확인할 수 있습니다.
- 이제
문(Door) 도구를 눌러 문을 배치해 보겠습니다.
- 먼저 벽을 선택합니다. 이 단계는 필수는 아니지만, 익혀 두면 좋은 습관입니다. 작업을 시작하기 전에 객체를 선택해 두면, 해당 작업이 기본적으로 그 객체에 자동 적용되기 때문입니다.
작업 평면(Working Plane)을 auto로 설정하여 지면 평면에 제한되지 않도록 합니다.
- 그 다음
문(Door) 버튼을 누릅니다.
- 문 생성 패널에서 유리문(Glass door) 프리셋을 선택하고, 너비(Width)를 1m, 높이(Height)를 2.1m로 설정합니다. FreeCAD에서는 다양한 문 유형을 선택할 수 있으며, 각 유형의 매개변수를 원하는 대로 설정할 수 있다는 점을 확인할 수 있습니다. FreeCAD에서 문은 창(Window) 작업을 기반으로 생성됩니다.
근접 스냅(Snap near) 옵션이 켜져 있는지 확인하여 면(face)에 스냅할 수 있도록 합니다.
- 마지막으로, 벽 전면의 중앙 부근에 문을 대략적으로 배치합니다:
- 이제 트리 보기에서 벽과 창 객체를 확장한 뒤, 문의 기준 스케치(base sketch)의 배치(Placement) 속성을 변경하여 정확한 위치를 설정할 수 있습니다. 위치 값을 x = 0.5 m, y = 0, z = 0으로 설정합니다. 이렇게 하면 문이 정확히 원하는 위치에 배치됩니다.
- 이제 문 옆에 창을 배치해 보겠습니다. 벽을 선택한 후
창(Window) 도구를 누르고, Open 2-pane 프리셋을 선택한 다음 문이 있는 것과 같은 면(face)에 1m × 1m 크기의 창을 배치합니다. 그 다음, 해당 창의 기준이 되는 스케치의 배치(Placement)를 설정하여 위치 값을 x = 0, y = 0, z = 1.1m로 지정합니다. 이렇게 하면 창의 윗선이 문의 상단과 정확히 정렬됩니다.
창(Window)은 항상 스케치를 기반으로 생성됩니다. 먼저 면(face) 위에 스케치를 그린 다음, 해당 스케치를 선택하고 창 버튼을 클릭하면 사용자 정의 창을 쉽게 만들 수 있습니다. 이후 트리 보기에서 창 객체를 더블 클릭하면, 스케치의 어떤 부분을 얼마나 돌출(extrude)할지와 같은 창의 매개변수를 설정할 수 있습니다. 이제 슬래브(slab)를 만드는 단계로 넘어가겠습니다:
- 작업 평면(Working Plane)을 XY 평면으로 설정합니다.
- 그 다음
사각형(Rectangle)을 생성하고, 길이(length)는 5m, 높이(height)는 4m로 설정한 뒤 위치를 x = -0.5m, y = -0.7m, z = 0에 배치합니다.
- 사각형을 선택한 후
슬래브(Slab) 도구를 클릭하여 사각형으로부터 슬래브를 생성합니다.
- 높이(height) 속성은 기본값인 0.2m로 유지하고, 방향(direction)은 (0,0,-1)로 설정하여 돌출이 아래쪽으로 이루어지도록 합니다. 객체를 0.2m 아래로 이동시키는 방법도 가능하지만, 돌출된 객체를 기준 프로파일과 정렬된 상태로 유지하는 것이 모델의 일관성과 정확성을 유지하는 데 더 좋은 습관입니다.
- 마지막으로 슬래브의 Ifc Type 속성을 slab으로 설정합니다. 이 설정은 FreeCAD 내부에서는 필수는 아니지만, IFC로 내보낼 때 객체가 올바른 IFC 유형으로 내보내지도록 보장하기 때문에 중요합니다.
- 이제 머리 위에 지붕을 올려 보겠습니다.
지붕(Roof) 도구를 사용하면 쉽게 만들 수 있습니다.
작업 평면 스냅(Snap working plane) 옵션을 눌러 모든 평면에서 제도할 수 있도록 활성화합니다.
- 집의 상단 면 중 하나를 선택한 상태에서
평면 선택(Select plane) 버튼을 누릅니다. 그러면 작업 평면이 해당 면으로 설정됩니다.
- 그 다음
사각형(Rectangle)을 생성하고, 벽의 서로 마주보는 두 점에 스냅하여 사각형을 그립니다.
- 지붕 객체의 데이터(Data) 탭에서 Runs 매개변수를 1600으로 설정합니다.
- 지붕의 색상을 변경하고 싶다면 뷰(View) 탭에서 설정할 수 있습니다.
이제 모델이 완성되었습니다. 다음 단계는 IFC 형식으로 올바르게 내보내기 위해 모델을 적절히 구성하는 것입니다. IFC 파일에서는 모든 건축 요소가 건물(building) 객체 안에 그룹화되어야 하며, 필요에 따라 특정 층(story) 안에 포함될 수도 있습니다. 또한 모든 건물은 반드시 대지(site) 위에 위치해야 합니다. 다만 FreeCAD의 IFC 내보내기 기능은 대지 객체가 없는 경우 기본 대지(site)를 자동으로 생성하므로, 사용자가 직접 추가할 필요는 없습니다. IFC 표준을 준수하도록 모델을 올바르게 구조화하는 것은 다른 BIM 소프트웨어와의 원활한 협업과 호환성을 보장하는 데 중요합니다. 이러한 정리는 내보내기 과정에서 발생할 수 있는 데이터 손실이나 오류를 방지하는 데에도 도움이 됩니다.
- 벽, 슬래브, 지붕을 모두 선택합니다.
- 그 다음
층(Floor) 버튼을 눌러 층 객체를 생성합니다.
- 방금 생성한 층을 선택한 후,
건물(Building) 버튼을 눌러 해당 층을 건물 객체로 묶습니다.
이제 모델을 내보낼 준비가 완료되었습니다:
IFC 형식은 자유로운 BIM 환경에서 가장 중요한 자산 중 하나입니다. 그 이유는 이 형식이 건설 분야에 속한 모든 애플리케이션과 모든 참여자 간의 데이터 교환을 개방적인 방식으로 가능하게 하기 때문입니다. IFC는 개방적이고(open), 자유롭게 사용할 수 있으며(free), 독립적인 컨소시엄에 의해 유지·관리되는 형식입니다. BIM 모델을 IFC로 내보내면, 어떤 애플리케이션을 사용하든 관계없이 누구나 해당 모델을 확인하고 분석할 수 있게 되어, 상호 운용성과 협업이 보장됩니다.
- 내보내려는 최상위 객체, 즉 건물(Building) 객체를 선택합니다.
- 그 다음 메뉴에서 파일(File) → 내보내기(Export) → Industry Foundation Classes를 선택하고 파일을 저장합니다.
- 이렇게 생성된 IFC 파일은 다양한 애플리케이션과 뷰어에서 열 수 있습니다(아래 이미지는 무료 IfcPlusPlus 뷰어에서 파일을 연 예시입니다). 다른 사람에게 배포하기 전에 이러한 뷰어 애플리케이션으로 내보낸 파일을 확인하는 것은, 파일에 포함된 모든 데이터가 올바른지 점검하는 데 중요합니다. FreeCAD 자체를 사용하여 생성된 IFC 파일을 다시 여는 것도 가능합니다.
TechDraw 작업대(workbench)를 사용하면 건물의 도면을 생성할 수 있습니다. 이 과정은 이전 섹션에서 설명한 내용과 유사하므로, 여기서는 자세한 설명은 생략하겠습니다.
기본 페이지 삽입(insert Default Page) 옵션을 사용하여 새 뷰를 생성한 다음, 도면에 표시할 뷰를 선택하고 필요한 곳에 치수를 추가하기만 하면 됩니다. 이를 통해 문서화나 프레젠테이션 목적에 적합한 전문적인 2D 도면을 3D 모델로부터 생성할 수 있습니다.
이제 페이지가 준비되었으며, 이를 SVG 또는 DXF 형식으로 내보내거나 인쇄할 수 있습니다. SVG 형식은 Inkscape와 같은 일러스트레이션 애플리케이션으로 파일을 열 수 있게 해 주며, 이를 통해 기술 도면을 빠르게 보완하고 훨씬 더 보기 좋은 프레젠테이션용 도면으로 발전시킬 수 있습니다. 이러한 점에서 SVG 형식은 DXF 형식보다 훨씬 더 많은 가능성을 제공합니다.
다운로드
- 이 예제에서 생성된 파일:https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/house.FCStd
- 위 파일에서 내보낸 IFC 파일:https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/house.ifc
- 위 파일에서 내보낸 SVG 파일:https://github.com/yorikvanhavre/FreeCAD-manual/blob/master/files/house.svg
Related
- BIM Workbench
- The Arch Workbench
- The Draft working plane
- The Draft snapping settings
- The expressions system
- The IFC format
- IfcOpenShell
- IfcPlusPlus
- Inkscape
- 2D drafting: Sketch, Line, Polyline, Circle, Arc, Arc From 3 Points, Fillet, Ellipse, Polygon, Rectangle, B-Spline, Bézier Curve, Cubic Bézier Curve, Point
- 3D/BIM: Project, Site, Building, Level, Space, Wall, Curtain Wall, Column, Beam, Slab, Door, Window, Pipe, Connector, Stairs, Roof, Panel, Frame, Fence, Truss, Equipment
- Reinforcement Tools: Custom Rebar, Straight Rebar, U-Shape Rebar, L-Shape Rebar, Stirrup, Bent-Shape Rebar, Helical Rebar, Column Reinforcement, Beam Reinforcement, Slab Reinforcement, Footing Reinforcement
- Generic 3D Tools: Profile, Box, Shape Builder, Facebinder, Objects Library, Component, External Reference
- Annotation: Text, Shape From Text, Aligned Dimension, Horizontal Dimension, Vertical Dimension, Leader, Label, Hatch, Axis, Axis System, Grid, Section Plane, New Page, New View
- Create 2D Views: 2D Drawing, Section View, Section Cut
- Snapping: Snap Lock, Snap Endpoint, Snap Midpoint, Snap Center, Snap Angle, Snap Intersection, Snap Perpendicular, Snap Extension, Snap Parallel, Snap Special, Snap Near, Snap Ortho, Snap Grid, Snap Working Plane, Snap Dimensions, Toggle Grid, Working Plane Front, Working Plane Top, Working Plane Side, Working Plane
- Modify: Move, Copy, Rotate, Clone, Create Simple Copy, Create Compound, Offset, 2D Offset, Trimex, Join, Split, Scale, Stretch, Draft to Sketch, Upgrade, Downgrade, Add Component, Remove Component, Array, Path Array, Polar Array, Point Array, Cut With Plane, Mirror, Extrude, Difference, Union, Intersection
- Manage: BIM Setup, Views Manager, Setup Project, Manage Doors and Windows, Manage IFC Elements, Manage IFC Quantities, Manage IFC Properties, Manage Classification, Manage Layers, Material, Schedule, Preflight Checks, Annotation Styles
- Utils: Toggle Bottom Panels, Move to Trash, Working Plane View, Select Group, Set Slope, Working Plane Proxy, Add to Construction Group, Split Mesh, Mesh to Shape, Select Non-Manifold Meshes, Remove Shape From BIM, Close Holes, Merge Walls, Check, Toggle IFC B-Rep Flag, Toggle Subcomponents, Survey, IFC Diff, IFC Explorer, New IFC Spreadsheet, Image Plane, Unclone, Rewire, Glue, Re-Extrude
- Panel Tools: Panel, Panel Cut, Panel Sheet, Nest
- Structure Tools: Structure, Structural System, Multiple Structures
- IFC Tools: IFC Diff, IFC Expand, Create IFC Project, IfcOpenShell Update
- Nudge: Nudge Switch, Nudge Up, Nudge Down, Nudge Left, Nudge Right, Nudge Rotate Left, Nudge Rotate Right, Nudge Extend, Nudge Shrink
- Additional: Preferences, Fine tuning, Import Export Preferences, IFC, DAE, OBJ, JSON, 3DS, SHP












