Skip to content

Releases: compas-dev/compas

COMPAS 2.14.1

07 Sep 21:52

Choose a tag to compare

Added

Changed

  • Fixed bug in compas_rhino.scene.meshobject.RhinoMeshObject related to missing object name.

Removed

COMPAS 2.14.0

06 Sep 14:30

Choose a tag to compare

Added

  • Implemented to_points method in compas.datastructures.Mesh, which before raised a NotImplementedError.
  • Implemented compute_aabb method in compas.datastructures.Datastructure, which before raised a NotImplementedError. Made use of the compas.geometry.bbox.bounding_box function.
  • Implemented compute_obb method in compas.datastructures.Datastructure, which before raised a NotImplementedError. Made use of the compas.geometry.bbox_numpy.oriented_bounding_box_numpy function.
  • Added vertices_to_points method in compas.datastructures.CellNetwork.
  • Added to_points method in compas.datastructures.VolMesh.
  • Added test function test_vertices_to_pointsin test_cell_network.py.
  • Added test function test_to_points in test_graph.py.
  • Added test function test_to_points in test_volmesh.py.
  • Added test functions test_to_points, test_compute_aabb, and test_compute_obb in test_mesh.py.
  • Added setters for SceneObject.worldtransformation and SceneObject.frame, which automatically handles the parent transformations.
  • Added missing property centroid in compas_rhino.geometry.RhinoBrep.
  • Added missing property curves in compas_rhino.geometry.RhinoBrep.
  • Added missing property is_closed in compas_rhino.geometry.RhinoBrep.
  • Added missing property is_orientable in compas_rhino.geometry.RhinoBrep.
  • Added missing property is_surface in compas_rhino.geometry.RhinoBrep.
  • Added missing property is_valid in compas_rhino.geometry.RhinoBrep.
  • Added missing property orientation in compas_rhino.geometry.RhinoBrep.
  • Added missing property surfaces in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.from_sweep in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.from_cone in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.from_plane in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.from_brepfaces in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.from_breps in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.from_torus in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.from_polygons in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.from_pipe in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.from_iges in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.to_step in compas_rhino.geometry.RhinoBrep.
  • Added implementation for Brep.to_viewmesh() in compas_rhino.geometry.RhinoBrep.

Changed

  • Fixed bug (inconsistency) in return value of compas.geometry.triangulation_delaunay.delaunay_triangulation. Only the faces of the triangulation should be returned.

Removed

  • Removed property is_compound from compas.geometry.Brep as OCC specific.
  • Removed property is_compoundsolid from compas.geometry.Brep as OCC specific.
  • Removed property solids from compas.geometry.Brep as OCC specific.
  • Removed property shells from compas.geometry.Brep as OCC specific.

COMPAS 2.13.0

04 Jun 14:21

Choose a tag to compare

Added

  • Added compas.scene.Scene.add_group() for adding group.
  • Added compas.scene.Group.add_from_list() for adding a list of items to a group.
  • Added implementation for compas.geometry.SphericalSurface.isocurve_u.
  • Added implementation for compas.geometry.SphericalSurface.isocurve_v.
  • Added implementation for compas.geometry.CylindricalSurface.isocurve_u.
  • Added implementation for compas.geometry.CylindricalSurface.isocurve_v.

Changed

  • Fixed error in circle_to_compas from Rhino.
  • Fixed Rhino to Rhino brep serialization.
  • Upated compas.scene.Group.add() to pass on group kwargs as default for child items.
  • Fixed bug in context detection, which wrongly defaults to Viewer instead of None.
  • Fixed bug in calculation of compas.geometry.Polyhedron.edges if geometry is computed using numpy.
  • Fixed bug in Grpah.from_pointcloud which uses degree parameter wrongly.

Removed

COMPAS 2.12.0

27 May 22:42

Choose a tag to compare

Added

  • Added inheritance field to __jsondump__ of compas.datastructures.Datastructure to allow for deserialization to closest available superclass of custom datastructures.

Changed

Removed

COMPAS 2.11.0

22 Apr 14:23
d736e6a

Choose a tag to compare

Added

  • Added Group to compas.scene.
  • Added compas.geometry.Brep.cap_planar_holes.
  • Added compas_rhino.geometry.RhinoBrep.cap_planar_holes.
  • Added compas.geometry.angle_vectors_projected.
  • Added compas.geometry.Brep.from_curves.
  • Added compas_rhino.geometry.RhinoBrep.from_curves.

Changed

  • Changed SceneObject.frame to read-only result of Frame.from_transformation(SceneObject.worldtransformation), representing the local coordinate system of the scene object in world coordinates.
  • Changed SceneObject.worldtransformation to the multiplication of all transformations from the scene object to the root of the scene tree, there will no longer be an additional transformation in relation to the object's frame.
  • Fixed call to astar_shortest_path in Graph.shortest_path.
  • Fixed a bug when printing an empty Tree.
  • Fixed a bug in Group for IronPython where the decoding declaration was missing.
  • Fixed a bug where a Group without name could not be added to the scene.

Removed

COMPAS 2.10.0

03 Mar 16:23
87a75d4

Choose a tag to compare

Added

  • Added flip to compas.geometry.Brep.
  • Added implementation of flip to compas_rhino.geometry.RhinoBrep.

Changed

  • Fixed unexpected behavior for method Plane.is_parallel for opposite normals.

Removed

COMPAS 2.9.1

06 Feb 07:51

Choose a tag to compare

Added

  • Added method frame_at to compas.geometry.BrepFace.
  • Added method frame_at to compas_rhino.geometry.RhinoBrepFace.
  • Added property is_reversed to compas.geometry.BrepFace.
  • Added property is_reversed to compas_rhino.geometry.RhinoBrepFace.

Changed

  • Fixed publish to YAK via CI workflow.
  • Added selector for test and prod to CI workflow.
  • Fixed AttributeError in compas.data.DataEncoder.default due to np.float_ no longer being available in numpy>=2.

Removed

COMPAS 2.9.0

04 Feb 07:28

Choose a tag to compare

Added

  • Added DevTools with support for automatic reloading of local python modules.
  • Added implementation for compas_rhino.geometry.RhinoBrep.from_step.
  • Added CPython implementations of GH components for Rhino8.
  • Added import to new yakerize task from compas_invocations2.
  • Added import to new publish_yak task from compas_invocations2.

Changed

  • Moved unload_modules to be a static method of DevTools. The unload_modules function is an alias to this.
  • Fixed unexpected behavior in compas.geometry.bbox_numpy.minimum_area_rectangle_xy.
  • Changed requirements.txt to allow numpy>=2.
  • Fixed bug in compas.geometry.Polygon.points setter by removing duplicate points if they exist.
  • Fixed bug in compas.geometry.Polygon.plane by aligning the normal of the bestfit plane with the approximate normal of the polygon faces.
  • Changed the order of face vertices in compas.geometry.Surface.to_vertices_and_faces to a counter clockwise cycling direction and outward facing normals for curved surfaces.
  • Deprecated the -v8.0 flag in compas_rhino.install. Install to Rhino8 by following: https://compas.dev/compas/latest/userguide/cad.rhino8.html.
  • Fixed Info Grasshopper component for cpython to handle non-bootstrapped environments.

Removed

COMPAS 2.8.1

15 Jan 14:02

Choose a tag to compare

Added

Changed

  • Fixed NotImplementedError when calling compas_rhino.conversions.surface_to_compas on NURBS Surface.
  • Fixed NotImplementedError when calling compas_rhino.conversions.surface_to_compas on Surface.
  • Changed point comparison (compas.geometry.Point.__eq__) to use TOL.is_allclose instead of raw coordinate comparison.
  • Changed vector comparison (compas.geometry.Vector.__eq__) to use TOL.is_allclose instead of raw coordinate comparison.
  • Fixed bug in frame comparison (compas.geometry.Frame.__eq__).
  • Fixed bug in compas.geometry.oriented_bounding_box_numpy.
  • Fixed cannot copy Line using deepcopy.

Removed

COMPAS 2.8.0

13 Dec 13:29

Choose a tag to compare

Added

  • Added implementation of RhinoBrep.fillet() and RhinoBrep.filleted() to compas_rhino.
  • Added Frame.invert and Frame.inverted.
  • Added Frame.flip and Frame.flipped as alias for invert and inverted.
  • Added Vector.flip and Vector.flipped as alias for invert and inverted.

Changed

  • Fixed native_edge property of RhinoBrepEdge.
  • Expose the parameters radius and nmax from compas.topology._face_adjacency to compas.topology.face_adjacency and further propagate them to unify_cycles and Mesh.unify_cycles.
  • Modify face_adjacency to avoid using compas.topology._face_adjacency by default when there are more than 100 faces, unless one of the parameters radius, nmax is passed.
  • Changed unify_cycles to use the first face in the list as root if no root is provided.

Removed