How to Create a parabola in a CAD drawing?

How to create a parabola in a CAD drawing for extrusion etc? Need a .STEP file ultimately. OpenScad would be optimal.

I tried this in fusion 360: https://www.reddit.com/r/Fusion360/comments/ejg226/accurate_parabolas_in_fusion_360/ But I could not figure out how to do the first step: "Create design parameters for your focus and radius."

  • $\begingroup$ This is going to depend on the CAD tool, so you may wish to edit your title to say you're using Fusion 360. Personally, I'd start by seeing if my CAD program supported splines. Then I'd see if they document it well enough that I could just drop down some points such that the generated spline was a parabola (i.e., if the tool only supports 3rd-order parabolas and I can specify endpoints that are unconstrained in slope, then I could find a formula to go from a parabola to four points -- then I could drop those four points and draw the parabola as a spline). $\endgroup$
    – TimWescott
    Mar 2 at 23:58
  • $\begingroup$ Open SCAD and step seems to be diametriically opposite problems. $\endgroup$
    – joojaa
    Mar 5 at 7:34

1 Answer 1


Here's a bit of code to draw points on a parabola with a sphere at each point computed on the parabola:

module parabola(left, right, steps, thickness = 0.3) {
    for (x = [left : (right-left)/steps : right]) 
        translate([x, x*x, 0]) sphere(thickness);

parabola(-5, 5, 200);

Produces a result like this:

enter image description here

If you want the points connected by "lines", you can (for example) draw a hull from each sphere to the next, something on this order:

hull() {
   translate(first_point) sphere(line_thickness);
   translate(second_point) sphere(line_thickness);

...but OpenSCAD doesn't have a "line" primitive, so you can't just draw a line from one point to the next.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.