Compas-timber

Latest version: v0.13.0

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

0.13.0

Added

* Added API documentation for `design` and `error` packages.
* Added `guess_joint_topology_2beams` and `set_default_joints` functions to `design.__init__.py`.
* Added `list_input_valid`, `item_input_valid`, `get_leaf_subclasses`, `rename_gh_input` functions to `ghpython.__init__.py`.
* Added `Instruction`, `Model3d`, `Text3d`, `LinearDimension`, `BuildingPlanParser` classes to `planning.__init__.py`.
* Added `subprocessings` property to `BTLxProcessing` to allow nesting of processings.

Changed

* Fixed comma incompatible with py27 in `Slot` module.
* Updated the API documentation for `connections`, `elements`, `fabrication`, `ghpython`, `planning` packages.
* Refactored all btlx `process` references to `processing`, including base classes, properties, variables, and docstrings.
* Refactored `BTLx` to `BTLxWriter` in the `compas_timber.Fabrication` package.

Removed

* Removed `BeamJoiningError` from `connections.__init__.py`.
* Removed duplicate entries from the `__all__` list in the `elements.__init__.py` module.
* Removed package `compas_timber._fabrication`.
* Removed `btlx_processes` anf `joint_factories` from `compas_timber.fabrication` package.
* Removed `.btlx` files from `.gitignore`.

0.12.0

Added

* Added new base class for timber elements `TimberElement`.
* Added property `is_beam` to `Beam` class.
* Added property `is_plate` to `Plate` class.
* Added property `is_wall` to `Wall` class.
* Added `side_as_surface` to `compas_timber.elements.Beam`.
* Added `opposing_side_index` to `compas_timber.elements.Beam`.
* Added `Plate` element.
* Added attribute `plates` to `TimberModel`.
* Added new temporary package `_fabrication`.
* Added new `compas_timber._fabrication.JackRafterCut`.
* Added new `compas_timber._fabrication.JackRafterCutParams`.
* Added new `compas_timber._fabrication.Drilling`.
* Added new `compas_timber._fabrication.DrillingParams`.
* Added new `compas_timber._fabrication.StepJoint`.
* Added new `compas_timber._fabrication.StepJointNotch`.
* Added new `compas_timber._fabrication.DovetailTenon`.
* Added new `compas_timber._fabrication.DovetailMortise`.
* Added new `compas_timber.connections.TStepJoint`.
* Added new `compas_timber.connections.TDovetailJoint`.
* Added new `utilities` module in `connections` package.
* Added new `compas_timber._fabrication.DoubleCut`.
* Added new `compas_timber.connections.TBirdsmouthJoint`.
* Added new method `add_group_element` to `TimberModel`.
* Added new method `has_group` to `TimberModel`.
* Added new method `get_elements_in_group` to `TimberModel`.
* Added attribute `is_group_element` to `TimberElement`.
* Added `JointRule.joints_from_beams_and_rules()` static method
* Added `Element.reset()` method.
* Added new `fasteners.py` module with new `Fastener` element type.
* Added new `compas_timber._fabrication.Lap`.
* Added `Joint_Rule_From_List` GH Component that takes lists of beams to create joints.
* Added `MIN_ELEMENT_COUNT` and `MAX_ELEMENT_COUNT` class attributes to `Joint`.
* Added `element_count_complies` class method to `Joint`.
* Added `compas_timber.fasteners.FastenerTimberInterface`.
* Added `compas_timber.connections.BallNodeJoint`.
* Added `compas_timber.elements.BallNodeFastener`.
* Added `transform()` method to `Feature` types.
* Added `FastenerInterfaceComponent` GH component.
* Added `ShowElementsByType` GH Component.
* Added `fasteners` property to `TimberModel`.
* Added `BTLx_Feature` GH component.
* Added `CT_Beams_From_Mesh` GH component.
* Added new `compas_timber._fabrication.FrenchRidgeLap`.
* Added new `compas_timber.connections.LFrenchRidgeLapJoint`.
* Added new `compas_timber._fabrication.Tenon` and `compas_timber._fabrication.Mortise`.
* Added new `compas_timber.connections.TTenonMortiseJoint`.
* Added `create` override to `BallNodeJoint`.
* Added `PlateFastener` class.
* Added `errors` directory and `__init__.py` module.
* Added new `compas_timber._fabrication.Slot`.
* Added new `compas_timber._fabrication.SlotParams`.

Changed

* Changed incorrect import of `compas.geometry.intersection_line_plane()` to `compas_timber.utils.intersection_line_plane()`
* Renamed `intersection_line_plane` to `intersection_line_plane_param`.
* Renamed `intersection_line_line_3D` to `intersection_line_line_param`.
* Adjusted functions in `compas_timber._fabrication.DovetailMortise` and `compas_timber.connections.TDovetailJoint`.
* Added `conda-forge` channel to installation instructions.
* Fixed `**kwargs` inheritance in `__init__` for joint modules: `LMiterJoint`, `TStepJoint`, `TDovetailJoint`, `TBirdsmouthJoint`.
* Fixed GUID assignment logic from `**kwargs` to ensure correct fallback behavior for joint modules: `LMiterJoint`, `TStepJoint`, `TDovetailJoint`, `TBirdsmouthJoint`.
* Changed `model.element_by_guid()` instead of direct `elementsdict[]` access for beam retrieval in joint modules: `LMiterJoint`, `TStepJoint`, `TDovetailJoint`, `TBirdsmouthJoint`.
* Reworked the model generation pipeline.
* Reworked `comply` methods for `JointRule`s.
* Fixed error with angle and inclination calculation in `compas_timber._fabrication.JackRafterCut`
* Changed `compas_timber.connections.TButtJoint` and `compas_timber.connections.LButtJoint` by using the new implemented BTLx Processes to define the Joints
* Changed `DirectJointRule` to allow for more than 2 elements per joint.
* Changed `beam` objects get added to `Joint.elements` in `Joint.create()`.
* Fixed bug in vizualization of tenon/mortise in `compas_timber._fabrication.StepJoint`and `compas_timber._fabrication.StepJointNotch`.
* Changed `model.process_joinery()`so that it calls `joint.check_elements_compatibility()` before adding extensions and features.
* Fixed incorrect data keys for `beam_guid` in the `__data__` property for joint modules: `LMiterJoint`, `TStepJoint`, `TDovetailJoint`, `TBirdsmouthJoint`, `LFrenchRidgeLapJoint`.
* Fixed `JointRuleFromList` GH component.
* Changed `TButtJoint` to take an optional `PlateFastener`.
* Moved `FeatureApplicationError`, `BeamJoinningError`, and `FastenerApplicationError` to `errors.__init__.py`.
* Fixed a bug that occured when parallel beams are joined in the BallNodeJoint.
* Fixed `L_TopoJointRule`, `T_TopoJointRule` and `X_TopoJointRule` for cases where `Joint.SUPPORTED_TOPOLOGY` is a single value or a list.
* Fixed bug in `JointRule.joints_from_beams_and_rules()` that caused failures when topology was not recognized.
* Implemented `max_distance` parameter in `JointRule.joints_from_beams_and_rules()` and `JointRule.comply` methods.
* Bux fixes from extra comma argument and `max_distance` not implemented in `DirectRule.comply`.

Removed

* Removed module `compas_timber.utils.compas_extra`.
* Removed a bunch of spaghetti from `CT_model` GH component.
* Removed module `compas_timber.fabrication.joint_factories.t_butt_factory`.
* Removed module `compas_timber.fabrication.joint_factories.l_butt_factory`.
* Removed module `compas_timber.connections.butt_joint`.
* Removed module `compas_timber.connections.french_ridge_lap`.
* Removed module `compas_timber.fabrication.joint_factories.french_ridge_factory`.
* Removed module `compas_timber.fabrication.btlx_processes.btlx_french_ridge_lap`.

0.11.0

Added

* Added bake component for `Plate` elements.
* Added default paramteters for `Surface Model` in the GH Component

Changed

* Fixed wrong image file paths in the Documentation.
* Changed `TimberModel.beams` to return generator of `Beam` elements.
* Changed `TimberModel.walls` to return generator of `Wall` elements.
* Changed `TimberModel.plates` to return generator of `Plate` elements.
* Changed `TimberModel.joints` to return generator of `Joint` elements.
* Fixed polyline analysis for generating `SurfaceModel`
* Fixed errors in debug info components.

Removed

0.10.1

Added

Changed

* Implemented a workaround for https://github.com/gramaziokohler/compas_timber/issues/280.

Removed

0.10.0

Added

* Added `SurfaceModelJointOverride` GH Component.
* Added `Plate` element.
* Added attribute `plates` to `TimberModel`.
* Added `SurfaceModelJointOverride` GH Component
* Added `ShowSurfaceModelBeamType` GH Component
* Re-introduced attribute `key` in `Beam`.
* Added attribute `key` to `Plate`.
* Added generation of `plate` elements to the `SurfaceModel`

Changed

* Updated documentation for Grasshopper components.
* Fixed missing input parameter in `SurfaceModelOptions` GH Component.
* Fixed error with tolerances for `SurfaceModel`s modeled in meters.
* Renamed `beam` to `element` in different locations to make it more generic.
* Fixed `AttributeError` in `SurfaceModel`.
* Updated example scripts.
* Calling `process_joinery` in `SurfaceModel`.
* Changed how `BeamDefinition` and `Plate` types are handled in `SurfaceModel`
* Changed the `get_interior_segment_indices` function to work when there are multiple openings.
* Renamed `ShowSurfaceModelBeamType` to `ShowBeamsByCategory`.
* Changed `SurfaceModel` component input handling to give warnings instead of errors.

Removed

* Removed `add_beam` from `TimberModel`, use `add_element` instead.
* Removed `add_plate` from `TimberModel`, use `add_element` instead.
* Removed `add_wall` from `TimberModel`, use `add_element` instead.

0.9.1

Added

* Added `ref_frame` attribute to `Beam`.
* Added `ref_sides` attribute to `Beam`.
* Added `ref_edges` attribute to `Beam`.

Changed

* Fixed error in BakeWithBoxMap component.
* Added `add_extensions` to `Joint` interface.
* Added `process_joinery` to `TimberModel`.
* Features are not automatically added when creating a joint using `Joint.create()`.
* Features are not automatically added when de-serializing.

Removed

Page 1 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.