Skip to content

Python Library for creating buildings, building systems, objects, and exporting to various programs like Blender, Revit, IFC, Struct4U, DXF & Speckle.

License

Notifications You must be signed in to change notification settings

3BMLabs/building.py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Update Wiki Generate bp_single_file

building.py

A Python library for creating buildings, building systems, objects, and exporting them to various programs such as Blender, Revit, and Speckle.

Supports Python 3.10 or higher.

Why?

In the realm of building design, almost everything can be categorized as a frame or a panel – from windows and curtain walls to floor systems. The aim of the building.py project is to automate the creation of these systems.

Goals of the building.py Project:

  • Develop a Python library for geometry creation without dependencies.
  • Provide export options to:
    • Speckle
    • FreeCAD
    • Revit
    • XFEM4U
    • IFC using IFCOpenShell
    • Scia Engineer

Implemented

Group Part Implemented ToSpeckle ToFreeCAD
Abstract Vector ✔️
  Plane ✔️
  Matrix ✔️
  Color ✔️ ✔️
  Material ✔️
Geometry Point, Vector (nd) ✔️ ✔️
  Line ✔️ ✔️
  Arc ✔️ ✔️
  PolyCurve ✔️ ✔️
  LineStyle ✔️ ✔️
  Text ✔️ ✔️
  Mesh ✔️ ✔️
  BREP
  PointCloud
  Extrusion ✔️ ✔️
  Sweep
Objects Frame ✔️ ✔️
  FrameConnections
  Panel ✔️ ✔️
  Dimension ✔️ ✔️
  Tag ✔️ ✔️
  Hatch ✔️ ✔️
Library Steelprofiles ✔️
  Materials
Exchange Speckle ✔️
  IFC ✔️
  PAT ✔️
  OBJ
  Struct4U ✔️
Import Image 50%
  GIS
  CityJSON 50%

Versions

Notice that this version is very much a beta version, although it is in our opinion usable. If you use it, feedback is very much appreciated!

We are currently working on version 0.1. Releasedate: april 14 2023 Versions 0.x will be subject to significant changes of the API until the release of version 1 which is planned on january 7 2024.

Examples

CrossBondWithJointYellowRed

pat = PatternSystem().stretcher_bond_with_joint("halfsteensverband",100,210,50,10,12.5)

Image

Kruisverband

Image

Image

Image

Image

Image

About

Python Library for creating buildings, building systems, objects, and exporting to various programs like Blender, Revit, IFC, Struct4U, DXF & Speckle.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published