null

Customize Your CAD With FeatureScript

May 16, 2023
Premier Custom Built used FeatureScript to consolidate specs and craftsmanship all inside of Onshape. In doing so, they drastically improved knowledge transfer.
Download the slides here.

00:00 Hi, and thank you for choosing to attend this presentation. Customize your CAD with feature script. Today we're going to be talking about how Onshape can make it possible to digitally transform your business with feature script. You'll hear how your business can be equipped to let more people focus on the tasks that they love doing. And this. This is going to skyrocket efficiency and also attract new talent. Before we begin, it's important to ask yourself the question Should I customize my cad? And I think we can answer this question with a series of questions.

00:31 Questions like, do you find yourself performing repetitive tasks? Do you do the same sequence of features several times in a row? Do you wish your processes were part of your CAD system? Are there specifications that need to be cross referenced when you're designing? Are there business rules that need to be remembered? Do you find yourself wanting to speed up the reviewing and revision process? Do you want live access to the data pertaining to the model at all times? Do you want a compiled and streamlined interpretation of that data?

01:03 Or maybe you wish a feature worked a little bit differently. Do you have standard features that you use often that you just want a little extra functionality? Or maybe you want altered and altered user interface that fits your company better and is a little easier to read. Or maybe you want to optimize your onboarding process. Does it take a long time for new talent to catch up to your process or to your design documents? Our new hire is being given a stack of papers to study.

01:33 I'd ask for a show of hands if anybody said yes to these questions, but I feel like everyone said yes at least once. And if you have, this presentation is for you. Today I'll be sharing some practical tips about how you can decrease opportunities for human error, accelerate onboarding and reduce non-design related activities. I'll be showing you real stories and real examples from Premier Custom Built that shows how we've customized our CAD. And this has changed the way that we engineer,

02:04 and it's also prepared us for future innovation. But before we get started, a little bit of background. My name's Chad Stoltzfus. I am a software engineer at Premier Custom Built. I started working with Onshape back in 2018 with some of the lovely people here in this room. And before I before that, I had no experience working in CAD at all. I came from a software development background But, you know, I worked since then as a full time feature script developer.

02:34 At Premiere, I have designed a framework of over 100 custom features, creating this kind of Lego set that we use to build cabinetry. And I've also helped to design engineering workflows using those custom features. And this involves making key decisions about how we harness these custom features to standardize and speed up our design process. I'm also an Onshape ambassador. I've been asked to speak at user groups and Onshape modern design alliances and I'm curious how many in the room are Onshape users? Show of hands for that.

03:04 Okay, So you may have heard me speak before about topics like Agile, product design, advanced Onshape Tips, and of course, customizing your cat. At Premiere Custom Built. We pride ourselves on being industry leaders in serving the most talented, experienced and highly respected design professionals in the cabinet and millwork industry. We specialize in making highly custom cabinetry, taking on any design that our creative partners can envision, and we engineer all of this to order. We want to be a.

03:34 Leading contributor to excellence in the industry, and we do that by preserving the craft, delivering on engineering solutions and innovating on the product and processes created at Premier. And I like to represent these with these three pillars here of manufacturing, engineering and technology. And we kind of use all of these in tandem to continue to innovate our product. So today's goal is to powerfully capture the expert knowledge that your business needs. I want to show how feature script can be used to do this.

04:05 What I love to see all of you leave here today with is a feeling of encouragement to explore and invest in the opportunities that feature script offers. I believe companies are missing out on the power that feature script offers, and there are opportunities to increase efficiency, bring generations of workers together and so much more. This is a journey that we at Premier Custom Built have walked through. It was a little challenging for us because we're rooted in tradition. The cabinet industry is a very traditional industry. We premier pride ourselves on the 30 years of Cabinet cabinet making experience

04:39 and the craftsmanship that we have. That being said, the high end custom cabinet industry is a little behind on some of the rapidly changing innovations and technology solutions that are becoming available. But our designers, the customers that we work with, are creative and forward thinking, and their expectations continue to rise each year. And that's why we're taking steps to planting seeds of innovation. We asked ourselves, how could we find a solution that preserves our craft, embraces modern engineering practices, and also makes us more agile than before?

05:11 Five years ago, when we first started looking for a different CAD system, we knew after several investigations that most CAD systems fell short of our aspirations. We needed a CAD system that was as custom as we were, but we didn't want to lose years of Cabinetmaking experience in that migration, so we needed to powerfully capture expert knowledge. Expert knowledge in the context of today's presentation is referring to the accumulation of information through experience of a professional,

05:41 usually one that's advanced in their career. This can include things like product data, manufacturing, work instructions, and it's something that's inherently generated by the design process. If we look at the lens of a product's life cycle, each time you're creating a product, you're generating expert knowledge, which means that if you don't capture that, you're also losing expert knowledge with each new product. And an environment where expert knowledge is not fed back into the process, you might find yourself with something like this.

06:12 During the course of a product's life cycle, engineering and production will learn ways to further refine their processes. Especially from companies like Premiere, where we develop high end custom solutions and pull from that experience often. Sometimes we will actually fairly often we create designs that we've never seen before. So we come up with new ways to approach that. This usually results with expert knowledge being generated through the creation of a product, and then once that's done, it might be stuck in someone's head or maybe on a piece of paper

06:43 on someone's bench. And if someone does take the time to document it, well then that might be a painstakingly long process. Or finding that expert knowledge might be a wild goose chase in and of itself. This is represented by the funnel where the knowledge from engineering kind of drips into production, and then that ends up with that expert knowledge down at the bottom. As I was saying, the issue can be depending on if it's captured or not. It can be difficult time consuming to document,

07:14 and there are countless instances of companies losing time to engineers trying to find the correct information. There are complex PDM systems and related documents. With the journey, you can go on to find expert knowledge. It can feel like an excerpt from some Sherlock Holmes novel trying to solve the great mystery. So we tried to think of a way we can integrate expert knowledge into our process. But what we found instead was to use technology and wrap our process around expert knowledge.

07:44 By adding technology into the picture, we're able to capture and impart that expert knowledge before it walks out the door. The three pillars of our business now form this circle revolving around expert knowledge, not only speeding up the design process, but also helping to reduce opportunities for human error. We could just add several other pieces of technology to the diagram on the left. But instead we get to create, update and access our information in one place, giving us a single source of truth, no cross referencing,

08:14 no hunting down copies or the owner of the specification and no questioning if the current file that someone's using is the most up to date one. The technology component that I'm referring to in that circle, it does involve some other solutions in the background, but the foundation for much of that is with feature script. So I saw a couple of you are Onshape users, but for those of you who aren't, you might not be familiar with feature script. Actually, some of you are Onshape users might not know what it can do.

08:46 And so what is feature script? Feature script is a programing language that is the backbone of Onshape. All of Onshape standard features are written in feature script. This is not some language that's superimposed on top of Onshape. It's the essence of Onshape. Feature script can be used to create custom features. These custom features are first class citizens, meaning they get the same treatment in the feature tree as any other feature you use in Onshape. You can suppress these features. They're all fully parametric and you can interact with them using the rollback bar.

09:18 These are also not just macros or UI automation. You don't record anything and then just put that as a custom feature at the top. Cut feature script can also be used for a couple of other applications things like custom tables, computed part properties, custom workflows. I won't spend too much time on that today, as I'll be talking about at the end. I feel like I'm only scratching the surface today, but let's take a look at some real examples how we at Premiere Custom Built have used feature script to capture and harness expert knowledge and

09:48 the three ways in which we've benefited from feature script. One of the first and most obvious gains we can achieve with feature script is to decrease modeling time. Now, I said earlier that custom features are not simply macros, but you can get similar benefits with a custom feature too. What you might achieve from a macro condensing several features into one. With feature scripts, you can take repetitive tasks and turn them into interactive. Interactive experiences. With feature scripts, we're able to create custom features that allow us to quickly

10:21 insert parts into a product like a partition. Things like a custom UI, a custom user experience and custom functionality. Allow our users to more quickly insert parts with terminology that's familiar to them, making features easier to understand. And this allows our engineers to, instead of focusing on learning this complex CAD system, they can focus more on the design than learning a bunch of new tools. With these custom features, we're able to intuitively guide our users through said

10:52 features. It feels natural and integrated with Onshape environment. And we're also able to continuously improve on these. The partition feature has been improved on several times and we actually kind of have a bit of a feedback loop going on in Premier where we feed these features to our engineers. They give us pretty immediate feedback and we're able to closely work with them to improve on that. In these iterative improvements, we're able to highlight how our custom features can capture expert knowledge and be reused for future projects.

11:23 Here's an example of how a custom feature can be used to generate dynamic parts. And let's I'll play a quick video here to show it, but before then it goes a little fast. So what you'll see in here is we're going to select some bounding faces to insert a partition into a cabinet. We will then set the position of that partition by selecting a face to offset. And you'll also see that we don't just insert parts, but we can also insert parts that has an impact on surrounding parts.

11:57 So here we are selecting some of the bounding faces. We're selecting an offset. And then we're going to center the partition. Just as another example of ways we can move it around and then we can just click a checkbox, click on a part, and now it's splitting the back at the location of that partition. We're also highlighting here how, just like any other feature in Onshape, you can go back and make changes. Here we can change the thickness of the partition and you'll notice that the shelves near that partition are adjusting to that.

12:29 I don't have to go and edit several features. I can just edit one. This is a small window into how we've created frameworks that allow our features to communicate with each other via attributes. For example, this partition feature automatically cuts those shelves and it actually knows if it's intersecting with a shelf or with a floor, and it will respond differently depending on what it finds itself crossing with. Using custom features powered by feature script, we're not only speeding up the time it takes for us to create parts,

12:59 but changing those parts becomes much more efficient, as demonstrated by changing the thickness of that partition. And we're also just able to make this so much easier to read, so much easier to understand. If I want to change something about the partition feature, I just go into the partition feature. And so going back through the feature tree can be a lot less time consuming. The second benefit we gain from using feature script is eliminating non design related activities. I think we all want to be as efficient as possible,

13:32 but we also want to spend time doing the job that we love designing and innovating products. Unfortunately, that's not what we always end up spending our time on. Last year, Onshape released a report on the state of product development and hardware design. In this report, they identified several pain points engineers are encountering in the modern world of product design. One of the common frustrations engineers encounter is difficulty in locating, accessing and communicating the correct CAD information.

14:03 On average, Onshape found that 12.3 hours a week were consumed by these non design related activities. Let's think about that for a minute. 12.3 hours a week. At Premiere, we deal with high end custom product and we needed a way to drastically reduce the amount of time it took to find the correct information pertaining to that product. Our engineers have deep knowledge of our product and they need to know how these parts can fit together in certain situations we may

14:33 not have encountered before. This can have them cross referencing several design documents and several locations at varying degrees of completion accuracy, location sometimes. And sometimes these can be physical documents. When we want to add a rollout shelf into a cabinet, we have 16 different depths that can be used, and the depth of that is determined by the interior interior cabinet depth. Before we had a sheet printed out with all 16 depth specifications at each engineer's

15:08 desk and those who didn't have it, we might have a new talent. They would have to consult an online product manual. Already we have two separate places where the specification is being defined. So if one updates. Well, you better make sure that the online product manual is updated. You better make sure that each engineer has printed out a new sheet with custom features. We are now building these business rules directly into the tools that our engineers are using. All of this logic is built into our custom features that insert drawer boxes in our

15:43 ad roll out shelf feature. The user simply needs to select the bounding faces of the cabinet interior and the feature calculates the depth needed. A short video showing this. After we've created these roll out shelves, we then have a set of parts that is adaptive to the changes in the Cabinet depth. So here as we insert the rollout shelf, we'll insert a quantity of three and we can select a draw track.

16:13 And then if we get a side view of this, you'll see that the depth is automatically calculated. Now, if we go in and change the cabinet depth, you can see that the drawer boxes are adjusting with that cabinet depth. This is no longer something that the engineer needs to go and cross reference that sheet with. Not only can we store business rules, but we can also quickly deploy updates to these specifications. In the same feature. We have several options for draw track, which I selected in the previous video.

16:43 This will adjust the size of the blocking to make and also adjust the size of the draw box to make sure it fits within that blocking. Let's say a new track option is released before we'd have to make sure everybody got their new piece of paper. Make sure you update the product manual and if there's any existing work, let's say a draw track actually changes. Well, now we've got to just okay, what do we do? Do we go back and evaluate all the existing jobs and make sure that everyone's up to date? Do we just hope that everybody got the memo? Do we send out a mass email? Now all we have to do is write some quick code.

17:19 So this is. No one, no one's eyes glaze over. This is the only code I'm going to show in detail. But in this video, I'm going to add a new option to this dropdown. So I just go into the code for the rollout shell feature. I'll add a new piece of track called New Track and I'll save the feature. I'll commit it. And then when I go back into the draw box feature, you can see that new track is added in there. This update can be pushed to every user's toolbar in our enterprise without the need

17:51 for any meetings or any emails. We're not just trimming down a CAD system with macros. We're adding an entirely new level to it, which we'll use to powerfully capture that expert knowledge. The third impact that we've seen with custom features is reducing rework and onboarding costs. With a product line that has as much breadth and depth as a high end custom cabinet shop. It was difficult to hire on new talent and to train them on our product.

18:21 It actually ended up that we would commonly send them out to the shop floor for several weeks at a time to really get a feel for our product and a but a large contributor to this lengthy training. If we didn't send them out to the manufacturing floor was scattered information. When I first joined Premier, I needed to learn how a face frame was constructed because I was building the face frame feature. I ended up needing to hunt down several people on the manufacturing floor and in our engineering department before I could have my head wrapped around it. Now, with custom features that have built in business rules,

18:54 we're actually able to speed up the learning process by a significant amount. We now have new talent producing valuable paperwork three times faster than what was possible only two years ago. This is done by putting the training into our tools. One of the ways we've been able to help both new and old talent is by validating the design at every step. Several of our custom features have ways of making sure that the feature was used correctly. In many cases, custom features that have several options

19:28 or geometry selections have alerts in it to make sure an impossible design isn't created. For example, our multi door feature which takes two existing doors and combines them together, has a message that will come up if you attempt to combine mismatching profiles which results in a part that we can't really manufacture. Our profiles have very similar names, so it's very easy to click on the wrong one. Your finger slips, you're having a bad day. You forgot to have your coffee that morning.

19:58 So putting this error in here can save a lot of lost time from a missed click that might not have been caught until review, which can have large consequences in a parametric system if you need to go back and make that change. This kind of quality checker not only prevents mistakes, but it also teaches our new talent how our product is built, and it also pushes them to ask questions earlier. It tells them, guides them what questions they should be asking. We also have quality checkers placed at the end of part studios.

20:28 We have a way of validating and making sure this quality checker is there every time because we have a fairly large complex system of metadata that's being managed on geometry. We need to play some checks to make sure that everything's gone through correctly. This lets us catch things like grain direction, which is seen in this slide. Here the user forgot to assign a grain direction to the right style. Instead of catching this on paperwork or even worse, the manufacturing floor. We have an error message that says, Hey,

20:58 you're missing a green direction on this part . Make sure to go back and add that. Quality checks are helpful for teaching old and new users about our framework, our metadata, our tools. And this is some pretty what's the word I'm looking for? This is some pretty organic training that we're able to impart into our users. A third way. We've been able to reduce rework and onboarding costs is by showing our users real time information. In this video, I'm going to be showing off another custom feature, the shelf feature.

21:31 But I want you all to pay attention to the custom table that I'm going to be pulling out on the right side the shelf feature. It's going to just insert several shelves into the cabinet and the user can select what type of shelves they want. You'll see on the right as I pull up this custom table and as I make changes to this shelf feature that this custom table will update in real time, showing the dimensions of each of the shelves, as well as showing how many shelves are in this cabinet.

22:01 So you'll see, I'll insert some shelves and this custom table will update in real time with all of the information. If I change the quantity of shelves, it'll update. If I change the size of shelves, it'll update. This is a great way to double check that the parts you're creating are created as intended. Again, making sure no typos get through. But it's also helpful for getting the engineer to wrap their head around the entire design at a glance. This is a pretty unique work environment that we've been able to create

22:32 and provide to our engineers, and it's helped in the past to attract new talent. Being able to quickly wrap your head around a design is something that can be a little intimidating for new talent and being able to show them and guide them with these custom tables is very valuable to us. We've shown a lot of capability today and we're about 5 or 6 years into this. But I feel like we're only scratching the surface of what Onshape is capable of. There's many ways to customize your CAD. You can develop custom feature suites like we have.

23:03 You can develop configurations and pair these with feature script. We found that feature script plus configurations equals a recipe for success. You can also use things like computed part properties, you can expand your part metadata. There's a very robust API that Onshape provides to develop custom applications and expand engineering workflows. We have our work cut out for us because we have a lot of plans for all of these and it seems like a lot, but I'm really excited to see what we can all come up with.

23:35 And we're also looking forward to any tools that Onshape is working on that will let us customize our CAD further. So now what? What? What do you all need to go out and do? What would I recommend? There's a number of things you can do to powerfully capture expert knowledge. And here's some of the things that we've done that I would encourage you all to do. First, invest in champions, invest in people that are excited to innovate and excited to try new things, new ways of engineering.

24:06 We heavily invested in both IT and engineering resources, and we encouraged heavy collaboration between those two. We couldn't have done it without that collaboration, and that's something that I would recommend. If you're investing in champions, I would recommend at least one person with a software development background, though I've seen engineers at Premier learn feature script on their own and create very proficient custom features. I would also encourage everyone to identify repetitive tasks.

24:38 This is one of the best ways you can get started in feature script is finding areas in your business that could be automated and feel free to think outside the box. You know? Maybe. Maybe it is several features you want condensed into one, or maybe it's some type of business rule that you can automate and place into a custom feature. And to go. Off of that as well. I would say combining design and documentation is a great way to capture your expert knowledge and your tools. Stop viewing your models and your design documents as separate entities.

25:10 Pursue that single source of truth and eliminate copies of information. This next one's a little tough and we're still guilty of not doing this on some days. But think beyond how we used to do things. I've heard of many examples even today, talking to people in Xtropolis about, Oh well, I just want feature script to make it work a little bit more like another CAD system. We're in a brand new era of design, as Jim Hepplemann was saying this morning, the golden era of product design.

25:40 And we don't have a precedent for many of the tools and things that we're working with or things that we're attempting to do. I would encourage everyone to really brainstorm and come up with your unicorn CAD system. You might be surprised how much of that isn't fantasy. Five years ago, I didn't think we would have a real time bill of material as we're modeling. And yet here we are. And lastly, ask questions. There are a ton of resources available online. The Onshape community is full of like minded people that just want

26:10 the best from their CAD system and the forums. The Onshape forums are a great place to connect with some of those people.

Speed, Agility, Security. Why Compromise?

Speed, Agility, Security. Why Compromise?

Open Bionics Pursues “Heroic” Robotics Mission

Open Bionics Pursues “Heroic” Robotics Mission

Why do Over 3M Users Trust Onshape for Their Design Needs?

Accelerate product development with the power of cloud computing, real-time collaboration tools, and a built-in PDM system – all for the same price as CAD. Get Started
Related Videos
Watch the video PLM Into the Factory Watch the video Integrated Lifecycle for A&D: Agile from Design to Delivery Watch the video Harnessing the Power of ALM: Innovating for the Future With Software-defined Products Watch the video Software Lifecycle Management: Key Strategies for Testing & Validation Watch the video Rising Demand in Manufacturing Software Development and the Transformation by Software-Defined Products Watch the video Comprehensive ALM Solutions – One Vendor Provides All Essential Tools Watch the video ALM and PLM Integration Benefits for Better Product Development