Skip to content

Releases: compas-dev/compas

COMPAS 2.11.0

22 Apr 14:23
d736e6a
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

COMPAS 2.7.0

28 Nov 15:46
Compare
Choose a tag to compare

Added

  • Added attribute start_vertex to compas.geometry.BrepTrim.
  • Added attribute end_vertex to compas.geometry.BrepTrim.
  • Added attribute vertices to compas.geometry.BrepTrim.
  • Added attribute start_vertex to compas_rhino.geometry.RhinoBrepTrim.
  • Added attribute start_vertex to compas_rhino.geometry.RhinoBrepTrim.
  • Added attribute vertices to compas_rhino.geometry.RhinoBrepTrim.

Changed

  • Fixed PluginNotInstalledError when using Brep.from_boolean_* in Rhino.
  • Added support for Polyline as input for compas_rhino.Brep.from_extrusion.

Removed

COMPAS 2.6.1

09 Nov 11:40
Compare
Choose a tag to compare

Added

Changed

  • Fixed bug in compas_rhino.scene.RhinoMeshObject.clear().

Removed

COMPAS 2.6.0

08 Nov 15:29
Compare
Choose a tag to compare

Added

  • Added key conversion map to compas.colors.ColorDict to avoid serialisation problems with tuple keys when used in combination with edges.
  • Added Scene.find_all_by_itemtype.

Changed

  • Fixed bug in VolMesh.delete_cell.
  • Fixed NoneType error when calling compas.geometry.Sphere.edges.
  • Fixed bug in VolMesh.vertex_halffaces.
  • Fixed bug in VolMesh.vertex_cells.
  • Fixed bug in VolMesh.is_halfface_on_boundary.

Removed

  • Removed VolMesh.halfface_adjacent_halfface because of general nonsensicalness, and because it is (and probably always has been) completely broken.

COMPAS 2.5.0

25 Oct 15:16
ef3996d
Compare
Choose a tag to compare

Added

  • Added instructions for creating new data types to the dev guide.
  • Added compact=False, minimal=False to compas.data.Data.to_json() to compas.data.Data.to_jsonstring().
  • Added copy_guid=False to compas.data.Data.copy(). If true, the copy has the same guid as the original.
  • Added implementation of Brep.from_loft() to compas_rhino.

Changed

  • Fixed RuntimeError when using compas_rhino.unload_modules in CPython`.
  • Fixed bug in Box.scaled causing a TypeError due to incorrect parameter forwarding.
  • Changed argument names of Box.scale() to x, y, z, instead of factor and made y and z optional to keep positional arguments backwards compatible.
  • Fixed import errors in compas_rhino.conduits for Rhino 8.
  • Fixed doctest failures.
  • Fixed bug in serialization when compas.datastructures.attributes.AttributeView is used.
  • Fixed bug in the serialisation of empty scenes.
  • Fixed bug in serialisation process due to name attribute appearing in json representation after copy even if not present before copy.

Removed