Skip to content

volmdlr v0.9.0

Choose a tag to compare

@WirajanDASILVA WirajanDASILVA released this 06 Mar 12:57
· 6127 commits to master since this release
8dd0d33

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