JSketcher is developed By Autodrop3d with the goal of providing general purpose mechanical part 3d modeling capabilities via the web browser.
JSketcher uses a Javascript-based constraint and sketching engine to build 2D geometry that can be consumed by 3d operations.
The feature history metaphor is used to allow modifying existing features and propagating changes forward.
New part features are created in a standardized way by implementing a data model that drives the automatic creation of feature dialog wizards. From this data model, a series of UI widgets are produced in the dialogs for value input, selection of 3D elements and specification of boolean operations. By using this data model-driven UI toolkit new features can be developed rapidly.
The feature history allows for the evaluation of geometry from before and after a feature is applied to propagate IDs from sketches to edges to faces. This results in stable features that are robust and resistant to failure because of changes made to earlier geometry.
JSketcher has been under active development since 2016 and has been using OpenCASCADE since 2019.
Q. Can JSketcher support assemblies?
A. Not at this time but it is on the list.
Q. Can JSketcher work with STEP files?
A. Yes. APIs to import and export STEP files are provided.
Q. Are external code contributions accepted?
A. Yes. The Source code is available on github and pull requests can be created.
Q. Is commercial use of the JSketcher software permitted?
A. JSketcher is released under an OpenSource and Commercial dual licence.
The open source licence requires that any changes made be shared back with the JSketcher project and does not permit integration into non open systems.
The commercial license permits use in closed source applications.