SOLIDWORKS Composer Performance: Generating Outlines
Recently, I was working with a very large SOLIDWORKS Composer file and noticed a delay when exporting a vector file. Upon investigating the process, the step of generating outlines was taking several minutes. To understand why it was taking several minutes, we need to cover some background information on outlines and why they may contribute to decreased performance. We will look at an option to help get that performance back.
Outlines
Outlines are the rendered edges of the models in addition to the shading of the body. They can be the sharp edges of the model as well as a boundary edge between faces, think of a fillet transitioning to a planar face. The following image from Composer shows the outlines in black using the Technical rendering mode with Construction Edges. The Smooth and Flat render modes do not contain outlines.
Outline Calculation
Upon opening a file in Composer, the outlines are calculated when a render mode that displays them is activated. For many files this happens so quickly the user barely notices. As complexity increases, it can take a noticeable amount of time. Notice the “Outline in Progress…” message.
The type of geometry and number of models contribute to the calculation time. The higher the face count and increased complexity, the longer it takes. Another contributor is the selected Outline Style, with Smart Outlines being the most calculation intensive.
Smart Outlines
The Smart Outlines setting automatically calculates a new “edge” centered between the edges of circular fillets. This setting is desirable as it decreases the number of entities in a vector output such as SVG or EPS. The fewer the overall entities, the less processing the vector file requires. For the model show here, the calculation of Smart Outlines takes just under 30 seconds. For larger, more complex files, expect this time to increase.
I do want to clarify that outlines are not calculated every time the render mode, or outline style, is changed. They are calculated upon opening and stored in memory (RAM) until the files is closed. Every time the file is opened, the process repeats.
Write Outlines
So now that we better understand what Outlines are and how they are calculated, what can we do about it? Composer has a setting that can reduce the “overall time” dedicated to calculating outlines when working with files. The setting is: File > Document Properties > Output > Write Outlines.
I used the phrase “overall time” because the outlines must still be calculated one time. There is no way to avoid this. Upon saving the file, the outlines are saved to a file named: product.smgOutlines. Most users save to the SMG file format and will not see this file separately on disk. The next time this file is opened, switching to a mode that uses outlines will be nearly instant, even Smart Outlines.
This setting does have a minor drawback in the file size will increase.
That is a 25% increase in size, which is significant. With storage as inexpensive as it is, I’ll take a larger file for better performance any day. In testing multiple files of various sizes, the size increase was typically between 20-25%.
If your files have a noticeable delay when calculating outlines, give this setting a try. If you find this setting beneficial, make sure you also enable it in the Default Document Properties so new files will use the setting. You have nothing to lose, and you can always turn it off if the file size increase is too much to work with.
Thank you for reading.
Kris Dubuque
Application Engineer Manager
Computer Aided Technology