Volmdlr: A python volume modeler

Volmdlr is a volume modeler, which is used as a CAD plateform.

It is simple to understand and operate. With it, you can create a lot of 3D Models easily. Check the follow examples to see what you can do with Volmdlr.

Volmdlr uses Babylonjs as a display.

Features

  • A geometrical description of basis objects and primitives built on top: lines, points contours…
  • Computational tools for creating the geometry and to analyse it (area, second moment area, intersections, closest point, distance)
  • FreeCAD binding for exporting in .fcstd, .step, .stl
  • Volmdlr is able to read .step files (WIP)

Galery

Casing

_images/casing.jpg

https://github.com/Dessia-tech/volmdlr/blob/master/scripts/casing.py

A casing is defined by a 2Dcontour formed with the primitive RoundedLineSegment2D. This contour is offset by the casing width.

_images/casing_contours.png

These contours are extruded to form the side shell. A bottom is formed from an extrusion.

Screw holes are placed at equal curvilign distance of the belt.

All the primitives are fused together in a single volume.

Sweep

_images/sweep1.jpg

https://github.com/Dessia-tech/volmdlr/blob/master/scripts/sweep.py

A Sweep is pipes, created with Circle2D/Arc2D which is contained in a Contour2D. You have to create the neutral fiber, i.e., the pipe’s road, with the primitive RoundedLineSegment3D.

_images/sweepMPLPlot.jpg

Polygon

https://github.com/Dessia-tech/volmdlr/blob/master/scripts/polygon2D.py

A polygon is defined out of points. Random points are sampled and the tested whether they are inside or outside of the polygon. They are plotted with the Matplotlib binding MPLPlot with custom style:

  • red if they are outside,
  • blue if they are inside
_images/polygon.jpg

Indices and tables