Skip to content

Releases: compas-dev/compas

COMPAS 2.0.0-alpha.1

28 Sep 20:24
8c0cd7b
Compare
Choose a tag to compare
COMPAS 2.0.0-alpha.1 Pre-release
Pre-release

Added

  • Added create_id to compas_ghpython.utilities. (moved from compas_fab)
  • Added representation for features in compas.datastructures.Part.
  • Added split and split_by_length to compas.geometry.Polyline.
  • Added compas.rpc.XFunc.
  • Added attribute compas.color.Color.DATASCHEMA.
  • Added attribute compas.data.Data.DATASCHEMA.
  • Added attribute compas.datastructures.Graph.DATASCHEMA.
  • Added attribute compas.datastructures.Halfedge.DATASCHEMA.
  • Added attribute compas.datastructures.Halfface.DATASCHEMA.
  • Added attribute compas.geometry.Arc.DATASCHEMA.
  • Added attribute compas.geometry.Bezier.DATASCHEMA.
  • Added attribute compas.geometry.Box.DATASCHEMA.
  • Added attribute compas.geometry.Capsule.DATASCHEMA.
  • Added attribute compas.geometry.Circle.DATASCHEMA.
  • Added attribute compas.geometry.Cone.DATASCHEMA.
  • Added attribute compas.geometry.Cylinder.DATASCHEMA.
  • Added attribute compas.geometry.Ellipse.DATASCHEMA.
  • Added attribute compas.geometry.Frame.DATASCHEMA.
  • Added attribute compas.geometry.Line.DATASCHEMA.
  • Added attribute compas.geometry.NurbsCurve.DATASCHEMA.
  • Added attribute compas.geometry.NurbsSurface.DATASCHEMA.
  • Added attribute compas.geometry.Plane.DATASCHEMA.
  • Added attribute compas.geometry.Point.DATASCHEMA.
  • Added attribute compas.geometry.Pointcloud.DATASCHEMA.
  • Added attribute compas.geometry.Polygon.DATASCHEMA.
  • Added attribute compas.geometry.Polyhedron.DATASCHEMA.
  • Added attribute compas.geometry.Polyline.DATASCHEMA.
  • Added attribute compas.geometry.Sphere.DATASCHEMA.
  • Added attribute compas.geometry.Torus.DATASCHEMA.
  • Added attribute compas.geometry.Quaternion.DATASCHEMA.
  • Added attribute compas.geometry.Vector.DATASCHEMA.
  • Added implementation of property compas.color.Color.data.
  • Added compas.data.Data.validate_data.
  • Added compas.data.Data.__jsondump__.
  • Added compas.data.Data.__jsonload__.
  • Added compas.data.schema.dataclass_dataschema.
  • Added compas.data.schema.dataclass_typeschema.
  • Added compas.data.schema.dataclass_jsonschema.
  • Added compas.data.schema.compas_jsonschema.
  • Added compas.data.schema.compas_dataclasses.
  • Added compas.datastructures.Graph.to_jsondata.
  • Added compas.datastructures.Graph.from_jsondata.
  • Added compas.datastructures.Halfedge.halfedge_loop_vertices.
  • Added compas.datastructures.Halfedge.halfedge_strip_faces.
  • Added compas.datastructures.Mesh.vertex_point.
  • Added compas.datastructures.Mesh.vertices_points.
  • Added compas.datastructures.Mesh.set_vertex_point.
  • Added compas.datastructures.Mesh.edge_start.
  • Added compas.datastructures.Mesh.edge_end.
  • Added compas.datastructures.Mesh.edge_line.
  • Added compas.datastructures.Mesh.face_points.
  • Added compas.datastructures.Mesh.face_polygon.
  • Added compas.datastructures.Mesh.face_circle.
  • Added compas.datastructures.Mesh.face_frame.
  • Added compas.datastructures.Graph.node_index and compas.datastructures.Graph.index_node.
  • Added compas.datastructures.Graph.edge_index and compas.datastructures.Graph.index_edge.
  • Added compas.datastructures.Halfedge.vertex_index and compas.datastructures.Halfedge.index_vertex.
  • Added compas.geometry.Hyperbola.
  • Added compas.geometry.Parabola.
  • Added compas.geometry.PlanarSurface.
  • Added compas.geometry.CylindricalSurface.
  • Added compas.geometry.SphericalSurface.
  • Added compas.geometry.ConicalSurface.
  • Added compas.geometry.ToroidalSurface.
  • Added compas.geometry.trimesh_descent_numpy.
  • Added compas.geometry.trimesh_gradient_numpy.
  • Added compas.geometry.boolean_union_polygon_polygon pluggable.
  • Added compas.geometry.boolean_intersection_polygon_polygon pluggable.
  • Added compas.geometry.boolean_difference_polygon_polygon pluggable.
  • Added compas.geometry.boolean_symmetric_difference_polygon_polygon pluggable.
  • Added compas.geometry.boolean_union_polygon_polygon Shapely-based plugin.
  • Added compas.geometry.boolean_intersection_polygon_polygon Shapely-based plugin.
  • Added compas.geometry.boolean_difference_polygon_polygon Shapely-based plugin.
  • Added compas.geometry.boolean_symmetric_difference_polygon_polygon Shapely-based plugin.
  • Added compas.geometry.Pointcloud.from_ply.
  • Added compas.geometry.Curve.to_points.
  • Added compas.geometry.Curve.to_polyline.
  • Added compas.geometry.Curve.to_polygon.
  • Added compas.geometry.Surface.to_vertices_and_faces.
  • Added compas.geometry.Surface.to_triangles.
  • Added compas.geometry.Surface.to_quads.
  • Added compas.geometry.Surface.to_mesh.
  • Added compas.geometry.Curve.point_at.
  • Added compas.geometry.Curve.tangent_at.
  • Added compas.geometry.Curve.normal_at.
  • Added compas.geometry.Surface.point_at.
  • Added compas.geometry.Surface.normal_at.
  • Added compas.geometry.Surface.frame_at.
  • Added mesh_to_rhino to compas_rhino.conversions.
  • Added vertices_and_faces_to_rhino to compas_rhino.conversions.
  • Added polyhedron_to_rhino to compas_rhino.conversions.
  • Added from_mesh plugin to compas_rhino.geometry.RhinoBrep.
  • Added compas.geometry.Plane.worldYZ and compas.geometry.Plane.worldZX.
  • Added compas.datastructures.CellNetwork.
  • Added compas_rhino.conversions.brep_to_compas_box.
  • Added compas_rhino.conversions.brep_to_compas_cone.
  • Added compas_rhino.conversions.brep_to_compas_cylinder.
  • Added compas_rhino.conversions.brep_to_compas_sphere.
  • Added compas_rhino.conversions.brep_to_rhino.
  • Added compas_rhino.conversions.capsule_to_rhino_brep.
  • Added compas_rhino.conversions.cone_to_rhino_brep.
  • Added compas_rhino.conversions.curve_to_rhino.
  • Added compas_rhino.conversions.cylinder_to_rhino_brep.
  • Added compas_rhino.conversions.extrusion_to_compas_box.
  • Added compas_rhino.conversions.extrusion_to_rhino_cylinder.
  • Added compas_rhino.conversions.extrusion_to_rhino_torus.
  • Added compas_rhino.conversions.polyline_to_rhino_curve.
  • Added compas_rhino.conversions.surface_to_compas.
  • Added compas_rhino.conversions.surface_to_compas_mesh.
  • Added compas_rhino.conversions.surface_to_compas_quadmesh.
  • Added compas_rhino.conversions.surface_to_rhino.
  • Added compas_rhino.conversions.torus_to_rhino_brep.
  • Added compas_rhino.artists._helpers.attributes.
  • Added compas_rhino.artists._helpers.ngon.
  • Added compas.geometry.find_span.
  • Added compas.geometry.construct_knotvector.
  • Added compas.geometry.knotvector_to_knots_and_mults.
  • Added compas.geometry.knots_and_mults_to_knotvector.
  • Added compas.geometry.compute_basisfuncs.
  • Added compas.geometry.compute_basisfuncsderivs.
  • Added compas.geometry.DefaultNurbsCurve as try-last, Python-only plugin for compas.geometry.NurbsCurve.
  • Added compas.geometry.DefaultNurbsSurface as try-last, Python-only plugin for compas.geometry.NurbsSurface.
  • Added color count to constructor functions of compas.colors.ColorMap.

Changed

  • Temporarily skip testing for python 3.7 due to a bug related to MacOS 13.
  • Fixed bug that caused a new-line at the end of the compas.HERE constant in IronPython for Mac.
  • Fixed unbound method usage of .cross() on Plane, Vector and Frame.
  • Fixed Grasshopper draw_polylines method to return PolylineCurve instead of Polyline because the latter shows as only points.
  • Fixed bug in the is_polygon_in_polygon_xy that was not correctly generating all the edges of the second polygon before checking for intersections.
  • Fixed area_polygon that was, in some cases, returning a negative area.
  • Fixed uninstall post-process.
  • Fixed support for System.Decimal data type on json serialization.
  • Fixed offset_polygon raising a TypeError when inputing a Polygon instead of a list of Points.
  • Simplified compas.datastructures.Part for more generic usage.
  • Changed GLTFMesh.from_mesh to read texture coordinates, vertex normals and colors if available and add to GLTFMesh
  • Fixed bug in VolMeshArtist.draw_cells for Rhino, Blender and Grasshopper.
  • Changed edge parameter of compas.datastructures.Halfedge.edge_faces to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Halfedge.halfedge_face to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Halfedge.is_edge_on_boundary to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Halfedge.halfedge_after to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Halfedge.halfedge_before to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.trimesh_edge_cotangent to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.trimesh_edge_cotangents to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Mesh.edge_coordinates to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Mesh.edge_length to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Mesh.edge_vector to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edge parameter of compas.datastructures.Mesh.edge_point to 1 edge identifier (tuple of vertices) instead of two serparate vertex identifiers.
  • Changed edg...
Read more

COMPAS 1.17.6

12 Sep 14:12
409da63
Compare
Choose a tag to compare

Added

  • Added create_id to compas_ghpython.utilities. (moved from compas_fab)

Changed

  • Fixed bug that caused a new-line at the end of the compas.HERE constant in IronPython for Mac.
  • Fixed Grasshopper draw_polylines method to return PolylineCurve instead of Polyline because the latter shows as only points.
  • Fixed uninstall post-process.
  • Fixed area_polygon that was, in some cases, returning a negative area
  • Fixed support for System.Decimal data type on json serialization.
  • Fixed AttributeError in Plotter's PolylineArtist and SegementArtist.
  • Fixed wrong key type when de-serializing Graph with integer keys leading to node not found.
  • Fixed bug in VolMeshArtist.draw_cells for Rhino, Blender and Grasshopper.
  • Fixed bug in the is_polygon_in_polygon_xy that was not correctly generating all the edges of the second polygon before checking for intersections.

Removed

COMPAS 1.17.5

16 Feb 13:14
910b08e
Compare
Choose a tag to compare

Added

  • Added conversion function frame_to_rhino_plane to compas_rhino.conversions.
  • Added RhinoSurface.from_frame to compas_rhino.geometry.
  • Added representation for trims with compas.geometry.BrepTrim.
  • Added Arc to compas.geometry.
  • Added Arc conversion functions to compas_rhino.conversions.
  • Added from_sphere alternative constructor to RhinoBrep.
  • Added support for singular trims to RhinoBrep.

Changed

  • Patched CVE-2007-4559 vulnerability.
  • Updated workflows to v2.
  • Fixed attribute error in compas_rhino.conversions.ellipse_to_compas.
  • Changed deepcopy of RhinoBrep to use the native Rhino.Geometry mechanism.
  • The normal of the cutting plane is no longer flipped in compas_rhino.geometry.RhinoBrep.
  • Planar holes caused by RhinoBrep.trim are now automatically capped.
  • Fixed Polygon constructor to not modify the input list of points.
  • Fixed serialization of sphere and cylinder Breps in RhinoBrep.
  • Fixed serialization of some trimmed shapes in RhinoBrep.
  • Freeze black version to 22.12.0.
  • Fixed is_point_in_circle_xy second argument to access the origin of the plane of the circle.

Removed

COMPAS 1.17.4

06 Dec 15:38
Compare
Choose a tag to compare

Added

  • Added option for per-vertex color specification to compas_rhino.utilities.drawing.draw_mesh.

Changed

  • Fixed strange point values in RhinoNurbsCurve caused by conversion ControlPoint to COMPAS instead of ControlPoint.Location.
  • Fixed flipped order of NURBS point count values when creating RhinoNurbsSurface from parameters.

Removed

  • Removed Python 3.6 from build workflows as it reached end-of-life at the end of 2021.

COMPAS 1.17.3

09 Nov 22:31
Compare
Choose a tag to compare

Added

  • Added compas_rhino.INSTALLATION_ARGUMENTS.

Changed

  • Fixed bug in Rhino installation due to redefinition of command line arguments in compas_ghpython.components.get_version_from_args.

Removed

COMPAS 1.17.2

07 Nov 19:56
Compare
Choose a tag to compare

Added

Changed

  • Changed compas._os._polyfill_symlinks to use junction (/J) instead of symbolic link (/D).

Removed

COMPAS 1.17.1

06 Nov 17:34
Compare
Choose a tag to compare

Added

  • Added compas_rhino.geometry.RhinoCurve.offset.
  • Added compas.geometry.Surface.from_plane.
  • Added compas.geometry.surfaces.surface.new_surface_from_plane pluggable.
  • Added compas_rhino.geometry.surfaces.new_surface_from_plane plugin.
  • Added compas_rhino.geometry.RhinoSurface.intersections_with_curve.

Changed

  • Fixed bug in compas_rhino.geometry.RhinoCurve.frame_at.
  • Changed implementation of compas.datastructures.mesh_planarize_faces to include edge midpoints.

Removed

COMPAS 1.17.0

07 Oct 14:26
Compare
Choose a tag to compare

Added

  • Added gltf extensions: KHR_materials_transmission, KHR_materials_specular, KHR_materials_ior, KHR_materials_clearcoat, KHR_Texture_Transform, KHR_materials_pbrSpecularGlossiness
  • Added GLTFContent.check_extensions_texture_recursively
  • Added GLTFContent.get_node_by_name, GLTFContent.get_material_index_by_name
  • Added GLTFContent.add_material, GLTFContent.add_texture, GLTFContent.add_image
  • Added pluggable Brep support with compas.geometry.brep.
  • Added Rhino Brep plugin in compas_rhino.geometry.brep.
  • Added boolean operations to the compas_rhino Brep backend.
  • Added boolean operation operator overloads in compas.geometry.Brep
  • Added format task using black formatter.
  • Added a test_intersection_circle_circle_xy in the test_intersections
  • Added split operation to compas_rhino.geometry.Brep.
  • Added a RhinoArtist in compas_rhino.
  • Added a RhinoArtist in compas_ghpython.

Changed

  • Based all gltf data classes on BaseGLTFDataClass
  • Fixed Color.__get___ AttributeError.
  • Fixed RhinoSurface.curvature_at not returning a Vector, but a Rhino SurfaceCurvature class object
  • Fixed cylinder_to_rhino conversion to match compas.geometry.Cylinder location.
  • Changed identification of cylinder brep face to non-zero in compas_rhino.conversions.cylinder.Cylinder.
  • Changed linter to black.
  • Automatically trigger invoke format during invoke release.
  • Fixed bug in intersections.intersection_circle_circle_xy where the Circle's Plane was accessed instead of the centre.
  • Fixed bug in _core.tangent where the Circle's Plane was accessed instead of the centre.
  • Fixed the test_tangent to work with a properly defined circle
  • RhinoBrep serialization works now with surface types other than NURBS.
  • Fixed bug in finding halfedge before a given halfedge if that halfedge is on the boundary (Mesh.halfedge_before).
  • Renamed Brep.from_brep to Brep.from_native.

Removed

COMPAS 1.16.0

20 Jun 11:05
Compare
Choose a tag to compare
v1.16.0

Bump version: 1.15.1 → 1.16.0

COMPAS 1.15.1

28 Mar 11:35
Compare
Choose a tag to compare

Added

  • Added optional triangulated flag to Mesh.to_vertices_and_faces.
  • Added geometry information of active meshes to the serialization/deserialization of robot model's MeshDescriptor.
  • Added Grasshopper component to draw any COMPAS object.
  • Added new icons to Grasshopper components and default to icon style.

Changed

  • Fixed bug in Blender mesh conversion.
  • Changed Rhino plugin installer to check for and install required plugin packages.
  • Refactor robot model artists to use the same Mesh.to_vertices_and_faces everywhere.
  • Fix debug print on Blender artist.

Removed