Skip to content

Project: Form based script parameterization

t-paul edited this page Sep 11, 2014 · 5 revisions

Outline

OpenSCAD uses a scripting language to describe 3D models. The scripts can be parametrized so one generic description can generate a whole class of specific models. This project intends to define a way how to store additional meta data that can be used to automatically generate a user interface to modify the parameters.

Details

There are already some implementations that provide a similar functionality but those do not integrate with OpenSCAD and are not fully Open Source (e.g. Thingiverse Customizer, Sculpteo Customizer). Also it's preferred to use a more general and clearly defined way to specify the needed meta data than using comments inside the script.

Topics that need to be solved

  • Clarify the list of use cases that can be solved with form based parameter input
  • Collect types and properties/restrictions of the various parameters needed
  • Define an official way of specifying these parameters
  • Write a dynamic GUI in OpenSCAD similar to the two existing solutions (this could be done in C++, Qt-JavaScript, or pure HTML using a web view)

Expected Outcome

  • Specification document for the meta data definition
  • Prototype Implementation using the meta data to create a dynamic GUI

Project Properties

Skills

  • Analyze subjects and specify ways to implement
  • Communicate with the community to fine tune requirements
  • C++ or JavaScript/HTML depending on the proposed solution

Difficulty

Medium

Additional Information

Github issue with discussion: https://github.com/openscad/openscad/issues/722

Note that Thingiverse Customizer is probably based on CloudSCAD (https://github.com/tbuser/cloudscad), so we can take some ideas from there.