Skip to content

Releases: BlockResearchGroup/compas_model

v0.9.3

Choose a tag to compare

@github-actions github-actions released this 07 May 15:32

Added

  • Added compas_model.algorithms.contacts.brepface_brepface_overlap_holes to compute the precise interface between two brep faces.

Changed

  • Fixed bug in compas_model.elements.plate.Plate.compute_obb.
  • Fixed bug in contact detection due to failing vector matching in compas_model.algorithms.contacts.
  • Changed compas_model.algorithms.contacts.brep_brep_contacts to use brepface_brepface_overlap_holes to refine the contact geometry of brepfaes that have already been found to be in contact.
  • Changed compas_model.interactions.contact.Contact to register holes in the contact geometry.
  • Changed compas_model.interactions.contact.Contact to compute a precise brep geometry of the contact, including holes if they are present.
  • Fixed bug in compas_model.algorithms.contacts.brep_brep_contacts due to changes in singleton behaviour of compas tolerance.

Removed

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 14 Nov 12:15

Added

Changed

  • Fixed typing error in Element.material assignment.
  • Changed (temporarily) polygon_polygon_overlap to not check for exactly opposite vectors.

Removed

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 09 Sep 10:34

Added

  • Added compas_viewer to requirements-viz.txt.
  • Added compas_notebook to requirements-viz.txt.

Changed

Removed

  • Removed compas_viewer from requirements.txt.
  • Removed compas_notebook from requirements-dev.txt.

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 06:52

Added

  • Added Model.has_element_with_name.
  • Added Model.find_element_with_name.
  • Added Model.find_element_with_name_or_fail.
  • Added Model.find_all_elements_of_type.
  • Added Model.remove_elements_of_type.
  • Added Model.add_or_get_material.
  • Added lazy-computed compas_model.elements.Element.surface_mesh property.
  • Added lazy_computed compas_model.elements.Element.volumetric_mesh property.
  • Added compas_model.elements.Element.compute_surface_mesh property.
  • Added compas_model.elements.Element.compute_volumetric_mesh property.

Changed

  • Changed compas_model.elements.Element.transform to apply the new transformation on top of the current one, instead of replacing it.

Removed

  • Removed lazy-computed compas_model.elements.Element.femesh2 property.
  • Removed lazy_computed compas_model.elements.Element.femesh3 property.
  • Removed compas_model.elements.Element.compute_femesh2 property.
  • Removed compas_model.elements.Element.compute_femesh3 property.

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 04 Jun 20:26

Added

  • Added back Group Element.
  • Added ElementObject and ModelElement for compas_viewer.
  • Added compas_model.algorithms.brep_brep_contacts for calculation of simple, flat contacts between two breps.
  • Added compas_model.models.Model.contacts iterator.
  • Added brep_brep_contacts for calculation of contacts between elements with brep geometry.
  • Added compas_model.datastructures.BVHNode.add to take care of depth value.
  • Added compas_model.elements.Element.apply_modifiers.
  • Added compas_model.elements.Element.material setter.
  • Added lazy-computed compas_model.elements.Element.femesh2 property.
  • Added lazy_computed compas_model.elements.Element.femesh3 property.
  • Added compas_model.elements.Element.compute_femesh2 property.
  • Added compas_model.elements.Element.compute_femesh3 property.
  • Added compas_model.modifiers.
  • Added compas_model.modifiers.Modifier.
  • Added compas_model.models.Model.add_modifier.

Changed

  • Updated existing ElementObject and ModelElement for renewed SceneObject APIs.
  • Changed compas_model.interactions.Contact to require only points, and lazy calculate all other attributes only when not explicitly provided.
  • Changed compas_model.models.Model.compute_contacts to use BVH with OOB nodes for calculation of contact candidates.
  • Changed default parmeter value of inflate in compas_model.elements.Element.compute_aabb.
  • Changed default parmeter value of inflate in compas_model.elements.Element.compute_obb.
  • Changed default parmeter value of inflate in compas_model.elements.Element.compute_collision_mesh.
  • Changed default parmeter value of inflate in compas_model.elements.Beam.compute_aabb.
  • Changed default parmeter value of inflate in compas_model.elements.Beam.compute_obb.
  • Changed default parmeter value of inflate in compas_model.elements.Column.compute_aabb.
  • Changed default parmeter value of inflate in compas_model.elements.Column.compute_obb.
  • Changed default parmeter value of inflate in compas_model.elements.Plate.compute_aabb.
  • Changed default parmeter value of inflate in compas_model.elements.Plate.compute_obb.
  • Fixed bug in compas_model.elements.Beam.compute_aabb.
  • Fixed bug in compas_model.elements.Beam.compute_obb.
  • Fixed bug in compas_model.elements.Column.compute_aabb.
  • Fixed bug in compas_model.elements.Column.compute_obb.
  • Fixed bug in compas_model.elements.Plate.compute_aabb.
  • Fixed bug in compas_model.elements.Plate.compute_obb.
  • Changed compas_model.model.Model.elements to property.
  • Changed compas_model.model.Model.materials to property.
  • Changed compas_model.model.Model.contacts to property.
  • Changed compas_model.model.Element.compute_modelgeometry to use new modifier implementation.
  • Changed BVH to use AABB by default.
  • Changed interaction graph to store elements by guid reference.
  • Changed root node of element tree to default TreeNode.
  • Changed ElementNode to require Element.

Removed

  • Removed modifier methods from compas_model.elements.Beam.
  • Removed modifier methods from compas_model.elements.Column.
  • Removed Shape from parameter options in compas_model.elements.Element.
  • Removed compas_model.interactions.modifiers.
  • Removed compas_model.models.Model.compute_collisions.
  • Removed compas_model.models.Model.add_elements.

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 12 Mar 09:35

Added

Changed

Removed

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 01 Feb 12:52

Added

Changed

  • Fixed bug in compas_model.models.Model.transformation.

Removed

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 30 Jan 11:05

Added

Changed

  • Changed compas_model.elements.Element.compute_modeltransformation to use only the stack of transformations of its ancestors. Each transformation in the stack defines the change from local to world coordinates of the corresponding element.

Removed

  • Removed compas_model.models.Model.frame.

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 22 Jan 00:26

Added

Changed

  • Fixed bug in compas_model.models.Model.compute_contacts resulting from completely skipping existing edges.
  • Fixed bug in import of boolean_difference_mesh_mesh.

Removed

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 21 Jan 14:17

Added

  • Added reference to model Element.model to Element.
  • Added Element.modelgeometry as the cached geometry of an element in model coordinates, taking into account the modifying effect of interactions with other elements.
  • Added Element.modeltransformation as the cached transformation from element to model coordinates.
  • Added Element.compute_elementgeometry().
  • Added Element.compute_modelgeometry() to replace Element.compute_geometry().
  • Added Element.compute_modeltransformation() to replace Element.compute_worldtransformation().
  • Added Element.is_dirty.
  • Added compas_model.geometry.minkowski_sum_xy to compute the Minkowski sum A + B of two convex polygons in the XY plane.
  • Added compas_model.geometry.minkowski_difference_xy as a convenience method to compute A + -B.
  • Added compas_model.geometry.is_collision_poly_poly_xy to check for collisions between convex polygons in the XY plane.
  • Added compas_model.geometry.intersection_ray_triangle.
  • Added compas_model.geometry.intersections_line_aabb.
  • Added compas_model.geometry.intersections_line_box.
  • Added compas_model.geometry.intersections_ray_aabb.
  • Added compas_model.geometry.intersections_ray_box.
  • Added compas_model.geometry.is_intersection_box_box.
  • Added compas_model.geometry.is_intersection_line_aabb.
  • Added compas_model.geometry.is_intersection_line_box.
  • Added compas_model.geometry.is_intersection_ray_aabb.
  • Added compas_model.geometry.is_intersection_ray_box.
  • Added compas_model.geometry.is_intersection_segment_aabb.
  • Added compas_model.geometry.is_intersection_segment_box.
  • Added compas_model.geometry.pca_box for fast OBB calculation.
  • Added compas_model.algorithms.mesh_mesh_contacts.
  • Added compas_model.datastructures.BVH extending the base compas tree data structure into a bounding volume hierarchy.
  • Added compas_model.datastructures.AABBNode representing a node of the BVH using an axis-aligned bounding box.
  • Added compas_model.datastructures.OBBNode representing a node of the BVH using an oriented bounding box.
  • Added compas_model.datastructures.KDTree for nearest neighbour search among elements.
  • Added compas_model.models.bvh.ElementBVH.
  • Added compas_model.models.bvh.ElementAABBNode.
  • Added compas_model.models.bvh.ElementOBBNode.
  • Added compas_model.elements.BeamElement.
  • Added compas_model.elements.ColumnElement.
  • Added compas_model.elements.PlateElement.
  • Added compas_model.models.Model.collisions iterator.
  • Added compas_model.models.graph.InteractionGraph.clear_edges.

Changed

  • Changed Element.graph_node to Element.graphnode.
  • Changed Element.tree_node to Element.treenode.
  • Fixed bug in deserialisation (element.model was not set properly).

Removed

  • Removed model reference ElementTree.model from ElementTree.
  • Removed InterfaceElement from elements.
  • Removed BlockModel.
  • Removed BlockElement.
  • Removed model_interfaces.
  • Removed model_overlaps.