I want to print a solid of constant width, and I have defined its shape as trios of math equations in two variables: X(u, v), Y(u, v), and Z(u, v). The equations also have two radius parameters, a and h, that determine the specific shape of the surface generated by the equations.

Is there software that will let me define the vertices of a 3D object with parametric equations, dynamically creating/removing/adjusting-the-positions-of vertices as I change the step size of u and v (determining the total number of vertices) and the values of the parameters a and h (adjusting the positions of the vertices), and export the resulting object as a 3D file to be imported into slicing software?

Blender has XYZ Math Surface, which will create an object from three functions; but once created it is entirely static, and the parameters cannot be adjusted without deleting the object and starting over. GeoGebra will create 3D surfaces and export them as STL files, but doesn't allow choosing the step size and thus vertex count. Are there any good alternatives?

  • $\begingroup$ Why is a static object that needs to be deleted and recreated not an acceptable solution? I ask because that comment about Blender's math surface suggests something about your workflow which may be very applicable to your answers. $\endgroup$
    – Cort Ammon
    Jan 29 at 23:39
  • $\begingroup$ @CortAmmon I want to be able to fiddle with parameters to see what looks best before printing, and Blender's implementation of Math Surfaces is not at all geared towards experimentation. Off the topic of 3D printing, I'd also like to create an animation of one specific shape parameter varying over time (not one that affects vertex number/connections), which in Blender would require making a separate copy of the shape for every single frame of the animation. $\endgroup$
    – Lawton
    Jan 30 at 2:48

1 Answer 1


The first thing that came to mind was:

  • OpenSCAD: A script-based 3D modeling tool ideal for creating models with mathematical descriptions.

Two other possible candidates are:

  • Mathematica

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .