All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
extensions
keyword argument toModel
to for inserting custom extensions to IFC classes.
- Added
Model.search_ifc_classes()
andFile.search_ifc_classes()
to search for IFC classes. - Added
Model.create_wall()
. - Added
Model.create_slab()
. - Added
Model.create_window()
. - Added
Model.create_door()
. - Added
Model.create_stair()
. - Added
Model.create_railing()
. - Added
Model.create_column()
. - Added
Model.create_beam()
. - Added
aabb
axis-aligned bounding box toTessellatedBrep
. - Added
obb
oriented bounding box toTessellatedBrep
.
- Added
Model.create_default_project()
. - Added
TesselatedBrep.to_mesh()
. - Added
location
toIfcSite
extension. - Added
compas_ifc.resources.IfcCompoundPlaneAngleMeasure_to_degrees()
.
- Added
max_depth
toBase.print_properties()
.
- Fixed
Model.print_summary()
while the model is empty.
- Fixed missing
GloabalId
when creatingIfcRoot
based objects. - Updated
IfcBrepObject
to automatically heal and simplify breps.
- Fixed
Base.to_dict()
to recursively pass down convert_type_defination.
- Fixed
verbose
bug.
- Added
compas_ifc.entities.extensions.IfcContext
to extendIfcContext
class. - Added
verbose
option toModel
andIFCFile
. - Added
compas_ifc.entities.TypeDefinition
class. - Added
remove()
toModel
for removing entities.
- Added
export
method toIFCFile
andModel
to export selected list of entities. - Added
update_linear_deflection
toModel
. - Added
unit
attribute toModel
. - Added
unit
keyword argument toModel.template()
. - Added
recursive
,ignore_fields
,include_fields
options toBase.to_dict()
. - Added
quantities
tocompas_ifc.entities.extensions.IfcObject
.
- Automatically convert
Brep
toMesh
when assigned inIFC2X3
.
- Added full python class mapping for
IFC4
andIFC2x3
usingcompas_ifc.entities.Generator
. - All
IFC4
andIFC2x3
classes are now available incompas_ifc.entities.generated
module. - All generated classes are strongly typed and have docstrings.
- Added
compas_ifc.entities.extensions
module to extend generated IFC classes. - Added
show
function to visualize IFC model and individual entities. - Added
max_depth
inprint_spatial_hierarchy
functions. - Added
building_storeys
tocompas_ifc.model.Model
. - Added
compas_ifc.brep.IFCBrepObject
.
- Combined
compas_ifc.reader.Reader
andcompas_ifc.writer.Writer
intocompas_ifc.file.IFCFile
. - Updated
create
incompas_ifc.model.Model
to accept snake_case keyword arguments.
- Removed all
compas_ifc.entities.Entity
based class wrappers, use fully mapped classes incompas_ifc.entities.generated
instead. - Removed
representation.py
andhelper.py
.
- Locked
ifcopenshell
to0.7.0.240406
to avoid mathutils build failures.
- Added support to export to
IFC2x3
. - Added support pre-load geometries using
multi-processing
.
- Updated workflow to not use
conda
anymore. - Updated
Reader
to re-enable lazy loading. - Update repo to use
pyproject.toml
.
- Added
entity_opening_geometry
. - Added
entity_body_with_opening_geometry
. - Added
opening
attribute toProduct
. - Added
body_with_opening
attribute toProduct
. - Added
composite_body
attribute toBuildingElement
. - Added
composite_opening
attribute toBuildingElement
. - Added
composite_body_with_opening
attribute toBuildingElement
. - Added Documentation site.
entity_body_geometry
no longer includes openings.parent
ofElement
will now also considerdecompose
relation.- Updated all APIs to COMPAS 2.