Function parser for OpenSCAD and parametric curve grapher

Function parser for OpenSCAD and parametric curve grapher

Free STL Other
  • 12 views

This model is hosted on Cults3D. Files, images and license details belong to the original creator.

View on Cults3D ↗

Description

One of the OpenSCAD limitations is the inability to pass functions to functions or modules. This library lets you define mathematical functions in a string, using all of the OpenSCAD mathematical operators (and a bit more). This string is then compiled to an optimized representation which can be evaluated fairly quickly. For instance: use ; f = "pow(x,3)*y-x*cos(y)+y"; fc = compileFunction(f); echo(eval(fc, [["x", 12], ["y", -5]])); will evaluate the function at x=12 and y=-5. Parsing the string is not fast, but if you evaluate the compiled function for different variable values, the evaluated function should be fairly fast (in my test, about 10,000 eval()s per second). There are three public functions provided: * compileFunction(f): takes a function string f and returns an optimized compiled representation; the representation is described here: http://www.thingiverse.com/thing:2289738 There may be some bugs in the optimization. If you run into problems, add the optional argument optimize=false. * eval(fc, variables): takes a compiled function fc and evaluates it for the specified parameter values; variables is a vector of [variableName, value] pairs; for instance, [["x",1],["y",2]] * evaluateFunction(expression, variables): use this to evaluate an uncompiled function once; this is a convenience function equivalent to eval(compileFunction(expression,optimize=false),variables); if you are going to evaluate the function more than a couple of times, please compile it once…

About this model

Function parser for OpenSCAD and parametric curve grapher is a free 3D model in the Other category, shared by the Cults3D community. You can download it for 3D printing and reuse it in your own projects under the terms of its original license.

File formats

  • STL — The most common mesh format for 3D printing — ready to slice and print on almost any printer.

The files for this model are hosted on Cults3D. Use the button above to open the original page and download it.

Similar models