Skip to content

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

License

Notifications You must be signed in to change notification settings

jochem25/building.py

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

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 Vector3 ✔️
  Vector2 ✔️
  Plane ✔️
  CoordinateSystem ✔️
  Color ✔️ ✔️
  Material ✔️
Geometry Point3D ✔️ ✔️
  Line ✔️ ✔️
  Arc ✔️ ✔️
  PolyCurve ✔️ ✔️
  Point2D ✔️ ✔️
  Line2D ✔️ ✔️
  Arc2D ✔️ ✔️
  PolyCurve2D ✔️ ✔️
  LineStyle ✔️ ✔️
  Text ✔️ ✔️
  Mesh ✔️ ✔️
  BREP
  Extrusion ✔️ ✔️
  Sweep
Objects Frame ✔️ ✔️
  FrameConnections
  Panel ✔️ ✔️
  Dimension ✔️ ✔️
  Tag ✔️ ✔️
  Component3D
  Component2D
  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, Speckle.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 92.9%
  • Jupyter Notebook 7.1%