Dynamic Lists are a feature in SOLIDWORKS PDM Professional data cards that allow the choices on one list to be determined by the choices on another list. While Dynamic Lists are exclusive to PDM Professional, similar functionality can be achieved in PDM Standard by using Control Logic and strategic formatting.
![Full SOLIDWORKS PDM Data Card](https://cdn.goengineer.com/full-solidworks-pdm-data-card.jpg?format=webp)
Figure 1: Full Data Card
![How to Create Dynamic Lists in SOLIDWORKS PDM Standard Data Card](https://cdn.goengineer.com/create-dynamic-lists-solidworks-pdm-standard-data-card.png?format=webp)
Figure 2: List Showcase
For example, below is a custom list of materials. Depending on the Material category selected, the user should then be presented with a more detailed choice for the property Material.
Example List:
- Aluminum (MaterialCategory)
- 2024 Alloy (Material)
- 6061 Alloy (Material)
- 7075 Alloy (Material)
- Steel
- AISI 1020
- AISI 304
- Plain Carbon Steel
Procedure
- Log in to the Administration Tool and Local View with admin privileges.
![Log in to the Administration Tool SOLIDWORKS PDM](https://cdn.goengineer.com/creating-dynamic-lists-solidworks-pdm-standard-data-cards.jpg?format=webp)
Figure 3: Admin Permissions
- At minimum, you must be logged into a user account with the following:
- Administrative Permission Can Update Variables
- Folder Permission Can Update Data Card
- Go to the Variables node and right-click > New Variable to create variables for the initial list (MaterialCategory) and dynamically-driven list (Material) controls.
![SOLIDWORKS PDM MaterialCategory Variable](https://cdn.goengineer.com/solidworks-pdm-materailcategory-variable.jpg?format=webp)
Figure 4: MaterialCategory Variable
- The variable MaterialCategory will be the initial list
- This value on the data card is only used to determine which secondary list to show on the data card and thus does not require property mapping to a file.
![Create New Material Variable in SOLIDWORKS PDM](https://cdn.goengineer.com/material-varaible-solidworks-pdm.jpg?format=webp)
Figure 5: Material Variable
- The variable Material is the desired output
- Add CustomProperty mapping as desired. In this example, Material is a property used extensively at the drawing level in the notes and title block.
- Assign Data Card controls.
![Drop List Control Creation in SOLIDWORKS PDM](https://cdn.goengineer.com/droplist-control-creation-solidworks-pdm-part-card.jpg?format=webp)
Figure 6: Drop List Control Creation
- Create a Droplist control for the initial list and assign it to
- Note: A Droplist is preferred over a Dropdown control because you need specific known outputs from this control to create Control Logic later.
![Material Categories Free Text in SOLIDWORKS PDM](https://cdn.goengineer.com/material-categories-free-text-solidworks-part-card.png?format=webp)
Figure 7: Material Categories Free Text
- Use the Free Text Option to add the desired number of overall categories.
- Assign Data Card controls for the first category.
![Create first Material Control in SOLIDWORKS PDM](https://cdn.goengineer.com/create-first-material-control-solidworks-pdm.jpg?format=webp)
Figure 8: Create first Material Control
- Use any list option (Dropdown, Droplist, Combobox, etc.) for the secondary list. For this example, another droplist will also be used.
![Assign Material Variables in SOLIDWORKS PDM Part Card](https://cdn.goengineer.com/assign-materail-variable-solidworks-pdm.jpg?format=webp)
Figure 9: Assign Material Variable
- Assign the Material variable to the list control with the variable dropdown.
![SOLIDWORKS PDM Droplist Properties Material Free Text](https://cdn.goengineer.com/solidworks-pdm-materail-free-text.jpg?format=webp)
Figure 10: Material Free Text]
- Using the free text option, list the values of the first category list (e.g., Aluminum).
![Open Control Logic SOLIDWORKS PDM Card Editor](https://cdn.goengineer.com/open-control-logic-solidworks-pdm.png?format=webp)
Figure 11: Open Control Logic
- Select the Material control and then select Control Logic from either the Menu bar or in the control’s properties.
![Control Logic Setup in SOLIDWORKS PDM](https://cdn.goengineer.com/control-logic-setup-solidworks-pdm.png?format=webp)
Figure 12: Control Logic Setup
- Select Hide for the Action type.
- Select MaterialCategory as the Variable for Comparison.
- Select Text Not Equal To for the Comparison.
- For the Value use the first option in the MaterialCategory list (e.g., Aluminum).
- Select OK to confirm the Control Logic. Note: This logic makes it so that unless the user selects Aluminum for the Material Category first, this field will be invisible to the user.
![SOLIDWORKS PDM Part Card Test](https://cdn.goengineer.com/solidworks-pdm-part-card-test.jpg?format=webp)
Figure 13: Copy and Paste
- Select (left-click), Copy (Ctrl+C), and Paste (Ctrl+V) the completed control for however many categories specified in the initial MaterialCategory control or repeat Steps 3 and 4.
- Select each new control and update the following properties:
![Update Free Text Lists in SOLIDWORKS PDM](https://cdn.goengineer.com/solidworks-pdm-update-free-text-lists.jpg?format=webp)
Figure 14: Update Free Text Lists
- Update the Free Text List for each copied control.
![Update Control Logic in SOLIDWORKS PDM](https://cdn.goengineer.com/update-control-logic-solidworks-pdm.jpg?format=webp)
Figure 15: Update Control Logic
- For Control Logic, keep all parameters the same except for the Value. Update this field for the next material Category for the list it’s for (e.g., Steel, Plastic).
- Test the dynamic lists.
![Arrange Controls in SOLIDWORKS PDM Control Logic Part Card](https://cdn.goengineer.com/arrange-controls-solidworks-pdm-dynamic-list.jpg?format=webp)
Figure 16: Arrange Controls
- Arrange the list controls so that they are easily visible for now and save your changes.
- For added clarity, some labels have been added in this example to help keep track of which control is which and will be removed during cleanup.
![Dummy SOLIDWORKS File SOLIDWORKS PDM Dynamic Lists in Data Cards](https://cdn.goengineer.com/create-dummy-solidworks-file.jpg?format=webp)
Figure 17: Dummy SWx File
- Create a dummy file corresponding to the data card that has the dynamic list.
![Cycle Through Options SOLIDWORKS PDM Dynamic Lists](https://cdn.goengineer.com/cycle-through-list-options-solidworks-pdm.gif)
Figure 18: Cycle Through Options
- Cycle through the options of the primary list. It should behave as shown.
- If something is wrong and the wrong fields are disappearing/not disappearing, check the syntax of the control’s control logic and try again.
- Clean up the controls and create an illusion.
![Clean Up Controls and Create an Illusion in SOLIDWORKS PDM](https://cdn.goengineer.com/positional-control-solidworks-pdm-data-card.jpg?format=webp)
Figure 19: Positional Control
![Multi-Select SOLIDWORKS PDM Dynamic List Creation](https://cdn.goengineer.com/multi-select-solidworks-pdm-dynamic-list-creation.gif)
Figure 20: Multi-Select
- Position one of the “Material” controls in the desired final location of the dynamic list.
- Hold CTRL and multi-select the other list controls.
- Use the glue control to make them all equal size and equal positions.
- All controls will now appear to be “sitting” on each other as a single list.
Considerations
The main downside of this method is that since the Free Text option was used for the “Material” lists, there is no way to mass-update all the controls or update lists across all data cards utilizing this method. The list controls also need to be individually dragged off to the side one by one to be selectable for any updates. While this method does work very cleanly in the end, it is painful in comparison to the native tools in SOLIDWORKS PDM Professional.
Card Lists create easy-to-manage lists of values that are centrally managed from a single source list and are endlessly reusable in multiple data cards. Unlike the method described in this article, once the card list feature is updated with new information, all uses of the card list across multiple data cards are updated automatically.
The Controlled by Variable option for list controls makes it easy to tie lists together without having to configure multiple controls and their control logic. This blog, by Jim Ward, demonstrates how to set dynamically-controlled lists in SOLIDWORKS PDM Professional.
Learn More About SOLIDWORKS PDM
SOLIDWORKS PDM - Implement Working Revisions
How to Hide a Variable in a SOLIDWORKS PDM Data Card, But Keep it Searchable
SOLIDWORKS PDM Data Card Find User Button Control
SOLIDWORKS PDM: Create and Deploy a Local View File
Implementing a Change Form in SOLIDWORKS PDM Professional
VIEW ALL SOLIDWORKS PDM TUTORIALS