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.
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:
Group | Part | Implemented | ToSpeckle | ToFreeCAD |
---|---|---|---|---|
Abstract | Vector | :heavy_check_mark: | ||
Vector2 | :heavy_check_mark: | |||
Plane | :heavy_check_mark: | |||
CoordinateSystem | :heavy_check_mark: | |||
Color | :heavy_check_mark: | :heavy_check_mark: | ||
Material | :heavy_check_mark: | |||
Geometry | Point3D | :heavy_check_mark: | :heavy_check_mark: | |
Line | :heavy_check_mark: | :heavy_check_mark: | ||
Arc | :heavy_check_mark: | :heavy_check_mark: | ||
PolyCurve | :heavy_check_mark: | :heavy_check_mark: | ||
Point2D | :heavy_check_mark: | :heavy_check_mark: | ||
Line2D | :heavy_check_mark: | :heavy_check_mark: | ||
Arc2D | :heavy_check_mark: | :heavy_check_mark: | ||
PolyCurve2D | :heavy_check_mark: | :heavy_check_mark: | ||
LineStyle | :heavy_check_mark: | :heavy_check_mark: | ||
Text | :heavy_check_mark: | :heavy_check_mark: | ||
Mesh | :heavy_check_mark: | :heavy_check_mark: | ||
BREP | ||||
Extrusion | :heavy_check_mark: | :heavy_check_mark: | ||
Sweep | ||||
Objects | Frame | :heavy_check_mark: | :heavy_check_mark: | |
FrameConnections | ||||
Panel | :heavy_check_mark: | :heavy_check_mark: | ||
Dimension | :heavy_check_mark: | :heavy_check_mark: | ||
Tag | :heavy_check_mark: | :heavy_check_mark: | ||
Component3D | ||||
Component2D | ||||
Hatch | :heavy_check_mark: | :heavy_check_mark: | ||
Library | Steelprofiles | :heavy_check_mark: | ||
Materials | ||||
Exchange | Speckle | :heavy_check_mark: | ||
IFC | :heavy_check_mark: | |||
PAT | :heavy_check_mark: | |||
OBJ | ||||
Struct4U | :heavy_check_mark: | |||
Import | Image | 50% | ||
GIS | ||||
CityJSON | 50% |
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.
pat = PatternSystem().stretcher_bond_with_joint("halfsteensverband",100,210,50,10,12.5)