Releases: compas-dev/compas
COMPAS 1.6.3
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 oncompas.datastructures.Mesh
andcompas.datastructures.Network
. - Fixed
compas.data.Data.to_jsonstring
. - Changed
compas.data.Data.data.setter
to raiseNotImplementedError
. - 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
Added
Changed
Removed
COMPAS 1.6.1
Added
Changed
Removed
COMPAS 1.5.0
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 tocompas.json_dump
andcompas.json_dumps
. - Added
compas.data.Data
as base object for all data objects (geometry, data structures, ...).
Changed
- Moved
compas.utilities.DataEncoder
tocompas.data
. - Moved
compas.utilities.DataDecoder
tocompas.data
. - Changed base object of
compas.datastructures.Datastructure
tocompas.data.Data
. - Changed base object of
compas.geometry.Primitive
tocompas.data.Data
. - Renamed
Base
toData
for all data based classes. - Fixed calculation of triangle normals.
- Fixed calculation of triangle areas.
Removed
COMPAS 1.4.0
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
Added
- Added a
invert
andinverted
methodcompas.geometry.Vector
. - Added unetary
__neg__
operator forcompas.geometry.Vector
. - Added
compas.robots.Configuration
, moved fromcompas_fab
.
Changed
- Fixed rhino packages installation to remove duplicates
Removed
COMPAS 1.2.1
Added
Changed
Removed
- Fixed API removals from 1.0.0 -> 1.2.0
COMPAS 1.2.0
Added
- Added
divide_polyline
,divide_polyline_by_length
,Polyline.split_at_corners
andPolyline.tangent_at_point_on_polyline
. - Added the magic method
__str__
tocompas.geoemetry.Transformation
. - Added
redraw
flag to thecompas_rhino
methodsdelete_object
,delete_objects
andpurge_objects
. - Added the
__eq__
method forcompas.geometry.Circle
andcompas.geometry.Line
. - Added support for Pylance through static API definitions.
- Added
halfedge_strip
method tocompas.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
andcompas.geometry.Polygon
. - Fixed very minor bugs in
compas.geometry.Frame
andcompas.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
tocompas_rhino.objects.inspectors
. - Changed
compas_rhino.objects.select
tocompas_rhino.objects._select
. - Changed
compas_rhino.objects.modify
tocompas_rhino.objects._modify
.
Removed
COMPAS 1.1.0
Added
- Added
RobotModel.remove_link
,RobotModel.remove_joint
,RobotModel.to_urdf_string
, andRobotModel.ensure_geometry
. - Added Blender Python-example to the documentation section: Tutorials -> Robots
- Added
compas_blender.unload_modules
. - Added
after_rhino_install
andafter_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 methodMesh.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
functionsdraw_visual
anddraw_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 acollection
-parameter instead of alayer
-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
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.