Skip to content

Release volmdlr v.10.0

Choose a tag to compare

@WirajanDASILVA WirajanDASILVA released this 20 Apr 18:14
· 5423 commits to master since this release
6c209e9

Release Note - Version [0.10.0]

  • Important Note: This release includes breaking changes to many classes' __eq__ and __hash__ methods to have coherent values and for performance improvement purposes. For example, if now you want to verify if two points are equal to a certain tolerance, you should no longer do that using the == operator, but using our method is_close passing in the other point and a tolerance. Also, if you are working with a list of points, and you are using a certain tolerance for considering duplicated points, you can make use of our volmdlr.core.point_in_list function to do so. Other functions have been added to help you work with a list of points. You may check it out in our core module.

New Features:

  • The ability to write .msh files (with stream).
  • Arc now includes the reverse function.
  • BSplineCurve2D now includes the offset function.
  • Circle2D now includes bsplinecurve_intersections and point_distance functions.
  • ConicalSurface3D and CylindricalSurface3D now include the plot method.
  • volmdlr.edge now includes FullArcEllipse.
  • BSplineCurve now includes the evaluate_single function.
  • Wire2 now includes hash.
  • Contour3D now includes hash.
  • LineSegment3D, LineSegment2D, Arc3D, Arc2D, BSpline3D, and BSpline2D now include get_shared_section() and delete_shared_section() functions.
  • Contour2D now includes closest_point_to_point2 and get_furthest_point_to_point2 functions.

Fixed:

  • Bspline in sweep is now fixed.
  • Plane3D now includes plane_intersections.
  • Fixed step assemblies.
  • Fixes to wire.
  • Arc now includes split for when the splitting point is the start or end point.
  • BplineCurve2D now includes tangent, vector_direction, and normal_vector.
  • BSplineCurve now includes abscissa and line_intersections.
  • Important fixes to unittests, including missing two __init__py files.
  • Contour2D and Contour3D now include merge_with().
  • Edge now includes unit_direction_vector and unit_normal_vector as concrete methods.
  • stl now includes _standalone_in_db to Stl class.
  • BSplineSurface3D now includes merge_with.
  • Added an introduction to volmdlr technology to the documentation.
  • BSplineSurface3D now refactors bsplinecurve3d_to_2d to take into account periodic behavior.
  • OpenedRoundedLineSegments2D/ClosedRoundedLineSegments2D now fixes radius type.
  • Surface3D now debugs some special cases while using face_from_contours3d.
  • BSplineSurface3D now fixes simplify_surface method.
  • Improved pylint code quality.

Removed:

  • Default value in from_stream method in stl is now removed.

Changed:

  • Argument convexe in volmdlr.cloud has been renamed to convex.
  • Added some missing docstrings in volmdlr.faces.

Performance Improvements:

  • BSplineCurve now includes the compilation of some functions used by from_points_interpolation classmethod.
  • BSplineSurface3D now includes the compilation of some functions used in the evaluation of a parametric point.
  • Eq and hash methods are now fixed, starting from classes Point and Vector.
  • BSplinecurve2D now includes point_belongs.
  • Some dicts with optional names are now lightened.
  • Step reader now includes a refactor to_volume_model. It removes the dependency of the method of creating a graph.

Refactorings:

  • ContourMixin now includes to_polygon for both 2D and 3D.
  • BSplineCurve2D now includes point_distance.
  • A new dataclass EdgeStyle is now used in several plot methods. It simplifies its structure.

Unittests:

  • BSplineCurve2D now includes offset, point_distance, and point_belongs.
  • Circle2D now includes bspline_intersections and point_distance.
  • Vector2D now includes unittests.
  • Point2D now includes unittests.
  • Vector3D now includes unittests.
  • Point3D now includes unittests.
  • LineSegment3D, LineSegment2D, Arc3D, Arc2D, BSpline3D, and BSpline2D now include get_shared_section() and