Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 01 Sep 16:42
· 1272 commits to main since this release
062ba63

Added

  • Added attribute tolerance to TimberModel.
  • Added scaled method to compas_timber.fabrication.BTLxProcessing to scale the BTLx parameters.
  • Added scaled method to compas_timber.fabrication.BTLxPart to scale the BTLx parameters.
  • Added scale method to compas_timber.fabrication.JackRafterCut.
  • Added scale method to compas_timber.fabrication.Drilling.
  • Added scale method to compas_timber.fabrication.DoubleCut.
  • Added scale method to compas_timber.fabrication.Lap.
  • Added scale method to compas_timber.fabrication.FrenchRidgeLap.
  • Added scale method to compas_timber.fabrication.Tenon.
  • Added scale method to compas_timber.fabrication.Mortise.
  • Added scale method to compas_timber.fabrication.StepJoint.
  • Added scale method to compas_timber.fabrication.StepJointNotch.
  • Added scale method to compas_timber.fabrication.DovetailTenon.
  • Added scale method to compas_timber.fabrication.DovetailMortise.
  • Added scale method to compas_timber.fabrication.Slot.
  • Added scale method to compas_timber.fabrication.Pocket.
  • Added scale method to compas_timber.fabrication.Text.
  • Added is_joinery flag to BTLxProcessing to indicate if the processing is a result of joinery operation.
  • Added new compas_timber.fabrication.LongitudinalCut.
  • Added tasks update-gh-header to update the version in the header of the GH components.
  • Added new compas_timber.connections.XNotchJoint.
  • Added a proxy class for Pocket BTLx processing for performance optimization.
  • Added topology to class Joint.
  • Added location to class Joint.
  • Added NBeamKDTreeAnalyzer to compas_timber.connections.
  • Added TripletAnalyzer to compas_timber.connections.
  • Added QuadAnalyzer to compas_timber.connections.
  • Added CompositeAnalyzer to compas_timber.connections.
  • Added method connect_adjacent_beams to TimberModel.
  • Added PlateJoint.
  • Added PlateButtJoint.
  • Added PlateMiterJoint.
  • Added PlateConnectionSolver.
  • Added generic ButtJoint class from which TButtJoint and LButtJoint inherit.
  • Added new BTLxProcessingError to compas_timber.errors.
  • Added errors property to BTLxWriter class which can be used after call to write() to check for errors.
  • Added joints_contribution_guide in docs.
  • Added JointTopology.TOPO_Y for Beam Connections.
  • Added JointTopology.TOPO_K for Beam Connections.
  • Added JointTopology.TOPO_EDGE_EDGE for Plate Connections.
  • Added JointTopology.TOPO_EDGE_FACE for Plate Connections.
  • Added Cluster.topology.
  • Added PlateSolverResult and BeamSolverResult to package results from PlateConnectionSolver.find_topology() and ConnectionSolver.find_topology().
  • Added PlateJointCandidate to generic_joint.py.
  • Added Joint.from_cluster and Joint.from_generic_joint constructors to Joint.
  • Added PlateJoint.from_generic_joint as override.
  • Added joint_candidates property to TimberModel.
  • Added add_joint_candidate method to TimberModel.
  • Added remove_joint_candidate method to TimberModel.

Changed

  • BTLx Write now considers the TimberModel.tolerance attribute and scales parts and processings it when units are set to meters.
  • Added missing __data__ to compas_timber.fabrication.Drilling.
  • Added missing __data__ to compas_timber.fabrication.Slot.
  • Fixed TypeError when deepcopying beams with debug_info on them.
  • Processings which are not the result of joinery are now serialized with TimberElement.
  • Fixed visualization bug in Plate due to loft resulting in flipped volume.
  • Fixed a few bugs in the WallPopulator workflow including GH component updates.
  • Renamed NullJoint to JointCandidate.
  • Fixed bug in show_ref_faces GH component.
  • BTLxProcessing.ref_side_index defaults to 0 if not set, instead of the invalid None.
  • Updated BTLx_contribution_guide in docs.
  • Fixed several GH Components for Rhino8 compatibility.
  • Fixed graph_node is None after deserializing a TimberModel.
  • Fixed attribute error when creating a TButtJoint.
  • Fixed a bug in BeamsFromMesh GH Component.
  • Changed default value for modify_cross to True for LButtJoint.
  • Minor fixes to GH Components.
  • Fixed elements and geometry creation for BallNodeJoint.
  • Changed PlateConnectionSolver.find_topology() to solve for TOPO_EDGE_EDGE or TOPO_EDGE_FACE.
  • Changed PlateConnectionSolver.find_topology() to return a PlateSolverResult instance.
  • Reworked ConnectionSolver.find_topology() for readability and to implement TOPO_I.
  • Changed ConnectionSolver.find_topology() to return a BeamSolverResult instance.
  • Removed topology, a_segment_index and b_segment_index from PlateJoint subclass __init__() methods. These can now be passed as kwargs.
  • PlateJoints can now be instantiated with just 2 Plates as arguments. If no topology or segment index data is in kwargs, the joint will solve for those.
  • Fixed ironpython compatibility issues.
  • NBeamKDTreeAnalyzer now uses model.joint_candidates instead of filtering model.joints.
  • Fixed element interaction gets removed even if there are still attributes on it.
  • Changed elements argument in promote_joint_candidate to reordered_elements for clarity.
  • Fixed TStepJoint deserialization error where __init__() was accessing beam properties before beams were restored from GUIDs.
  • Removed the cut_plane_bias parameter from the LapJoint.__init__() method, as it is not required by all subclasses.
  • Added the cut_plane_bias parameter to the constructors of TLapJoint, LLapJoint, and XLapJoint.
  • Updated the __data__ methods of TLapJoint, LLapJoint, and XLapJoint to serialize the cut_plane_bias value.
  • Updated the __data__ method of LFrenchRidgeLapJoint to serialize the drillhole_diam value.
  • Changed the _create_negative_volumes() method in LapJoint to accept cut_plane_bias as an argument.
  • Renamed set_default_values() to _update_default_values() and moved method call from __init__() to add_features() in TenonMortiseJoint to avoid inconsistencies during deserialization.
  • Set minimum compas_timber version in CPython GH components to 1.0.0.

Removed

  • Removed Grasshopper after-install plugin. Components should be installed via Rhino's Plugin Manager.
  • Removed get_face_most_towards_beam from Joint as not used anywhere.
  • Removed get_face_most_ortho_to_beam from Joint as not used anywhere.
  • Removed angle_vectors_projected from compas_timber.utils since this has been upstreamed to core.