The Ultimate Guide to Working with STEP Files, Part 4: Simplification Techniques for Complex Imported Geometry Imported as Assemblies
This article will examine the optimization tools and techniques available when a STEP file is imported as an assembly.
The previous articles in the Ultimate Guide to Working with STEP Files series covered these topics:
- Selecting the Import Engine available in a standard installation of SOLIDWORKS: Traditional Import Engine (TIE) or 3D Interconnect (3DI).
- Import quality comparison between the two engines.
- Import speed comparison between the two engines.
- Robustness of Design Changes originating from STEP files (comparison between the two engines).
- Correct geometry updates.
- Maintaining edge and face IDs for preserving downstream references, including features related to the existing geometry and mates referring existing geometry (faces and edges).
Both articles contain benchmark data, identify bottlenecks and propose viable workarounds.
- Tools and techniques for identifying differences in geometry, location, and orientation between revised STEP files.
They also contain a list of SPRs you can vote on to significantly improve the functionality of the software.
The Impact of Imported Geometry on Large Assembly Performance
You may be reading this article because you have encountered serious slowdowns when inserting components with complex imported geometry in your assemblies.
Your vendors might send you STEP files of assemblies containing all the components, including little nuts, bolts and washers, required for a whole machine. What you need, however, is usually a simplified model containing more or less the following information:
- The space claim for interference detection, and as an envelope.
- Mounting holes.
- Inlet/Outlet Ports.
- Mass Properties.
- Recognizable shape(s).
You most likely do not need:
- All internal components.
- All internal cavities.
- Labels (especially embossed text).
- Cosmetic threads.
- Cosmetic chamfers.
- A large number of bodies or components (especially surface bodies).
When working with unoptimized imported geometry, users usually report two types of major slowdowns:
- Longer opening times.
- Operational slowdowns and lag after the assembly is opened. These include:
- Lag when rebuilding assembly.
- Assembly requires frequent rebuilds, even though the user has not modified the models.
- Lag when selecting one or more entities in the graphics area of the assembly (edges, faces, planes, etc.).
- Lag when selecting entities in the FeatureManager Tree.
- Lag when dragging components in the assembly.
- Lag when mating components.
- Lag when changing display states.
- Lag when changing configurations.
- Lag when switching model windows (e.g. from assembly to a part, and back to the assembly).
- Long saving time.
While long opening times are the ones easier to measure and report, the operational slowdowns are much more debilitating for the productivity – and your mental wellbeing. Having to wait seconds after every click can be much more frustrating than having to wait five minutes for an assembly to open.
I have witnessed extreme situations where users had to wait from 20 seconds up to one minute after every click on the screen. Adding one coincident mate between two faces took one minute or more. This is what led to the day of only 40 productive minutes, as previously mentioned.
A few years ago, the engineering team from Phil Mauer & Associates, manufacturers of material handling containers and tacking, had this experience. One of their racks (shown below), when on its own as a finished product, is a very “fast” assembly. It opens in seconds and there is no operational lag.
Figure 1. Not a large assembly.
Since all the racks designed by the Phil Mauer team are custom made for a specific product, the assembly starts with one or more instances of the customer model as the referenced component. Such models are received as STEP files with:
- 0.5 GB to more than 1 GB file size per part.
- 8,000 to 20,000 unique surface bodies per part.
- 60,000+ unique appearances per part.
If the referenced model is added to the assembly without being optimized first, the slowdown is so pronounced that the operational lag can be measured in minutes.
Figure 2. Adding one imported geometry component makes this a “Large Assembly.”
Mike Taylor, the product development manager at Phil Mauer and Associates, describes the difference in productivity his team experienced after implementing optimization procedures for models originating from STEP files:
Main Causes of Slowdown
There are multiple factors that could impact performance. They include:
- Number of appearances applied at face level.
- Topological errors.
- Number of graphics-triangles.
- Number of surface bodies.
- Number of solid bodies.
- Number of faces.
- Geometry complexity.
Note that some of these factors are related (e.g. geometry complexity and the number of graphics-triangles).
Import Geometry Optimization – Return on Investment
Even though they experience critical slowdowns when using unoptimized components with imported geometry, many SOLIDWORKS users feel overwhelmed at the perspective of performing geometry optimization or simplification. These excuses are not uncommon:
- “It would take too long.”
- “The model is too complicated to be simplified.”
- “There is no easy way to select what I want to keep and remove the rest.”
In this article, I will present several tools and techniques that could be incorporated in an optimization process. The sequence of using them is based on the rule of diminishing returns. This allows each user to decide how much time should be dedicated to optimizing imported geometry based on how much each component will be used in production.
For example, if a STEP file is used only once in an assembly, the user might spend only ten minutes to apply the first three steps of the simplification process and experience a 60 percent increase in efficiency.
In another case, the model originating from a STEP file will be saved in the Team Library of Parts and will become a base component in most assemblies. In this case it is worth spending a longer time optimizing it to experience a 90 percent increase in efficiency. The whole team would benefit from the work performed by one user.
Importing Options: Assembly Versus Part
As we demonstrated in Part 1: The Battle of Two Import Engines – Quality and Speed, a STEP file containing multiple bodies or multiple components can be imported:
- As a multibody part.
- As an assembly.
Case Study #1 – STEP File Imported as Assembly
While many users like how much easier the file management becomes when using multibody parts, there are certain situations where assemblies are better suited for performance:
- A larger arsenal of advanced selection tools to quickly select, including internal components, small components or components by view.
- Better defeature tools.
- SpeedPak tool.
- Advanced options for Save as Part.
The good is news is that some of these advanced tools can be used in a hybrid method that employs these steps:
- Import as an assembly.
- Select all internal components.
- Delete or supress all internal components.
- Select “small components” based on the user’s criteria.
- Delete or supress small components.
At this point the simplification can continue by selecting one of these three options:
- Save the resulted assembly as a part.
- Defeature the resulted assembly.
- SpeedPak the resulted assembly.
Step #1: Import as an Assembly
To facilitate importing as an assembly, we used the settings shown in Figures 4 and 5.
Figure 4. Select the 3D Interconnect import engine.
Figure 5. Import multiple bodies as parts.
Notice that we did not check the Automatically run Import Diagnostic (Healing) box, because for complex parts or assemblies it would take a long time to run without preliminary preparations.
The imported model is shown in Figure 6.
Figure 6. Imported as assembly.
If you would like to perform a preliminary check to identify topological errors, we recommend using the Check tool. It is very fast and has excellent visual reporting.
Figure 7. Check tool.
Figure 8. Isolate each error for detail information.
At this point we will not heal any errors, to avoid working on components that are not required in the final model.
Step #2 – Select all Internal Components
From the Select dropdown, chose Select Internal Components.
Figure 9. Select internal components.
The definition of an internal component requires no contact with the “outside air.” Even a small hole that allows the “outside” to communicate with the component would disqualify it from being recognized as “internal.”
In this case, 184 components were recognized as internal. You can see them isolated in Figures 10 and 11.
Figure 10. Isolate with transparent option.
Figure 11. Isolate with hidden option.
Step #3: Delete or Suppress All Internal Components
At this time, the user has multiple options:
- Delete all internal components.
- Suppress all internal components.
- Create a simplified configuration where all internal components are suppressed.
In our case study the internal components are suppressed.
Step #4: Select “Small Components” Based on User’s Criteria
From the Select dropdown, chose Select by Size.
Figure 12. Select by Size.
If you check on the dynamic selection box and move the slider or type a percentage size value, you can preview what will be selected. In this case, a five percent percentage factor quickly selects 150 small components that are not needed.
The selected “small components” are isolated in Figure 14.
Step #5: Delete or Suppress Small Components
At this time, the user has multiple options:
- Delete all components identified as “small.”
- Suppress all components identified as “small.”
- Create a simplified configuration where all components identified as “small” are suppressed.
In our case study, the components identified as “small” are suppressed.
So far, in less than a minute we eliminated 334 out of 425 components, a reduction of 80 percent.
The reduction in graphics-triangles, as reported by the Assembly Visualization tool, is 38 percent (from 1,108,833 to 687,267).
Step #6 – Defeature
Let’s take advantage of the new functionality introduced by SOLIDWORKS 2021 and add a defeatured configuration to the assembly.
Select the defeature tool.
Chose the silhouette option for the defeature and select the next arrow.
Going forward, we will select a group of components and apply one of these simplification options:
- Bounding Box. Creates a cuboid bounding box.
- Cylinder. Creates a cylinder derived from the dimensions of a cuboid bounding box.
- Polygon Outline. Creates an extruded polygon that fits around the outline of the selected bodies and components.
- Tight Fit Outline. Creates an extruded body by using the outlines of the selected bodies and components.
- None (Copy Geometry). Creates an exact copy of the selected bodies and components.
Even though it is tempting to create large groups of components, it is more practical to limit the number of components in a group, even though the same simplification method is applied to multiple groups. By using a modular approach, the user can experiment much more easily with various options.
Select the large prismatic components that can be represented as their bounding box and click Apply.
Note that the Bounding Box and Cylinder are the only simplification options that accept surface bodies as input.
Also note that components selected as one group can be merged in one body if they have common faces.
Select the handles and simplify them as cylindrical bodies.
Repeat using these two simplification methods for the components shown in Figures 21 to 23.
Select the switches bodies, and chose Polygon Outline with Multiple Directions.
Select the rest of the bodies and chose Polygon Outline based on the front plane direction.
At any time, the processed bodies can be highlighted to ensure nothing of importance is ignored.
At this time, the user can decide to:
- Keep each component as an individual body.
- Merge all components that are touching.
For this case study, we decided not to merge the bodies.
Select the Next arrow.
In the next screen, the user can choose to:
- Save the result as a new document, with an external reference to the original assembly or with no external references.
- Create a new configuration in the original assembly (SOLIDWORKS 2021 and newer), and either include the top-level reference geometry, or do not include the top-level reference geometry.
- Publish the result to 3D ContentCentral.
- Store the defeature settings for future use.
We wanted to take advantage of the new functionality for creating a defeature configuration.
The result is a simplified model with mostly prismatic or cylindrical faces and no cavities.
Comparing the three assemblies, it is clear that the simplification effort has paid dividends. One way to compare them is by inserting all three in a new assembly and using the assembly visualization tool.
To calculate the loading time for each of the three subassemblies (including their components), we used the SW-Open time as a column criterion in the assembly visualization tool and saved the results to Excel using the indented option.
A screen grab of the Excel spreadsheet reveals the time savings during the loading phase of the assembly.
With the original assembly as a baseline:
- The simplified assembly loads 62 percent faster.
- The defeature assembly loads 83 percent faster.
To compare the initial graphics generation time, we used the Performance Evaluation tool.
Figure 35. Generating graphics – Defeatured.
Figure 36. Generating graphics – Simplified.
Figure 37. Generating graphics – Original.
With the original assembly as a baseline:
- 34 percent time savings to generate the initial graphics data for the simplified assembly.
- 99 percent time savings to generate the initial graphics data for the defeatured assembly.
Alternative Controlled Simplification Technique Using the Defeature Tool
In real life, it is very seldom that components are identified as internal; there is almost always a small opening that makes them communicate with the “outside.” Also, many of these components have topological errors, which generate surface bodies.
In this case, the users need a quick visual method to manually select the components that are required and eliminate the rest. The defeature tool works well in this case.
First, select the defeature tool.
Chose the Silhouette option for the defeature, and select the Next arrow.
Choose None (Copy Geometry) as the simplification method, and manually select all components that are required.
Then, choose how the final result will be saved.
Figure 42. SOLIDWORKS 2020 saving options.
Using the options shown in Figure 42, the result is a multibody part containing 50 bodies.
Alternative Controlled Simplification Technique Using Component Appearances
For some huge assemblies, the defeature tool is too slow in operation. Users can replicate the manual selection with a good visual feedback by applying component-level appearances to the components that must be preserved.
First, select a component and apply the appearance at the component level.
In this case, we will use the yellow color to mark the components to be preserved.
Continue to select all the components that are to be marked for preservation, then click OK.
In the display manager under the appearances tab, select the yellow color appearance.
In this case, because we applied this appearance at the component level, the appearance acts as a selection set. All components that have this appearance are now selected. Remember that these are the components we need preserved. The rest can be deleted or suppressed.
Next, right-click on the graphics area and select Selection Tools, then Invert Selection.
The “undesired” components are automatically selected.
Delete or suppressed the selected components.
User-controlled instant simplification is achieved, shown below.
This article presented several tools and techniques for quickly simplifying models originating from STEP files that are imported as assemblies.
The main takeaway is that SOLIDWORKS has good tools for:
- Diagnosing the causes of slowdowns due to imported geometry.
- Quickly selecting components that are not required in a higher-level assembly based on various criteria, including whether they are internal, or by component size.
- Further simplifying geometry using the defeature tool.
- User-controlled manual simplification using component-level appearances.
Investing a few minutes upfront for optimizing the imported geometry could pay huge dividends in production.
In the next article, we will present the fastest and most effective imported geometry simplification techniques when the STEP file is imported as a multibody part, including tips and tricks for reducing the time needed to heal import errors.
To be continued in Part 5: Simplification Techniques for Complex Imported Geometry Imported as Multibody Parts
About the Author
As an Elite AE and Senior Training and Process Consultant working for Javelin Technologies, Alin Vargatu is a Problem Hunter and Solver, and an avid contributor to the SOLIDWORKS Community. He has presented 25 times at SOLIDWORKS World, once at SLUGME and tens of times at SWUG meetings organized by four different user groups in Canada and one in the United States. Alin is also very active on SOLIDWORKS forums, especially on the Surfacing, Mold Design, Sheet Metal, Assembly Modeling and Weldments sub-fora. His blog and YouTube channel are well known in the SOLIDWORKS Community.