All for one and once and for all? Display States in SW2008
The inspiration for this post came from a question a friend asked me about an alternative way to have a component in an assembly display in different colors, without using a configuration for each of the colors. He complained that the assembly was growing large in size due to all the different configurations. I suggested he used Display States, instead, since I remembered I had done something similar in the past, although I wasn’t exactly sure if it would produce a smaller file or not. So, I decided to try it myself using an assembly I had just created in SolidWorks 2008. As it happens very often to me these days, while doing this I stumbled on something else that has changed since 2007.
As it turns out, Display States are no longer exclusive of a particular configuration. What does this mean? Well, in SW2007, every configuration had its own display states, that could be copied from one configuration to the other, but not exactly shared. In the past, whenever you created a new configuration, a new and unique Display State was assigned to it by default. In SolidWorks 2008, you can choose not to link the different Display States to any configuration in particular, which means they can be shared by all configurations in the assembly. Why is this useful? Well, if you think about it, a Display State allows you to define different combinations of settings for the appearance of the components in your assembly: color, transparency, display mode, texture, whether the component is hidden or showing, and RealView options, in case the RealView Graphics is on. This means that, for instance, you can define a Display State in which all similar components are hidden or transparent or a certain color or texture. If you have configurations that use all the same components and these components only change in size or position, then you may very well benefit from creating Display States that apply to all configurations. You create it once and it’s good for all!
So, how do you get started? Well, first of all, go to the Configuration Manager and there you will see the configurations on the top section and the display states on the bottom section. Right click on an empty area of the Display States section and select Add Display State from the menu.
You can add as many Displays States as you need this way. Notice the option at the very bottom of the Configuration Manager. It gives you the option of linking the Display State to the active configuration or leaving the Display States unlinked, thus accessible to all configurations in the assembly. I created three Display States for my assembly. At this point I had only one configuration, so it made no difference whether I chose to link the Display States or not.
Next, you can define the combination of settings for each of the Display States you just created by going back to the Feature Manager and showing the Display Pane (click on the >> that shows at the top right corner of the Feature Manager). Clicking on the icons that appear in the Display Pane for each component allows you modify that particular aspect of the appearance for that component in the assembly, for the active Display State. Here, for instance, I’m changing the transparency of one of the pistons.
You can also right click any of the icons in the Display Pane and a fly out menu will show up, giving you access to all the different settings for that particular component. From this menu, you can also add a new display state (Add Display State), rename the current display state, or change the current Display State, by clicking on Activate Display State and choosing a different one from the list.
If you have RealView Graphics on, clicking on RVAppearance allows you to change the PhotoWorks appearance, color and even transparency of your component.
As I said before, for my assembly, I created three Display States: the first one with no changes at all, the second one where all the instances of Piston were colored blue, and the third one, where all the instances of Piston were made transparent.
At this point, I had only one configuration for the assembly, so I decided to create another two configurations, just to see how the option to link or not link worked like. Notice how, when the Display States are not linked, all the configurations (even those that aren’t active) have the same Display State: the one that is active at the moment. In this case, Display State 2 is active.
Display States can also be driven by a design table, if needed.
As a side note, and to answer my friend’s original question, I did try to do the same by using three configurations, instead of three Display States. One configuration with no changes, one with all the instances of Piston colored blue, and one with all the instances of Piston set to transparent. The resultant file is a little bigger in size than the one that would result from using only one configuration with three Display States. The difference, however, is only of 200 MB or so. I remember reading somewhere in Matt’s SolidWorks Bible that using Display States instead of configurations in order to control the display of parts can actually improve the performance of the assembly, since changing configurations requires reading the model geometry again, plus, as I confirmed, they also take up additional file space and CPU time.











Comments