Thursday, February 28, 2013

User Feedback: Why CadQuery and not OpenSCAD?

We're still working hard on the beta launch, but in the meantime we've gotten some great feedback from users:

  • We need to be able to import STEP and STL files
  • Its a concern that OpenSCAD modules cannot be used

We're working on file importing, and hope to have  STEP and STL in the first release.

OpenSCAD modules, unfortunately are not on our radar.  Though it is possible, using OpenSCAD modules do not fit our vision for 3D Productivity, for two reasons:

  1. They are very labor intensive to create, requiring many more lines of code than we think should be necessary, and
  2. They run very slowly for complex objects-- too slow, in fact, to be productive for end users.
We understand that a library of components and functions is essential to productivity.  We hope that the user communitity will help build these modules on the CadQuery platform, but we're also commited to making it happen.  Since Parametric Parts can use python scripts, many scripts from FreeCAD and Blender can be relatively easily ported.  Though there are many openSCAD modules, there are many _more_ python scripts out there!


  1. Now that you've created the perfect alternative to OpenSCAD, naturally all new scripts will be written in CADQuery. :)

    However, it seems a shame to not support all the customizable OpenSCAD scripts that are already out there. STL import does help a lot with this for static OpenSCAD scripts, but there's no way to fork/customize them.

  2. Hah! Yes i know! It is possible in the future that i could support SCAD import, because FreeCAD has announced OpenSCAD import. I have not looked into that yet, but it is a possibility.

  3. The OpenSCAD import in FreeCAD does only parse the compiled CSG results. Therefore the result will not be parametric. In addition is will not import a singular shape, but a whole Feature Tree. And of course there are some limitations of OpenCASCADE, for which I have no idea how to work around.
    But if your are fine letting the user change the dimensions in the Thingiverse Customizer and just use the FreeCAD OpenSCAD Importer to convert it into a stupid shape that might be worth adding.