Volmdlr

Latest version: v0.15.2

Safety actively analyzes 682387 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 6

0.7.0

New Features

- Open/Closed TriangleShells: ability to implement specific algorithm to triangles
- Block: faces_center (calculate directly point in the middle of the faces)
- Circle2D: split_by_line
- BoundingRectangle: bounds, plot, area, center, b_rectangle_intersection, is_inside_b_rectangle, point_belongs, intersection_area, distance_to_b_rectangle, distance_to_point
- Cylinder: random_point_inside, interference_volume_with_other_cylinder, lhs_points_inside
- CylindricalSurface3D: line_intersections, linesegment_intersections, plane_intersection
- Line2D: point_distance
- Line3D: to_2d
- Line3D: skew_to (verifies if two Line3D are skew)
- LineSegment3D: line_interserctions
- ArcEllipse3D: discretization_points
- FullArc3D: linesegment_intersections
- Line: sort_points_along_line
- Line2D: point_belongs
- ArcEllipse2D: length, point_belongs, abscissa, bounding_rectangle, straight_line_area, discretization_points, reverse

Fixed

- Contour2D: point_belongs
- BsplineCurve: abscissa (use different start point between 0 and length)
- Arc3D: plot
- Cylinder: point_belongs
- FullArc3D: plot (use discretization_points instead of discretise)
- Face3D: line_intersections: consider borders
- STL: from stream (use BinaryFile and StringFile instead of io.BinaryIO and FileIO)
- Step: from stream (use BinaryFile instead of io.BinaryIO)
- Contour: is_overlapping (consider intersecting_points is empty)
- LineSegment2D: to_wire (use discretization_points instead of discretise)
- ArcEllipse2D: to_3d
- Fix boolean operations when faces are 100% coincident
- Fix some to_step methods from edges.py and faces.py


Performance improvements

- Avoid unneeded bbox computation


Refactorings

- cleanup of ClosedShell (double methods with Openshells)
- LineSegment3D: intersections
- Line2D: sort_points_along_line



Unittests

- PlaneFace3D: line_intersections
- BsplineCurve: abscissa
- Circle2D: split_by_line
- BoundingRectangle: area, center, intersection, is_inside, point_belongs, intersection_area, distance_to_point, distance_to_b_rectangle
- Cylinder: point_belongs, random_point_inside, interference_volume_with_other_cylinder, min_distance_to_other_cylinder, is_intersecting_other_cylinder, lhs_points_inside
- CylindricalFace3D: linesegment_intersections
- CylindricalSurface3D: line_intersections
- Line3D: line_distance
- Line3D: skew_to
- Line3D: intersections
- LineSegment3D: line_intersections
- LineSegment3D: linesegment_intersections
- Contour: is_overlapping
- LineSegment2D: line_intersections
- ArcEllipse3D: discretization_points
- FullArc3D: linesegment_intersections
- Line2D: sort_points_along_line
- Line3D: sort_points_along_line
- ArcEllipse2D: length, point_belongs, abscissa, bounding_rectangle, straight_line_area, discretization_points, reverse

0.6.1

Changes

- Import from dessia_common are now performed from dessia_common.core

Fixed
- infinite primitive offset of linesegment

0.6.0

New Features

- Stl:load_from_file, to_volume_model
- Surface2D: copy (specific method)
- GmshParser: read_file (.msh) and related methods, define_triangular_element_mesh, define_tetrahedron_element_mesh
- Circle2D: primitives (defined with 2 Arc2D)
- Node2D/3D, TriangularElement, QuadrilateralElement2D, TriangularElement3D
- ElementsGroup: nodes, elements_per_node
- Mesh: bounding_rectangle, delete_duplicated_nodes
- PlaneFace3D: cut_by_coincident_face
- Vector2D: to_step
- BSplineCurve2D: to_step
- LineSegment3D: to_bspline_curve
- BSplineCurve3D: from_geomdl_curve
- Surface2D: line_crossings
- Surface2D: from_contour
- BSplineSurface3D: simpifly_surface - verifies if BSplineSurface3D could be a Plane3D
- OpenShell3D: to_step_face_ids
- Contour2D: repair_cut_contour
- Circle2D: cut_by_line

Fixed

- Contour3D: average_center_point (use edge_polygon.points instead of points)
- Contour: edges_order_with_adjacent_contour
- Arc2D: translate_inplace
- Arc2D: point_belongs
- Arc2D: abscissa (consider point2d == arc2d.start/end)
- Arc2D: split (how to choose the interior point)
- Wire: extract_primitives (consider point1 and point2 belong to the same primitive, REMOVE Contour.extract_primitives)
- LineSegment: abcissa (consider point2d == arc2d.start/end)
- Contour2D: cut_by_wire
- Contour2D: point_belongs (bug when contour has only one primitive, like FullArc2D)
- Contour: contours_from_edges
- PlaneFace3D: face_intersections
- Edge: insert_knots_and_mutiplicity
- BSplineCurve3D: from_step
- Surface2D: cut_by_line
- Circle3D: to_step
- ArcEllipse3D.to_2d()
- infinite primitive offset of linesegment
- Contour3D: order_contour.

Performance improvements

- Improve reading STEP files (Faster BSplineCurve3D.look_up_table, Better info when _edges not following eachother_ )
- Improve multiple substractions
- Speedup Contour2D.point_belongs using bounding_rectangle
- Custom to dicts for Shells and primitives inheriting


Refactorings

- Normalize STL methods regarding STEP
- Refacor and update old code in mesh.py
- Define a Parent class 'Triangle' for Triangle2D/3D


Unittests

- Wire: extract_primitives, extract_without_primitives

0.5.0

New Features

- Contour: is_overlapping, is_supperposing
- Point, Edges and Wires: axial_symmetry
- Surface2D: rotation, rotation_inplace
- Wire2D: bsplinecurve_crossings, bsplinecurve_intersections
- Cylinder: min_distance_to_other_cylinder, is_intersecting_other_cylinder
- New point_distance method for Wire3D

Fixed

- Wire3D.babylonjs
- BSplineSurface3D.merge_with (consider overlapping, intersecting surfaces)
- Wire.extract_primitives (consider point1 & point2 belong to the same primitive)
- Wire.extract_without_primitives (consider the primitives’ order to choose the primitives)
- Contour.shared_primitives_with (consider contours sharing a lot of primitives groups)
- Contour2D.contour_intersections (check if the point is not already in the lis)
- Line.is_between_points (consider point1==point2)
- BSplineCurve2D.split (consider point==start/end)
- Contour3D.bounding_box (use _utd_bounding_box to be defined as a property)
- BSplineSurface3D.grid2d_deformed (add more constraints to compute surface deformation)
- BSplineSurface3D.from_cylindrical_faces (consider **kwargs parameters)
- Duplicated methods cleaned
- triangulation of planar faces
- Wire3D: fix Bounding box
- Wire3D: Bounding box
- Arc2D: primitives bad calculation (arc2d)
- Update plotdata in setup.py
- add some fixes pydocstyle

Performance improvements

- Remove Copy param from movement of primitives and add inplace methods
- Improve union operations
- Return the same result type (a boolean) in Contour.is_sharing_primitives_with
- Add hidden attribute _bounding_rectangle for Contour2D
- Add hidden attribute _length for BSplineCurve2D/3D
- Consider different types of primitives in Wire.wire_intersections/wire_crossings
- Add hidden attribute _length for Edge

Refactorings

- Define _eq_ in Contour (to be used for both 2D and 3D)
- Use Grid2D object in different BSplineSurface3D methods (especially: to_2d_with_dimension)
- Define length in LineSegment (to be used for both 2D and 3D)
- Delete diplicated methods (length and point_at_abscissa) from Contour3D (inherit from Wire)
- Define a Parent class 'Bsplinecurve' to mutulize Bsplinecurve2D/3D methods
- Clean duplicated methods
- Define length in LineSegment (to be used for both 2D and 3D)
- Delete diplicated methods (length and point_at_abscissa) from Contour3D (inherit from Wire)
- Define a Parent class 'Bsplinecurve' to mutulize Bsplinecurve2D/3D methods

0.4.0

Fixed
- various fixes in cuts of wires and contours
- Fix of missing face in Union
- following dessia_common v0.7.0

0.3.0

New Features
- Bspline with dimensions
- cut_by_line for Surface2D
- Bspline merge

Fixed
- Various Steps improvement
- Bspline periodicity in step reading
- sewing improvements
- Substraction of shells

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.