With the addition of Generation Tasks, DriveWorks has made the move from being the master model push system to one of the only true hybrid design automation systems on the market. Generative modeling, which is the ability to add new SOLIDWORKS features without predefining them in the master model, has been the top request of DriveWorks implementers for years. Let’s take a look at the tools that DriveWorks has provided for the support of generative modeling.
Unknown and Infinite Quantities
One of the ideal goals of generative modeling is to support unknown and infinite quantities. Brute force methods have been the norm in SOLIDWORKS master models in the past. The worst-case scenario is built into the master model, assembling 50 instances of a placeholder, for example, just in case we need that many. In these situations, we end up with 50 sets of instance and model rules. Functions like MyName() and ExtractNumber() helped tremendously by allowing us to use the same generic rule across all 50 rule sets. But this still makes for maintenance concerns and hard-coded limitations.
A few techniques exist in DriveWorks to input unknown and infinite quantities. Child specifications allow us to build a model and other outputs for every time that the user clicks ADD. A specification task exists that allows us to create child specifications silently. Item lists perform the same function as child specifications using a single form instead of a new project to populate a table. Item lists cannot produce outputs the way that child specifications can, but the ADD button can be clicked as often as required. Pipe-delimited lists and arrays can be used in variables and controls. Specification tasks also exist to allow for the dynamic maintenance of tables which can also be used to generate an unknown situation.
With the interface now supporting the capture of fairly unpredictable situations, the missing link lies in the generation of SOLIDWORKS models. This is especially true in situations where we don’t know how many components (for example) will be required. Enter generation tasks. Generation tasks work in a manner similar to specification tasks, but these tasks can be performed before or after the generation of a model or a drawing. The generation tasks can actually interact with a SOLIDWORKS model or drawing as it is being generated. The tasks that every DriveWorks implementer has hoped for are the Insert Component and Insert Mate tasks. This means that you can specify an unknown number of components using child specifications or tables or lists or arrays, then use generation task looping to add as many components as each specific case requires. No instances are required in the master model. In fact, all that is required in the master model are initial mate references.And as with specification tasks, a full API exists to allow the adventurous amongst us to branch out and create our own generation tasks. With an active SOLIDWORKS model or drawing, generation tasks have the ability to create geometry, access mass and section properties, react to reference dimensions, and do just about anything to which the SOLIDWORKS APIs provide access. This also opens the door for the use of SOLIDWORKS add-ins like Simulation and rendering directly through DriveWorks.
The bottom line is that the ability now exists to have DriveWorks drive our SOLIDWORKS master models and drawings along with the ability to create and modify SOLIDWORKS through decisions made at the time of generation. This generative modeling approach provides a flexible platform where control of the unknown and the infinite are no longer on the enhancement list.
Need more help? DriveWorks help is available at docs.driveworkspro.com/topics/ProjectEditorGenerationTasks. Training materials and webinar recordings are available in the DriveWorks portal along with the DriveWorks forums. And you can always contact us to discuss your automation plans and needs.