I remember first time I was introduced to AutoLISP. It was many years ago, but I can still recall how powerful it was to have the ability to run things programmatically inside of CAD systems. Several generation of people used AutoLISP as a platform to develop applications combining sophisticated algorithms together with geometrical capabilities of AutoCAD. But, AutoLISP is gone, although you can find it supported is some AutoCAD clone products. But the demand for geometrical programming in CAD applications is high.
Onshape announced public availability of FeatureScript. The information about FeatureScript was around for few months. If you followed Develop3D Live event, you might have a chance to listen to Jon Hirschtick speaking about FeatureScript in his session. Watch video recording here. FeatureScript is a new programming language that will let you create new features that will look, feel and behave just like Onshape’s built-in features. According to Onshape website, it is the same language Onshape dev team is using to develop Onshape standard features.
In addition to that, Onshape is release an entire a source code of entire library of features. More information about FeatureScript cn be found here.
Adam OHern of Solidsmack posted a great article – Everything you need to know about FeatureScript. If you have limited time, just read this article and watch the following video.
FeatureScript is not a unique thing in CAD world. As Solidsmack article pointed out, other CAD systems have programming languages allowing to make customize graphic output – Macros, Library Features, User Defined features, PowerCopy, etc. After all it is still another proprietary language.
What makes me excited about FeatureScript is that Onshape intent to make custom code to perform as a first class citizen inside of Onshape. Together with releasing an entire source code of library, it is a very positive move.
It made me think about future potential of FeatureScript to connect it to company internal and external data services. With internet, web APIs and cloud services, our ability to run connected application is different comparing to 20 years ago AutoLISP environment. Lot of additional opportunities can come across that can empower future development of data-driven application. Getting information from online catalogs, configurators, standard validation services…. You can add something into my dream list.
Yes, it is still a dream list, because FeatureScript in its first release is limited to Onshape PartStudio and runs in an isolated sandbox inside of your document. Which is an absolutely great thing for security, but can disappoint some developers like me thinking how to connect geometry and data.
The same Solidsmack articles outline what you cannot do with FeatureScript.
First of all, despite having the word “Script” in the name, FeatureScript isn’t really a scripting system, at least not in the traditional desktop sense of the word. It is a script for the creation of features, which have a very limited and specific meaning in Onshape. Specifically, features exist within Part Studios, and help to define the geometry that is generated there.
For example, you cannot write a FeatureScript that creates a Part Studio or an Assembly. Features exist within Part Studios, so they certainly can’t create them. You can’t use FeatureScript to generate a drawing or a rendering. FeatureScript can’t email an administrator via email if Part 12345R6 changes, or run a cost analysis across an entire project. In short, FeatureScript is intended for creating geometric features within a Part Studio, and not much else.
What is my conclusion? FeatureScript is a great tool that can simply your design with Onshape. I’m sure engineers will be provoked by the ability to make their life easier and write a code that can automate some design work. However, the potential of connecting these geometrical programs to external data services is even bigger. It can bring real intelligence into design and empower the future of distributed data-driven manufacturing. Just my thoughts…
Best, Oleg
Want to learn more about PLM? Check out my new PLM Book website.
Disclaimer: I’m co-founder and CEO of openBoM developing cloud based bill of materials and inventory management tool for manufacturing companies, hardware startups and supply chain.