Skip to content

Releases: compas-dev/compas

COMPAS 1.6.3

26 May 16:49
Compare
Choose a tag to compare

Added

  • Added compas.topology.astar_lightest_path.
  • Added jsonschema definitions for primitives and transformations.
  • Added schema implementation to primitives and transformations.
  • Added jsonschema implementation to primitives and transformations.
  • Added compas.data.is_int3, compas.data.is_float3, compas_data.is_float4x4.

Changed

  • Extended compas.topology.astar_shortest_path to work on compas.datastructures.Mesh and compas.datastructures.Network.
  • Fixed compas.data.Data.to_jsonstring.
  • Changed compas.data.Data.data.setter to raise NotImplementedError.
  • Changed annotations of compas_blender.artists.BaseArtist.
  • Fixed __repr__ for primitives, shapes, transformations.

Removed

  • Removed duplicate cases from compas.data.DataEncoder.

COMPAS 1.6.2

12 May 14:10
Compare
Choose a tag to compare

Added

Changed

Removed

COMPAS 1.6.1

12 May 13:49
Compare
Choose a tag to compare

Added

Changed

Removed

COMPAS 1.5.0

20 Apr 09:06
Compare
Choose a tag to compare

Added

  • Added support for file-like objects, path strings and URLs to most of the methods previously accepting only file paths, eg. compas.datastructures.Datastructure, compas.json_dump, compas.json_load, etc.
  • Added pretty parameter to compas.json_dump and compas.json_dumps.
  • Added compas.data.Data as base object for all data objects (geometry, data structures, ...).

Changed

  • Moved compas.utilities.DataEncoder to compas.data.
  • Moved compas.utilities.DataDecoder to compas.data.
  • Changed base object of compas.datastructures.Datastructure to compas.data.Data.
  • Changed base object of compas.geometry.Primitive to compas.data.Data.
  • Renamed Base to Data for all data based classes.
  • Fixed calculation of triangle normals.
  • Fixed calculation of triangle areas.

Removed

COMPAS 1.4.0

09 Apr 13:12
Compare
Choose a tag to compare

Added

  • Added Python 3.9 support.
  • Added crease handling to catmull-clark subdivision scheme.
  • Added compas_ghpython.get_grasshopper_userobjects_path to retrieve User Objects target folder.
  • Added direction option for mesh thickening.
  • Added check for closed meshes.
  • Added 'loop' and 'frames' to schemes of compas.datastructures.mesh.subdivision.mesh_subdivide.

Changed

  • Fixed box scaling.
  • Fixed a bug in Polyline.divide_polyline_by_length related to a floating point rounding error.
  • Fixed bug in RobotModel.zero_configuration.
  • Fixed bug in compas.geometry.normals.
  • Fixed bug in compas.datastructures.mesh.subdivision.mesh_subdivide_frames.

Removed

COMPAS 1.3.0

26 Mar 16:11
Compare
Choose a tag to compare

Added

  • Added a invert and inverted method compas.geometry.Vector.
  • Added unetary __neg__ operator for compas.geometry.Vector.
  • Added compas.robots.Configuration, moved from compas_fab.

Changed

  • Fixed rhino packages installation to remove duplicates

Removed

COMPAS 1.2.1

19 Mar 08:37
Compare
Choose a tag to compare

Added

Changed

Removed

  • Fixed API removals from 1.0.0 -> 1.2.0

COMPAS 1.2.0

18 Mar 08:10
Compare
Choose a tag to compare

Added

  • Added divide_polyline, divide_polyline_by_length, Polyline.split_at_corners and Polyline.tangent_at_point_on_polyline.
  • Added the magic method __str__ to compas.geoemetry.Transformation.
  • Added redraw flag to the compas_rhino methods delete_object, delete_objects and purge_objects.
  • Added the __eq__ method for compas.geometry.Circle and compas.geometry.Line.
  • Added support for Pylance through static API definitions.
  • Added halfedge_strip method to compas.datastructures.HalfEdge.

Changed

  • Fixed bug where mimic joints were considered configurable.
  • Fixed bug where != gave incorrect results in Rhino for some compas objects.
  • Fixed bug where compas_rhino.BaseArtist.redraw did not trigger a redraw.
  • Fixed minor bugs in compas.geometry.Polyline and compas.geometry.Polygon.
  • Fixed very minor bugs in compas.geometry.Frame and compas.geometry.Quaternion.
  • Fixed bug in compas_rhino.objects.MeshObject.modify.
  • Fixed bug in compas_rhino.objects.MeshObject.modify_vertices.
  • Fixed bug in compas_rhino.objects.MeshObject.modify_edges.
  • Fixed bug in compas_rhino.objects.MeshObject.modify_faces.
  • Fixed bug in compas_rhino.objects.VolMeshObject.modify.
  • Fixed bug in compas_rhino.objects.VolMeshObject.modify_vertices.
  • Fixed bug in compas_rhino.objects.VolMeshObject.modify_edges.
  • Fixed bug in compas_rhino.objects.VolMeshObject.modify_faces.
  • Fixed bug in compas_rhino.objects.NetworkObject.modify.
  • Fixed bug in compas_rhino.objects.NetworkObject.modify_vertices.
  • Fixed bug in compas_rhino.objects.NetworkObject.modify_edges.
  • Changed compas_rhino.objects.inspect to compas_rhino.objects.inspectors.
  • Changed compas_rhino.objects.select to compas_rhino.objects._select.
  • Changed compas_rhino.objects.modify to compas_rhino.objects._modify.

Removed

COMPAS 1.1.0

12 Feb 17:52
Compare
Choose a tag to compare

Added

  • Added RobotModel.remove_link, RobotModel.remove_joint, RobotModel.to_urdf_string, and RobotModel.ensure_geometry.
  • Added Blender Python-example to the documentation section: Tutorials -> Robots
  • Added compas_blender.unload_modules.
  • Added after_rhino_install and after_rhino_uninstall pluggable interfaces to extend the install/uninstall with arbitrary steps.

Changed

  • Fixed bug in parameter list of function mesh_bounding_box bound as method Mesh.bounding_box.
  • Fixed bug in RobotModel/RobotModelArtist.update which raised an error when the geometry had not been loaded.
  • Changed exception type when subdivide scheme argument is incorrect on mesh_subdivide.
  • The compas_rhino.artist.RobotModelArtist functions draw_visual and draw_collision now return list of newly created Rhino object guids.
  • Added ability of RobotModel.add_link to accept primitives in addition to meshes.
  • Fixed bug regarding the computation of Joint.current_origin.
  • Fixed bug regarding a repeated call to RobotModel.add_joint.
  • Fixed bug in compas_blender.RobotModelArtist.update.
  • Fixed bug in compas.datastructures.mesh_slice_plane.
  • Fixed bug where initialising a compas_blender.artists.Robotmodelartist would create a new collection for each mesh and then also not put the mesh iton the created collection.
  • Changed the initialisation of compas_blender.artists.Robotmodelartist to include a collection-parameter instead of a layer-parameter to be more consistent with Blender's nomenclature.
  • Used a utility function from compas_blender.utilities to create the collection if none exists instead of using a new call to a bpy-method.

Removed

COMPAS 1.0.0

18 Jan 13:44
Compare
Choose a tag to compare

COMPAS is an open source computational framework for research in Architecture, Engineering, Fabrication, and Construction. The goal of COMPAS is to simplify multidisciplinary collaboration in AEFC research, introduce computational rigor and standards in our academic community, encourage sharing and reuse of research results, and facilitate the transfer of state-of-the-art academic developments into practice.

The framework consists of a general-purpose core library, written in pure Python, and a growing collection of extensions that provide easy access to peer-reviewed research, state-of-the-art external libraries such as CGAL, libigl and Triangle, and tools with specialized functionality for AEFC applications such as Abaqus, ANSYS, SOFISTIK, ROS, etc.

COMPAS has dedicated packages for working with Rhino, Grasshopper, and Blender, but it can be used in any environment that supports Python scripting. It is available on PyPI and conda-forge and can be easily installed using popular package managers on multiple platforms.