By Bruce Jenkins, President, Ora Research
Full-cloud CAD pioneer Onshape amped up the power and utility of its software with FeatureScript, a new programming language that lets users create new parametric features that look, feel and behave just like Onshape’s built-in features.
FeatureScript Curve Pattern. Source: Onshape
This is the same language used by Onshape itself to develop all of its software’s current features—Extrude, Fillet, Shell, Loft and the like. Now available as an open language, FeatureScript lets users create their own built-in parametric features in Onshape.
Under the open-source MIT License, Onshape is also sharing the FeatureScript source code for all of its own features, allowing customers to copy, modify or adapt them as they see fit. New features can be created, and existing features edited, in Onshape’s new Feature Studio, a user-friendly development environment with an editor, in-line help and documentation.
Putting the user in control of feature enhancements
By making both FeatureScript and the source code behind its own features public, Onshape is offering what it characterizes as the first truly customizable parametric CAD feature set. We agree with the company’s assessment that its software is the first professional CAD solution to offer this level of customization to its users.
FeatureScript Lighten. Source: Onshape
Onshape Director of FeatureScript Ilya Baran explains, “This is the first time that a professional CAD system has made the implementation of its parametric features open and extensible. In the past, the only way to change your feature toolbar would be to submit an enhancement request to your CAD vendor and wait forever. And most of those requests are never fulfilled. FeatureScript swings the pendulum back and puts you in control.”
Beyond macro scripting: FeatureScript features are “first-class citizens”
Baran continues, “In traditional desktop-installed CAD systems, it is possible to write add-on or macro features, but they are never as good as the built-in ones. FeatureScript offers the first opportunity to create features that are first-class citizens—as much a part of the system as the ones the development team wrote themselves.”
Onshape describes a few of the many possible uses for FeatureScript:
- Creating new high-level parametric features that perform complex or customized geometric modeling tasks. The benefit of such custom features is to let users design their products faster than they could with traditional off-the-shelf features.
- Customizing existing features to suit user preferences for working fast and efficiently—for example, a surface split feature that splits and preserves exactly the pieces that a particular user prefers.
- Combining existing features into one, such as a drafted filleted pocket.
- Filling in some current gaps in CAD functionality, such as a customized extrude option, or a particular type of 3D spline curve fitted through points or driven by an equation.
- Creating surfaces using data from uploaded CSV or other data files.
- Building specialized patterns such as sinusoidal or other unusual pattern geometries with unique per-instance behavior.
- Building a specialized toolkit for an individual company’s specific application needs—for example, custom gears, enclosures or connectors that are used over and over again in the company’s products.
Custom features yield up to 30X productivity gains
Onshape founder Jon Hirschtick observes, “For 30 years, feature-based modeling has relied on a limited set of off-the-shelf features. With FeatureScript, we are ushering in a new era of custom parametrics. Our early adopters have proven that with the ability to use custom features that they write or have others write for them, they’re able to significantly speed up their design process.” Early adopters report that FeatureScript features provide as much as 30-fold productivity gains, according to Onshape.
Pointing to still more potential leverage from the new technology, Hirschtick adds, “Customers who develop new features in FeatureScript are free to do with them as they please. Some may wish to sell them or share them with the community. Others might choose to keep their FeatureScript features proprietary as a competitive advantage.”