Database Revision Control (From the Trenches AutoCAD Tutorial)1 Jan, 2007 By: Mark Kelley
Revision Management of Pro/ENGINEER Wildfire databases using model parameters.
Any engineer who has ever ushered a product from its conception through to its release for manufacturing is familiar with the necessity to maintain revision control of their CAD database files. Failure to perform this task can result in a cascading series of mistakes, ranging from discrepancies between part documentation and physical parts to outright failure of the product's functionality.
The ultimate method of CAD database management is to use a software PLM system, such as PTC's Intralink, Windchill products or UGS Solutions Teamcenter. However, this type of tool is often not available to design project teams.
Assuming that no PLM system is available, the task of managing revisions is typically assigned to an actual human being, such as you! A commonly used method is to embed the object revision (part, assembly or drawing) in the actual filename. However, because most modern CAD systems allow for external references between their database objects, this approach can lead to intractable modeling problems, and is a risky approach unless all team members can exercise extremely good discipline to avoid revision-related mistakes.
A far superior approach is to use the model parameter functionality available in Pro/ENGINEER Wildfire. The following Q&A explains the how, and why, of this strategy for managing revision control.
Why should I do it this way?
The concept is to capture the revision of a part or assembly (or, for that matter, a drawing) within the Wildfire database, rather than in the filename. Renaming files often leads to errors in assembly databases, due to re-named components (either parts or sub-assemblies). Generally speaking, the best practice is to rename a Wildfire object only when all of its referencing objects (assemblies, drawings, merge references, etc.) are In-Session. However, when a PLM system is not available, my experience has been that sooner or later a mistake will occur. Therefore, I recommended that you not re-name Wildfire database objects once an assembly has been modeled and documented.
With that idea in mind, the recommended method for tracking revision history is to embed the revision information within the CAD database. In Wildfire, this can be implemented by using model parameters.
What are Wildfire model parameters?
Wildfire model parameters can be thought of as user-defined variables. The model parameters are stored within the CAD database, and you can modify their values as needed. Each Wildfire part, assembly and drawing database has a unique set of parameters; consequently, their management can be tricky unless you have a good grasp of their functionality.
Model parameters have three important attributes: a Name, a Type and a Value. When you create a new parameter, you must specify its type. Wildfire allows for these parameter types: "Integer", "Real Number", "String", and "Yes No", as shown below. Once you create a parameter, you cannot change its type. You must delete it and re-create it, if this is required.
From the Parameters Dialog Box, choose String.
The most commonly used type is String, which lets you assign a text string to the parameter value. Based on ease-of-use criteria, I recommend that String parameters be employed for revision control purposes.
What parameters should I define?
At a minimum, I recommend that you define a Revision and a Description parameter. You can define more parameters at the discretion of the design team. Parameters are often defined for typical purposes: the name of the person who created the database (or last modified it extensively), the description of the object, the material, the cost, the part number, the object revision and a description of what changed since the last revision.
In practice, a company typically will standardize on a set of parameters that match well with their documentation needs and design process. A typical set of model (part & assembly) parameters (with default values) might be as follows:
|MODELER||A. E. Newman|
|DESCRIPTION||Bearing, Muffler, Right|
|WHAT_CHANGED||Changed race diameter to 0.105' for manufacturability|
Similarly, a typical set of drawing parameters might be as follows:
|DRAFTER||G. K. NELSON|
|DESCRIPTION||Drawing, Bearing, Muffler, Right|
It is important that all designers working on the project have their model parameters named consistently. This allows their databases to be interchanged and used in common assemblies, while preserving the standard parameter set-up. This is typically accomplished by embedding standard parameters in your company-standard template databases. Your Wildfire system administrator is typically responsible for defining a common set of parameters and can update the template parts accordingly.
How do I create and modify parameters in Wildfire?
Pro/ENGINEER Wildfire 2.0 introduced a new parameter interface. To display the Parameter dialog box (shown below) and access the parameter functionality, choose Tools / Parameters from the main Wildfire menu.
To edit existing model parameters, simply click in the Value field and type in the new value.
The Parameters dialog box.
To create a new model parameter, click on the green + button in the main Parameters user interface.
Click on the green + symbol to start a new parameter.
Next, click on the Type pop-up menu and change its type to String. Then, click in the Name field and type in the desired parameter name. Finally, click in the Value field and enter the desired string.
Some users may prefer to use the Parameter Properties dialog box. To accomplish this, choose the Properties button, at the bottom right, from the main Parameters user interface dialog box.
To find the Parameter Properties dialog box, click on the Properties button.
To find the Parameter Properties dialog box, click on the Properties button.
Wildfire parameter names are not case-sensitive, and are displayed in all capitals in the Parameters user interface.
If the active object is either a part or a drawing when you open the Parameters dialog box, you may access any of its associated database objects by manipulating the Look In settings.
Use the Look In settings to access a part's associated database objects.
To accomplish this, first change the Look In type filter to the desired object type. Then, use the arrow icon to select the desired object on the screen, or you can use the Wildfire Edit / Find functionality to select it.
There are more exciting functionalities available related to Wildfire parameters but, unfortunately, they are outside the scope of this article!
Are there easier ways to update parameter values?
Why, yes -- of course! The easiest way to update the parameters of an assembly and its components is to take advantage of advanced functionality within the Model Tree. Choose (from the Model Tree menu) Settings / Tree Columns and change the Type pop-up menu to the Model Params menu.
Update the parameters of an assembly in the Model Trees Columns dialog box.
Then, move the desired model parameters from the Not Displayed to the Displayed column using the >> button, as shown below.
I prefer to remove all of the existing columns with the << button in order to simplify the display.
Use the >> button to move the desired model parameters from Not Displayed to the Displayed column.
Once you add the parameters to the assembly Model Tree display, your Wildfire display should appear much like this.
To update a component's parameter, simply click on its row and column in the Model Tree and type in the corrected value. If the parameter doesn't already exist in the Wildfire database, the Parameter Properties dialog box (discussed previously) displays, as shown below.
If the Parameter doesn't exist, the Parameter Properties dialog box appears.
It's now a simple matter to update the parameter values for each component. Once you're finished, regenerate the assembly and be sure to save the assembly database!
It's important to remember that when you change parameters in this fashion, you have modified the Wildfire database of the touched object. For example, if you modify the PART_REV parameter of WIDGET.PRT while working on its parent assembly, the widget's part database is modified. This means that if you do not save this object, you will lose these changes. To avoid this, always save the top-level object database -- the assembly or drawing -- after updating model parameters. This forces any associated modified databases to be saved.
Can I store the Model Tree Parameter settings for future use?
Yes -- you can save the model tree display configuration into a format that lets you retrieve it in the future. Choose Settings / Save Settings File from the Model Tree menu.
Store the model tree parameter for future use by choosing Settings / Save Settings File.
This saves the current configuration of the Model Tree into a file with a ".cfg" suffix. Ask your Wildfire system administrator to put this file in a location where the design team can easily access it in the future.
Now, you may easily update the model parameters of your assembly anytime by using the following procedure:
- Open the top-level assembly in Wildfire.
- Load your saved model tree parameter configuration file by choosing Settings / Open Settings File from the Model Tree menu.
- Modify the desired parameters.
- Save the top-level assembly file.
If you want to get really fancy, you can define a Mapkey with an associated user-interface icon that lets you perform this function with one click. (Well, perhaps two or three clicks may be required, but hey -- consider the alternative!)
Can I create a report of my assembly component parameter information?
It is very simple to save the model parameter information in a text file format. With the top-level assembly open and the desired parameters displayed in the Model Tree, simply choose Settings / Save Model Tree from the Model Tree menu. Type in the desired filename, and choose OK. The resultant text file can easily be imported into a word processor, spreadsheet or other application for manipulation.
Is there anything else required to make all of this work? Yes -- to really make this methodology sing, all of your company-standard Wildfire part templates, assembly templates, drawing templates and formats must be set up correctly. If this is done properly, you can use the model and drawing parameters to automatically populate text fields in the drawing. Additionally, when changes are made to the parameters, the drawing updates automatically.
Nearly every company must work with outside vendors and partners, and, consequently, there inevitably will be some Wildfire models that do not conform to your company standard parameter setup. To enhance designer productivity, system administrators can create Mapkeys or external applications that will facilitate merging the standard parameters into foreign databases.
The details of how to accomplish this are outside the scope of this article, but suffice it to say that the Wildfire system administrator has a bit of work to do -- setting up the drawing templates and formats, plus standardizing the model, assembly and drawing parameters.
Is there anything else I need to consider for managing revisions?
Yes. This scheme of managing revisions does not address the problem of one user over-writing another's work. That task must be done using OS permissions and good designer discipline. However, when the revision control method outlined here is used in conjunction with these practices, the amount of errors caused by confusion over the most current version of CAD databases should be reduced to nearly zero.
All of this seems like quite a lot of work. Why bother?
Four words should suffice here: CAD database revision control. Need I say anything else?
There are other benefits to tracking revisions in this manner, as well. By doing so, you can display parameter information in the title and revision blocks on drawings, increasing designer productivity and enhancing the quality of drawings.
The revision (and other) parameters may be automatically tabulated into assembly BOMs tables, using Pro/REPORT. This capability lets you easily verify part revisions and assembly structure whenever ECNs (Engineering Change Notices) require CAD evaluation and redesign.
Furthermore, it's good design practice to keep the Wildfire BOM and the real manufacturing BOM as closely matched as possible. This means that ECNs that affect the assembly structure should automatically trigger a review of the CAD data, and that any updates will be incorporated into the 3D databases.
Good luck and happy revisioning!