volmdlr v0.9.0
·
6127 commits
to master
since this release
New Features
- Unit coversion factor parameter added to the end of the from_step arguments parameter (So we can convert the units correctly)
- SphericalSurface3D: rotation, translation, frame_mapping
- read steps: Identify assemblies in a step file.
- ClosedTriangleShell3D: to_trimesh method
- PointCloud3D: add method shell_distances to compute distances from triangular mesh in PointCloud3D
- BSplineSurface3D: Now the plot method uses u and v curves
- Create .geo and .msh files (Mesh geometries with GMSH)
- RevolutionSurface3D: point3d_to_2d, point2d_to_3d, plot, rectangular_cut, from_step
- RevolutionFace3D
- WiriMixin: from points: general method for Wire3D and 2D and for Contour2D and 3D.
Fixed
- WireMixin: abscissa (add tolerance as parameter)
- OpenRoundedLineSegment2D: deleted discretization_points() so it uses the one from WireMixin.
- Contour2D: moved bounding_rectangle and get_bounding_rectangle to Wire2D.
- BSplineCurve: from_points_interpolation, uses centripedal method for better fitting.
- Conical, Cylindrical and Toroidal Surfaces 3D: fix face_from_contours - bug when step file doesnot follow a standard.
- BSplineSurface3D: debug linesegment2d_to_3d method.
- Parametric operations with BSpline curves.
- OpenTriangleShell3D: fix from_mesh_data method.
- PeriodicalSurface: fix face from contours.
- LineSegment2D.line_intersections: verify if colinear first.
- Cylinder: to_dict, min_distance_to_other_cylinder.
- Step_assemblies: consider when no transformation is needed.
- fix some pydocstyle errors
- Script/step/workflow: Update Workflow, use last version of dessia_common
- fix f string usage
Removed
- edges: remove attributes points from lines & linesegments for performance purpose
Performance improvements
- wires.py's 2D objects: chache bounding_rectangle results
- faces.py's Triangle3D objects: subdescription points and triangles
- EdgeCollection3D: new object for displaying series of edges
- BSplineSurface3D: compile BSplineSurface3D.derivatives
- Contour2D.area(): save area in a cache variable.
- Contour2D.eq(): verify contour length first, when verify if two contours are the same.
- Contour2D.is_inside(): verify first if the area of the contour2 is not smaller that contour 1.
- Disabling pointer in to_dict for most primitives
- Better hash for shells, contours & wires
Refactorings
- Remove usage of deprecated method old_coordinates and new_coordinates
- Indicate 'inplace' methods as deprecated
Documentation
- BoundingBox docstrings
Unittests
- ConicalSurface3D: face_from_contours, bsplinecurve3d_to_2d.
- CompositePrimitive2D: rotation, translation, frame_mapping
- core.py: delete_double_point, step_ids_to_str
- CompositePrimitive3D: plot
- BoundingRectangle: bounds, plot, area, center, b_rectangle_intersection, is_inside_b_rectangle, point_belongs,
intersection_area, distance_to_b_rectangle, distance_to_point - BoundingBox: center, add, to_dict, points, from_bounding_boxes, from_points, to_frame, volume, bbox_intersection,
is_inside_bbox, intersection_volume, distance_to_bbox, point_belongs, distance_to_point, plot - VolumeModel: eq, volume, rotation, translation, frame_mapping, bounding_box, plot
CI
- add spell check to pylint with pyenchant
- make code_pydocstyle more explicit
- limit time effect on master & testing