Good efficient assemblies start with good efficient parts. As parts are core elements of large assemblies, they need to be model sensibly and efficiently. Part design always has to start with a plan to model it efficiently, with properly placed reference geometry. One key element when modeling parts is to establish the design intent. Once this is done, you can plan part construction by considering these elements.
- Origin – Where should the origin be? – How does the origin affect the mating of the parts in the assembly?
- Symmetry – Is there symmetry? – If so, how many planes of symmetry? Generally, the origin is on all the planes of symmetry or even less of the part and then either. Using symmetry, you can model half, quarter, or even less of the part and then either mirror or pattern the rest mirror or pattern the rest.
- Features – Decide which elements should get their features in the FeatureManager design tree. Will any features need in-context relationships?
- Configurations – Conﬁgurations can be used to create both the maximum (full detail) and minimum (only the detail needed to mate the part into the assembly) conditions of the part.
- Patterns – Patterns can reduce the amount of work to create the part and can also be used at the assembly level to add fasteners automatically.
- Views – Which view of the model Will be the Front View when detailing? – Will detailing require special views?
- Mating requirements – How will this part be mated in the assembly?
- Properties – What properties need to be attached to the part for accurate assembly weights, BOMs, part callouts and the like?
- Templates – Right template can save time by having repetitive information and proper settings already entered. Consider creating specific templates for different customers.
- Document settings – Document settings will control the speed and ease of the design process. What image quality and display settings will allow us to see the design easily without slowing down?
Plan before modeling to reduce the number of features. Combine features sensibly because you should also consider the need to change the model in the future.
Put the fillets and chamfers at the end and combine them into the minimum number of features consistent with the need to make later changes. You get two benefits by placing these features at the end of the FeatureManager design tree. First, the model rebuilds faster when adding features before the fillets and chamfers. Second, you can easily group the fillets and chamfers into folders to suppress/unsuppress them quickly. Use the Feature Statistics tool to determine which features are slowing the rebuild time to see if they can be suppressed while working on other parts of the model. Feature Freeze Feature Freeze can be used to keep some or all features of a part from rebuilding. This can significantly reduce the rebuild time for complex parts. Setting the Feature Freeze bar at the bottom of the FeatureManager design tree will keep all features from rebuilding and make configuration changes much faster.
FEATURE STATISTICS / PERFORMANCE EVALUATION
The Performance Evaluation / Feature Statistics tool can be invaluable for locating features that take a long time to rebuild. This tool can help determine which features should be suppressed in a simplified configuration.
Creating mates manually is a reasonable method to place the part for parts that are only inserted into an assembly once. However, when parts are used many times, you can save significant time by establishing mate references on the reusable parts.
Patterns can save time when used correctly or slow a model rebuild time if not. The advantage of feature patterns is that they can be used as a source for other patterns at the assembly level (feature—driven patterns). Patterns can also be used as a source to add fasteners to assembly using Smart Fasteners. This has the advantage of faster rebuild times as the pattern controls the position of the fasteners instead of mates.
Avoid patterning on top of other patterns. Instead, make a single pattern with all the features.
Move big patterns as far down the FeatureManager design tree as possible. This allows the other features to be built first and also allows the pattern to be suppressed without worrying about parent/child relationships.
Parts sometimes have inefficiencies caused by adding and deleting features or features added to correct an earlier error while searching for the correct final form. At some point, these inefficiencies should be removed, and the part recreated from scratch. It is usually difficult to decide to rebuild a part from scratch when you are under a tight deadline, but you need to weigh the cost in both time and money of remodeling the part against the potential problems that the model may cause. It certainly takes a ﬁnite amount of time to remodel the part, but usually not as long as you think because you know exactly what the final model will look like. With an inefficient model, a simple change could cause the model to fail to rebuild. While a single inefficient part in a large assembly may not have a huge effect on rebuild time, rebuild times will be affected by many inefficient parts. The other consideration is whether this is a single, one-time-use part or it will be used in this and future designs. You may consider not recreating a one-time-use part, but reusable parts should be created efficiently.
Taking advantage of symmetry when creating a part can reduce the number and complexity of mates that must be added at the assembly level. This is particularly true when parts need to be centred on each other. Using symmetry can also speed up the rebuild time for individual parts when you mirror bodies. When mirroring bodies, surfaces are patterned instead of having to rebuild the geometry for each feature.
Having a proper set of templates can save time in all phases of modeling. The benefits of good templates include:
Document properties are set
Having the document properties set in the template allows you to move ahead to modeling without adjusting the settings.
Visual and physical properties are set
Visual properties such as the model and background appearance can be set to eliminate the need to change them later. The proper and consistent material can already be added to the part before the first geometry is created.
Custom properties are set
Many items such as company name, address, the person creating the file can be prefilled, and other information established to capture model properties (material, weight, etc.).
Part origins are normally located based on the geometry of the part and its symmetry. There are two general exceptions:
first is to locate the origin so that the part lines up in a layout grid at the correct position without mates; second is when the part is created in-context, and the origin is located by projecting the assembly origin onto the Front plane of the new part.
Having the origin based on the part’s geometry is the most common method and is found in best practices documents. Creating the geometry of the part off the origin for alignment purposes is generally not done in smaller assemblies or with parts that may go into different assemblies. Still, it can be useful in a larger assembly as the part is inserted at the assembly origin and fixed. This approach reduces the number of top-level mates. In many cases, if you properly locate features of the part on the origin, your mating planes already exist. For example, by placing the absolute centre of a sketch for a Wide Flange Beam on the origin, then extruding from the midplane, you get a Top plane in the middle of the beam, a Right plane in the middle, and a Front plane in the middle without having to do any extra work.
When a part is created in the assembly, the origin could be located far away from the part geometry. This is generally unacceptable and can be fixed, or as we will see later, the in-context relationships can be created differently to avoid the origin being off the part.
Part configurations can affect the speed and performance of large assemblies. There are productivity gains to be realized using configurations and consequently having fewer files to manage, but they can increase the file size of parts and assemblies. You have to decide if the benefits of configurations outweigh the associated file size issues for their particular application and decide what will be best for them. Configurations allow you to control many variables within a part or an assembly quickly and easily. The use of design tables takes this further still. However, when a configuration is activated, the data for that conﬁguration is generated and stored in the file (e.g., preview, lightweight data, and body information). This is done to avoid performance problems in complex parts. There would be delays if configuration data had to be built every time a configuration is accessed. Because the data is stored, the file size will grow as more conﬁgurations are activated. If the files are being opened across a network or copied across a network to a local working folder, the large file sizes will slow performance as more data will have to be copied across the network. When a part is used in an assembly, only the information of the configurations of the part used in the assembly is loaded into memory. For example, if a part with 200 configurations, all of which had been activated in part, were used in the assembly, the data for that part’s active configuration would be loaded into memory. If a second instance of the part were inserted into the assembly using a different conﬁguration, the data for the second configuration would also be loaded into memory. The data for the remaining 198 configurations would not be loaded into memory.
- If a new file is created using File, Save As, only the data for the active configuration is retained, which may reduce the ﬁle size signiﬁcantly.
One way to increase assembly performance is by using simpliﬁed configurations that can be selected when opening the assembly.
Simplified conﬁgurations reduce the amount of data that must be loaded into RAM when the assembly is opened. This conﬁguration should be created so that only the key information about the part is unsuppressed.
What information is important?
All surfaces will be needed to mate the part into the assembly. This requires some planning to make sure the correct surfaces are included.
All surfaces show the volume of the part and its boundaries. This information is needed to ensure this part does not interfere with the surrounding parts.
What information is not important?
Cosmetic features such as ﬁllets, chamfers, and engraving should not be included in a simpliﬁed conﬁguration.
Small details of the part design are unnecessary for the assembly and cause additional problems with graphics performance as they require many small triangles to be formed to display the shaded surface. This is analogous to creating a mesh in FEA.
Naming Simplified Configurations
One very effective way to use simpliﬁed conﬁgurations is to have an assembly configuration that opens all components in their simplified configuration. This assembly configuration is easy to create when opening an assembly by using an Advanced option because you can select the name of the configuration you wish to open for each component if it exists.
The important thing is that you can select only one configuration name. So it would be best if you had a company standard for each engineer to create a simplified configuration with the same name. Also, remember that capitalization is considered, so Simple and simple are two different configuration names.
The Simplify Tool
One difficulty in creating a simpliﬁed configuration is locating and selecting small features. The Simplify command allows the selection of features based on their size relative to the part.
You can individually select features from the Results list and then click Suppress, or select All and then Suppress to suppress the features found in the Results list. A derived configuration will be created with those features suppressed.
Where to find it:
- Menu: Tools, Find/Modify, Simplify
- Tools toolbar: click Simplify
FASTENERS AND TOOLBOX
The toolbox can be set up to work in two different ways:
- Master parts
In the master part setup, Toolbox retains a set of master parts. When you insert a fastener into an assembly, the toolbox will create a configuration of the master part based on the size you are using. The advantage of this is that the size of those part files increases as additional configurations are created. In a company environment, the Toolbox part files are normally kept on a network drive, which means that the files have to be opened across the network, slowing down performance.
- Copied parts
In a copied part setup, new part files are created when you insert a fastener into an assembly. The advantage of this method for large assemblies is that these files can be stored with the assembly and have only a single configuration. While this method creates more files, they can be stored locally and smaller because they only need a single configuration.
Toolbox parts can have three different thread displays. Because fasteners are purchased parts, there is no need to show the threads unless you need them for display purposes; for performance gains, use a Simplified thread display. If you need the threads to display for a rendering, choose Cosmetic to have a thread appearance applied to the surface.
LEVEL OF DETAIL FOR PURCHASED COMPONENTS
When you use purchased components in your designs, you need models of these components to fit into your assembly. Depending on the source for the component model, a wide range of detail could be provided. How much of this detail is necessary for you to work on your design? Generally, no more than what was listed above for the simplified configuration. To speed up the design at the assembly level, a lot of detail can be stripped from the model.
LEVEL OF DETAIL
Too much detail causes excessive rebuild times. Below are some suggestions on ways to remove detail.
- Do not model threads. Model only functional threads. There are considerable regeneration times associated with modeling the helical threads. If you need a visual representation of the threads, Toolbox has the option to show threads as a texture map.
It takes more than five times the number of triangles to represent the surface of the bolt when you add helical threads.
If you need to see visual threads, use the Cosmetic option in Toolbox.
- Avoid using text for features. Do not model text unless it is part of casting or will be machined into the part. SolidWorks uses TrueType fonts in Windows. Text can have hundreds of entities, sometimes per letter. You can evaluate the impact of modeled text by opening a part with extruded text and using the Performance Evaluation tool previously known as Feature Statistics, to list and rebuild the times.
Below are the rebuild times for the simple part shown on the right. Notice that it took 0.00 seconds to rebuild with the text suppressed and 0.16 seconds to rebuild with the text unsuppressed. If we compare the geometry, the part without the text has just six faces, but with the text, there are 530 faces.
If the text is not to be machined into the part, such as labels that will be affixed to the part, consider using decals because they do not create additional geometry.
- Minimize unnecessary detail.
Combine fillets of equal size or function.
- Avoid Lofts and Sweeps if you can create the geometry with an extrude or revolve feature. Lofts and sweeps take longer to generate.
- Do not model springs unless absolutely necessary. Like helical threads, sweeping along a helix creates a large file due to the complexity of the surface. Instead, use a cylinder that forms the bounding shape of the spring. This can be mated and used to detect interference while solving very quickly.
If you need more visual representation, consider adding a decal or a thread appearance.
- Fully define sketches. Leaving sketches under defined may be acceptable when you are still in the early part of the design process for a part. Before using that part in an assembly, you should have it fully defined to avoid rebuilding errors and unintentional changes.
ADDITIONAL CONSIDERATION FOR PARTS
In addition to the above techniques for part construction, there are several other considerations for efficient parts.
Level of Detail for Manufactured Parts
What level of detail is required for manufactured parts? Generally, there is one required level of detail and several optional levels. These levels of detail are controlled through modeling and configurations.
Full (Default) Configuration
Any part that you are going to manufacture must contain all the information necessary actually to make it. All the detail may also be required if renderings of the part will be necessary for marketing purposes.
Simplified (Assembly) Configuration
To get the most out of simpliﬁed configurations, the company should establish a mandatory name for this configuration. The reason to have a mandatory name is that when you open an assembly, all components with a simplified configuration can be opened in that configuration.
In many parts, some features should be suppressed before creating a drawing. These usually feature such as fillets that create tangent edges.
SpeedPak configurations offer a huge saving in computational and memory requirements. Consider creating a SpeedPak configuration, the general rule for all assemblies.
If the part needs to be analyzed, the person doing the analysis will make this configuration since deciding which features to suppress involves more than simply suppressing small fillets.
When you build parts in the context of the assembly, sketching is the same as in the part mode with the added benefit that you can see and reference the geometry of the surrounding parts. You will use Convert Entities and Offset Entities as well as add dimensions to geometry.
Alternatively, you can change the setting Do not create references external to the model in Tools, Options, External References, and the new feature or part will not be created with any external references. Converted geometry is simply duplicated in this case, with no constraints. No dimensions or relations to other components or assembly geometry can be added. Hole Series A Hole Series is a special kind of Hole Wizard hole that is created at the assembly level and automatically creates in-context holes in the referenced components. While these are very useful in the design process, remember that you are creating an in-context feature that must be solved at the assembly level.
Parts can be created and built from within the assembly. These parts can also be inserted into the assembly as new parts and built using converted edges, offset edges and standard techniques. They are called Virtual or In-context parts. In-context modeling can be a great time-saver in the design phase of most projects. By using in-context features, you will be required to do much less work when changing dimensions of individual parts and features as the in-context relationships carry the changes through the in-context features in a predictable way. Generally accepted best practice is to remove in-context references before parts are released to manufacturing to avoid unintended changes from occurring; however, the point at which this occurs is not absolute. In some industries, in-context relationships may be left intact and locked if the customer is known to require changes after manufacturing has begun. When building parts in context, you can take advantage of other parts that exist. You can copy geometry, offset from it, add sketch relations to it, or simply measure to it.
While there are many advantages to using in-context features in your models, they can cause slower performance when solving the model and can create confusion for people working on the model later in the process. Additionally, creating in-context parts in an assembly can cause the part origin to be someplace other than the most desirable location.
Note: One of the things to consider before deciding to model a part in the context of an assembly is where that part will be used. In-context features and parts are best used for “one-of-a-kind” parts that will be used only in the assembly where they are modeled. Parts that will be used in more than one assembly should probably not be modeled in context. The reason for this is that the external references created by the in-context features are stored in and controlled by the assembly in which the references were established.
If a virtual or in-context part is to be reused in other assemblies, it is possible, with some work, to make a copy of the part and remove all of the external references. The part can also be created by purposely borrowing geometry but with no external references created.
In-Context Modeling and PerformanceHow do in-context features affect performance? With in-context features, the relationship between the current feature and the entity it is referencing is maintained at the assembly level. This is required because the relationships depend on the positions of the parts which are controlled by mates. In the assembly, we see these relationships as Update Holders. Therefore, in-context features create additional work when the assembly is solved. While one or two properly constructed in-context relationships may not make a noticeable difference in assembly rebuild speed, the more you have, the greater the slowdown could be. So, in addition to the other reasons for removing in-context relationships, we must consider the performance of the assembly.
CREATING LN-CONTEXT FEATURES
The method in which in-context parts are created as taught in the SolidWorks training classes is as follows:
- Adding new parts into an assemblyWhen you create a new part in an assembly, the part is given a default name and you select a plane (or planar face). The name is used as the temporary part name while the selected plane orients the Front reference plane of the new part. An InPlace mate is added to the assembly to maintain the position of the new part. The location of the origin of this new part is determined by projecting the assembly origin onto the Front plane of the new part.
- Building parts in an assemblyAs the new part is created, the selected plane face becomes the active sketch and the part is in Edit Part mode. The part is created using standard methods and references to other geometry in the assembly.
- Creating in-context featuresWhen you reference geometry that is in another part while creating a feature, you are creating what is called an in-context feature. For example, referencing the edge of a shaft when making its mating hole in another part creates a relationship between the shaft and the hole. A change to the diameter of the shaft would cause a corresponding change to the diameter of the hole.
The InPlace mates created automatically for in-context parts are there to prevent movement of the part. This is because the in-context part is attached to the geometry of parts in the assembly through external references, references that cross between parts at the assembly level. Changing the location of the part can cause changes to the geometry that may not be desired.
Replacing InPlace Mates You can remove InPlace mates using Delete, and remate the part using standard mate techniques. This technique gives you an option to leave a degree of freedom for movement. Generally, this works best if the face selected for the InPlace mate is perpendicular to the direction of motion, as this does not affect the part origin. Deleting InPlace Mates When you delete an InPlace mate, a warning message appears after the confirmation dialog.
The base sketch of the part located by the InPlace mate contains references to other entities in the assembly. These references may update in unexpected ways after this mate is deleted because the part will no longer be positioned relative to the assembly. Would you like to remove these references now? (No geometry will be deleted.)
Always resolve rebuild and import errors as they happen. it is much easier to solve a rebuild problem when it happens because you know where in the process the problem occurred. If you continue to build a part that has errors, the errors will just compound and can take many times more effort to solve than if handled immediately. Similarly, import errors should be fixed before editing the part further. Failure to solve the import problem immediately is like building a house on a foundation with structural problems.
Whenever you import a model, SolidWorks will ask you if you would like to run Import Diagnostics. Running the diagnostics at this point is preferable to waiting as you can never anticipate the problems that may be caused by geometry with errors. if you add any additional features to the imported part, Import Diagnostics will no longer be available because it only works on an unmodified imported body.
Another valuable tool is Check. Check can be run on the model at any time and used to locate both errors in the geometry and undesirable geometry, such as short edges, that can cause other geometry to fail.
Where to find it:
- CommandManager: Evaluate>Check
- Menu: Tools, Check
In-context parts and features create many external references which are used to create and maintain relations between parts at the assembly level. To break these references and keep the part intact, you must manually go through the in-context features and change the in-context references to local references.
When they are working properly, external references are considered in-context. When they cannot work properly, they are considered out of context and cannot update properly.
Out of ContextIn—context relationships are maintained through the assembly in the Update Holders 3. For the in-context feature to work correctly, the assembly must be open for the in-context feature to update. It is able to work properly and change through the propagation of changes only while the assembly is open.
Putting a Part Back into ContextTo put an out-of-context part back into context, open the externally referenced document. There is an easy way to do this: right-click the out-of-context feature and click Edit In Context.
Breaking and Locking External ReferencesThe flow of changes can be stopped temporarily or permanently using the Lock/Unlock and Break options. These options essentially suppress the Update Holder so that it is not solved. This helps to speed up the assembly rebuild. If you want to reuse the in-context part in another assembly, or use it as the starting point for a similar design or apply motion, you should remove the external references. By copying and editing the in-context part, you can create a duplicate part that is not tied to the assembly. Once the in-context features are created, it is a good idea to lock the external references. If changes are made that affect the in-context features, the external references can be unlocked, the assembly rebuilt, and then the external references locked again.
When the List External References dialog is active, there are options available to Lock All or Break All references. These options allow you to change the relationship between the in-context part and referenced files.
Lock All Lock All is used to lock or freeze the references until they are unlocked at a later date using Unlock All These changes are reversible after the UK is clicked. Until the references are unlocked, changes will not propagate to the part. When Lock All is selected, SolidWorks displays a message:
All external references of the model “Part Name” will be locked. You will not be able to add any new external references until you unlock the existing references.
The FeatureManager design tree lists the locked references with “->*” symbols. Using Unlock All later will restore the “->” symbols.
No additional external references can be created while the part is in the locked state.
Break AllBreak All is used to break all references with the controlling files. Clicking the button launches a message that indicates the change is not reversible after OK is clicked.
When Break All is selected, SolidWorks displays a message: All external references of the model “Part Name” will be broken. You will not be able to activate these references again.
The FeatureManager design tree lists the broken references with “->x” symbols. Changes will no longer propagate to the part.
Once the references are broken, they can be listed only by using the List Broken References check box in the List External References dialog.
Break All does not remove the external references. It simply breaks them, and once broken, they can never be fixed. Because Break All is irreversible, you should use Lock All in almost all situations.
Do not confuse the command List External References with File, Find References. In a part document, the command File, Find References only lists the name of externally referenced documents, if they exist. It does not provide feature, data, status, entity, or component information.
References Options like Lock All are useful to interrupt the flow of changes to an in-context part, but the best way to stop the changes permanently is to use File, Save As with the Save As Copy option to copy the part and remove the references. Why Remove External References? When parts are built in-context they contain references. If mates are removed or in-context parts are used in other assemblies (out of context), unexpected changes could occur. Here are some reasons why you might remove external references.
- Component Movement – The In-Place mate prevents movement and although it can be removed, the features remain in-context.
- Re-use of Data – Component parts can generally be used in multiple assemblies. If a part contains in-context references, they must be removed prior to out-of-context use.
- Assembly Performance – Because the Update Holders are at the top level of the assembly, they must be resolved when the assembly is rebuilt. If they are not removed, they should be locked until they need to be updated.