Skip to content

Releases: gramaziokohler/compas_timber

v0.13.0

13 Jan 16:39
85e39bf
Compare
Choose a tag to compare

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.

v0.12.0

07 Jan 10:12
8994b15
Compare
Choose a tag to compare

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 JointRules.
  • 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.StepJointand 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.

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

v0.11.0

17 Sep 09:39
6f9c87c
Compare
Choose a tag to compare

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

v0.10.1

11 Sep 15:01
d84996d
Compare
Choose a tag to compare

Added

Changed

  • Implemented a workaround for #280.

Removed

v0.10.0

11 Sep 10:58
1fe4b0f
Compare
Choose a tag to compare

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.

Changed

  • Updated documentation for Grasshopper components.
  • Fixed missing input parameter in SurfaceModelOptions GH Component.
  • Fixed error with tolerances for SurfaceModels 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.

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.

v0.9.1

05 Jul 08:47
509c3d1
Compare
Choose a tag to compare

Added

Changed

  • Fixed error in BakeWithBoxMap component.

Removed

v0.9.0

14 Jun 17:14
f63f5d2
Compare
Choose a tag to compare

Added

  • Added birdsmouth parameter to butt_joint which applies a btlx_double_cut process to the part.
  • Added BTLxDoubleCut BTLx Processing class
  • Added BTLx support for TButtJoint and LButtJoint
  • Added BTLxLap process class

Changed

Removed

v0.8.1

13 Jun 12:25
0404451
Compare
Choose a tag to compare

Added

Changed

  • Fixed import errors in GH components.
  • Updated GH example file.

Removed

v0.8.0

12 Jun 17:03
8ecf937
Compare
Choose a tag to compare

Added

  • Added attribute geometry to Beam.
  • Added center_of_mass property to Assembly class.
  • Added volume property to Assembly class.
  • Added new element type Wall.

Changed

  • Reduced some boilerplate code in Joint subclasses.
  • Added argument beams to Joint.__init__() which expects tuple containing beams from implementing class instance.
  • Renamed TimberAssembly to TimberModel.
  • Renamed compas_timber.assembly to compas_timber.model.
  • Renamed compas_timber.parts to compas_timber.elements.
  • Based Beam on new compas_model.elements.Element.
  • Based TimberModel on new compas_model.model.Model.
  • Based Joint on new compas_model.interactions.Interaction.
  • Removed support for Python 3.8.

Removed

  • Removed joint_type attributes from all Joint classes.
  • Removed argument cutoff from LMiterJoint as it was not used anywhere.
  • Removed argument gap from TButtJoint as it was not used anywhere.
  • Removed argument gap from FrenchRidgeLap as it was not used anywhere.
  • Removed class JointOptions as not used anymore.
  • Removed module compas_timber.consumers.
  • Removed unused method TButtJoint.get_cutting_plane().

v0.7.0

15 Feb 11:31
99ed4f3
Compare
Choose a tag to compare

Added

  • Added debug_geometries attribute to BeamJoiningError.
  • (Re)added BooleanSubtraction feature.
  • Added flag modify_cross to L-Butt joint.
  • Added flag reject_i to L-Butt joint.
  • Added new NullJoint.

Changed

  • BeamFromCurve GH component accepts now referenced Rhino curves, referenced Rhino object IDs and internalized lines.
  • BeamFromCurve GH component accepts now referenced Rhino curves, referenced Rhino object IDs and internalized lines.
  • Fixed FeatureError when L-Butt applies the cutting plane.
  • Fixed T-Butt doesn't get extended to cross beam's plane.
  • SimpleSequenceGenerator updated to work with compas.datastructures.assembly and generates building plan acording to type.
  • Changed GH Categories for joint rules.
  • Made beam_side_incident a staticmethod of Joint and reworked it.
  • Extended DecomposeBeam component to optionally show beam frame and faces.

Removed

  • Removed component ShowBeamFrame.
  • Changed GH Categories for joint rules
  • BrepGeometryConsumer continues to apply features even after the first error.
  • DrillHole component calculates length from input line.
  • DrillHole has default diameter proportional to beam cross-section.
  • Removed input Length from DrillHole component.
  • Fixed broken TrimmingFeature component.