One of the ways that Onshapers like to have fun is to participate in friendly software programming contests. Every summer, we hold a Custom Feature Hackathon, where participants create a valuable (or at least creative) new Onshape feature using FeatureScript.

FeatureScript is a programming language created by Onshape for building and working with 3D parametric models. All the standard features in Onshape (such as Extrude, Fillet, and Helix) are implemented using FeatureScript, which is also publicly available to all users of Onshape. CAD users can now implement modeling functionality that is custom to their businesses.

The hackathon is timed to coincide with the arrival of Onshape’s flock of motivated and enthusiastic summer interns. These exceptionally talented interns are undergraduates with majors in Mechanical, Computer and Electrical Engineering. For many of them, this job is their first exposure to Onshape. Interns bring fresh perspectives and new ideas.

The annual event also gives us an opportunity to see how folks new to Onshape approach FeatureScript.

Group photo of 2019 Onshape hackathon. Participants included (from L to R): Maia Materman, Gabriel Maayan, Manu Patil, Anton Bovin, Paul Premakumar, Hernán Gallegos, Ethan Keller, Kasey Lee, David Charatan, Emilee Reichenbach, Nicholas Wee, Kori Ryter, Jon Sorrells, and Alison Palmer.

2019 hackathon participants included (from L to R): Maia Materman, Gabriel Maayan, Manu Patil, Anton Bovin, Paul Premakumar, Hernán Gallegos, Ethan Keller, Kasey Lee, David Charatan, Emilee Reichenbach, Nicholas Wee, Kori Ryter, Jon Sorrells, and Alison Palmer.

This year, the Onshape Custom Feature Hackathon had 5 entries:

  1. Automagic Pipe-Fitting Feature: Ethan Keller (API Engineer) implemented a feature that automatically determines the right pipe connector to use, based on a selection of pipes. It also displays errors if there are intersections between the standard connector and the pipes.
  2. House Design Feature Set: Kori Ryter (Principal Engineer) and Jon Sorrells (Mobile Team Lead) wrote a set of features to build a floor plan using a “furniture-first” design approach. The layout of the furniture and walkspaces, using “Furniture” features and “Walkspace” features comes first. Then, walls are placed around the furniture and walkspaces, using “Wall” features, to create the building shape and dimensions. This reverses the usual floor plan design process of starting with an exterior house shape and designing furniture layouts to fit the building. Kori is using these features to design a floor plan for the custom house she will be building soon (land prep has started!).
Ethan Keller’s Automagic Pipe-Fitting feature created with FeatureScript.

Ethan Keller’s Automagic Pipe-Fitting feature created with FeatureScript.

2019-August-Blog-PaulP-Onshape’s Custom Feature Hackathon-10

Jon Sorrells and Kori Ryter’s House Design feature set created with FeatureScript.

3. Custom Box Insert: Gabe Maayan (Intern, FeatureScript) built a feature that builds a standing container with custom inserts for board games. Gabe also 3D printed some of the designs.

Screenshot of Gabe Maayan's custom Onshape feature for box inserts that he created in the 2019 Onshape FeatureScript hackathon.

Gabe Maayan’s Custom Box Insert feature created with FeatureScript.

Screen Shot 2019-08-13 at 5.01.42 PM

Some of Gabe’s 3D-printed parts from his Custom Box Insert.

4. 3-Way Profile Extrusion & Intersection: Simon Bass (Intern, Architecture Team) and Hernán Gallegos (Intern, Training Team) explored the idea of creating a 3D shape given three intersecting isometric profiles.

2019-August-Blog-PaulP-Onshape’s Custom Feature Hackathon-11

Simon Bass and Hernán Gallegos’s 3-Way Profile Extrusion & Intersection feature created with FeatureScript.

5. Minecraft Importer : David Charatan (Intern, Modeling Team) and Nick Wee (Intern, Enterprise Team) channeled their love for Minecraft and built a feature that could import shapes from Minecraft and model them in Onshape.

Screenshot of the Minecraft Importer Custom Feature in Onshape created by David Charatan (Intern, Modeling Team) and Nick Wee (Intern, Enterprise Team). The FeatureScript feature imports shapes from Minecraft and models them in Onshape.

David Charatan and Nick Wee’s Minecraft Importer feature created with FeatureScript.

At the end of the hackathon, Onshapers voted for their favorite designs. The winners were Ethan’s Automagic Pipe-Fitting feature and Kori and Jon’s house design feature.

Photo of Onshape engineers Ethan Keller, Jon Sorrells and Kori Ryter wearing their winner's medals for winning Onshape's 2019 Custom Feature Hackathon.

HACKATHON WINNERS: (Left to Right) Onshape engineers Ethan Keller, Jon Sorrells and Kori Ryter.

Of course, the medals were also designed with Onshape and 3D printed.

While this contest was meant to be fun, it also demonstrated the power of FeatureScript. Onshape users can create highly customized features for their company’s own specialized needs or to share with whomever they designate. And these features are first-class citizens just like the built-in features in Onshape – not tacked-on, limited-functionally macros as in other systems.

Interested in learning more about creating custom features in Onshape with FeatureScript? Click here.