Import Diagnostic Tool—The Ultimate Guide
Collaboration in the Age of Specialization
Today, in order to be successful, companies tend to specialize in a specific area of design or manufacturing. We are seeing more and more ads using language like “best in class” or “experts in …”.
Since everyone is essentially an expert in a narrow area, a finished product requires multiple “experts” to collaborate in producing it. As a result, almost every company is—at the same time—a customer and a supplier for other companies.
Because the design and manufacturing processes employed by each organization are different, it is no surprise that the CAD software used in these processes can also differ throughout the supply chain.
For example, it is possible for the industrial designer to start a model in Rhinoceros, then hand it over to a SOLIDWORKS user for the mechanical design and integration in an assembly, which will be included in a big layout completed in CATIA.
The opposite is also true. A large product modeled in NX or CATIA could have its parts saved as STEP or IGES, which could then be sent to first, second or third tier suppliers that could be using Inventor, SOLIDWORKS, Solid Edge, Creo or even AutoCAD.
Unfortunately, it is very seldom that the files are sent in the native format. I wrote “unfortunately” because, lately, most CAD packages are getting better at reading directly from files saved in other formats. For example, SOLIDWORKS 2019 can import directly from Inventor, CATIA, ProEngineer/Creo, Rhino, NX and Solid Edge, to mention just the major 3D programs. For a complete list of formats that can be imported into SOLIDWORKS, click here.
The reality is that most 3D data is exchanged in “neutral formats” like STEP or IGES, since they can be read by all CAD programs. That eliminates any headaches for the person who provides the STEP file, while potentially creating big problems for the designer who is at the receiving end, due to errors that can occur in translating data from one program to another.
This article focuses on very effective tools used by SOLIDWORKS users to address such errors.
What Causes Errors on Imported Models?
Imagine people of different nationalities attempting to communicate with each other. Typically, they would use a common language, nonnative to either of them, but which is known (to a certain degree) by both. It is also called a bridge language.
Let’s consider a Romanian talking to an Argentinian in English. The Romanian will think in his or her native language and translate those thoughts into English. The Argentinian will hear the English words and will translate them into Spanish, in order to process the information in a familiar language.
How accurate will this communication be? That depends on:
- How well the Romanian speaks English.
- How well the Argentinian understands English.
- If there is a direct translation of the Romanian words and expressions in English, and whether the concept can be explained clearly in English using different words or expressions.
- If there is a direct translation of those English words and expressions in Spanish, and whether they can be explained clearly using different Spanish words or expressions.
The potential for information to be lost or misinterpreted is high!
The same logic applies to the flow of information between different CAD programs. Some of them “speak” languages that are from the same family. Similar to how Italian, Spanish and Romanian are Latin languages, SOLIDWORKS and SolidEdge are built on Parasolid kernels. In this case the chances of getting geometrical and topological errors when opening files created with the other CAD software are reduced.
Other CAD programs are based on different kernels. For example, CATIA or Creo use their own proprietary kernels. Because of that, choosing the right “language” for exchanging information between these programs and SOLIDWORKS is very important. We call these bridge languages—neutral formats.
If a SOLIDWORKS user is fortunate enough to be asked by the sender of the file what format they prefer, the answer should be:
- Parasolid, if the original software uses a Parasolid kernel (do not ask CATIA users to give you Parasolid files!)
Currently, STEP seems to become the most popular format, especially considering that product and manufacturing information (PMI) could be embedded in STEP 242 files.
Regardless of the neutral format received, an imported model could exhibit multiple topological or geometrical errors, which would prevent SOLIDWORKS from recognizing valid surface or solid bodies.
In order for a surface or solid body to be valid in SOLIDWORKS, several conditions need to be met:
Faces belonging to the same body cannot intersect each other.
- Corollary: There should be an edge wherever two faces belonging to the same body intersect.
An edge cannot be shared between more than two faces.
- In a surface body, an edge can be:
A boundary for one face (open edge).
An intersection between two faces.
- In a solid body, each edge is an intersection between two faces.
Corollary: Solid bodies cannot have gaps (i.e., open edges).
The tolerance of analytical surfaces (planar, cylindrical, conical, spherical, toroidal) should be smaller than 10-8. Although B-splines are not strictly a problem (since B-spline surfaces can be valid), replacing them with equivalent analytic surfaces makes the model more usable in SOLIDWORKS. For example, concentric mates can be applied only to analytic cylinders, not to B-splines that happen to be cylindrical.
Whenever these conditions are not met, the results are:
- Bad surface geometry.
- Bad surface topology (missing or wrong edges).
- Adjacent surfaces whose edges are close to each other but do not meet, thus creating gaps between the surfaces.
To illustrate such problems and the methods used for fixing them, we will provide realistic case studies.
Opening a Neutral File in SOLIDWORKS
Starting with SOLIDWORKS 2018, there are two different “engines” that can be used for importing a neutral file: the traditional way and by using 3D Interconnect. The resulted geometry often differs in quality, so it is a good idea to try both engines when the imported geometry is not satisfactory.
I suggest always attempting to use the 3D Interconnect engine first. In my experience, there are fewer errors when using it when compared to the traditional engine.
To turn on the 3D Interconnect, use the System Option/Import settings as shown in Figure 2.
When the 3D Interconnect is used, SOLIDWORKS will just embed the information from the STEP file into a SOLIDWORKS model. If the geometry needs to be edited, the 3D Interconnect object needs to be dissolved first (see Figure 3).
There are advantages to using the traditional engine too, since it offers more customization about how the geometry will be imported. As shown in Figure 4, the user can fine-tune the results:
- Solid bodies with:
Analytical surfaces (cylinders have one face).
B-Rep mapping (cylinders are split in two faces; this is a good option for importing problematic files originating from CATIA).
- Knitted surface bodies.
- Individual faces (each face is an independent surface body).
- As sketches.
- As 3D curves.
Import a multibody part as:
- A multibody part.
- An assembly containing the original bodies as parts (one body per part).
Import Reference Planes.
Import Custom Properties (user-defined attributes).
Diagnostic Tools for Troubleshooting Geometry and Topology Errors
The first case study is based on a STEP file of a spill tray.
In Figure 5, you can see the results of importing the same STEP file using both engines. The traditional engine is shown on the left in yellow. 3D Interconnect was used for importing the purple model on the right.
You will notice that the imported feature in the yellow model has a warning. The 3D Interconnect model shows no such warning. The reason for this could be that 3D Interconnect is designed for speed, so error checking is not performed during the rebuild process.
Let’s dissolve the 3D Interconnect object using the technique shown in Figure 3. The result is a traditional Imported Feature, with no warning attached, even though the Verification on Rebuild is turned ON.
Diagnostic Tool #1—Warning Tooltips
If you are fortunate enough to get a warning, just hover the cursor over it in order to get a tooltip that provides more information, as shown in Figure 6.
In my experience, many times such warnings will not be displayed, even though the geometry or topology has problems. I recommend always using one of the other two diagnostic tools: Check and Import Diagnostics.
Diagnostic Tool #2—CheckTool
I usually access the Check tool from the Evaluate toolbar. You can find the tool in other areas of the SOLIDWORKS interface, including menus, context toolbars, shortcut toolbars, mouse gestures, keyboard shortcuts and other toolbars.
Let’s run the Check tool on the yellow model as shown in Figure 7.
This an excellent diagnostic tool. Some of the options are:
Stringent solid/surface check:
- When cleared (default), it performs a standard geometry check, which reuses the results of previous geometry checks to improve performance.
- When selected, all geometry checks are performed again, which results in slower performance.
Check the solid bodies and/or surface bodies in the model, looking for:
- Invalid faces
- Invalid edges
- Short edges
- Open surfaces
- Minimum radius of curvature
- Maximum edge gap
- Maximum vertex gap
In the example shown in Figure 7, there are six inconsistencies reported between faces. They could be:
- Faces piercing other faces belonging to the same body.
- More than two faces sharing a common edge.
When selecting an error, the tool will highlight the problematic area. In the example shown in Figure 7, the face highlighted in blue pierces the rib faces. A close-up of this error is shown in Figure 8.
When performing a section view though the rib (with the section cap removed) another problem is revealed. There is another face on the inside of the rib, which shares one edge on each side with two other faces (see Figure 9).
The Check tool finds six errors in the purple model, even though no warning is displayed on the Feature Manager Tree (see Figure 10).
Going forward, I will solve the problems in the yellow model using the Import Diagnostic tool.
Diagnostic Tool #3—Import Diagnostic Tool
The Import Diagnostic tool is not just usable for troubleshooting but can also be used for fixing errors. It is very capable tool in the hands of a trained user.
The Import Diagnostic tool can be triggered by default at the end of the import process (see Figure 11) or can be started by the user by employing the right mouse button menu (RMB) after selecting an imported feature (shown in Figure 12).
Note that the Import Diagnostic tool cannot be triggered if any other feature has been added in the Feature Manager Tree (see Figure 13). That is why it is critical to run this tool immediately after the import process is completed.
After starting the tool, 17 faces are reported as faulty as shown in Figure 14.
Typically, I use the Attempt to Heal All button first when this occurs. That usually repairs all faces that have a “General Geometry Problem.”
In this case, only one face was repaired, leaving me with 16 faulty faces to address (see Figure 15).
Let’s RMB on the first face in the list. I have the following options:
- Repair Face (works mainly for General Geometry Problems). It will not solve Face Piercing problems.
- Delete Face—removes the face and leaves a gap, turning the solid body into a surface body. This is a great alternative to the Delete Face feature, as we will see shortly.
- Re-Check Face—re-checks the face and provides a detailed report, as shown in Figure 16.
- What’s Wrong—provides the same report from Figure 16, without re-checking the face.
- Zoom to Selection—zooms in to the problematic area, without flipping the viewport.
- Invert Zoom to Selection—zooms in to the problematic area while flipping the viewport (zooms to the opposite side of the model).
- Color—enables the coloring of problematic faces.
- Remove Face from List—allows the user to designate the face as correct and removes it from the list.
Just for the scope of this article, I will start by identifying problematic faces, and use zoom to select and color them purple. I will also remove false report from the list.
In practice, I simply delete the faulty faces one by one. That has the side effect of removing from the list valid faces that were previously pierced by the deleted faces.
Face 1 is a small face on the inside of the rib (see Figure 17). It should not be there. Let’s color it purple.
Face 2 is a big, bad round face that pierces the rib faces. Let’s color it purple.
Face 3 is a similar face to Face 1. It has as mall round on the inside of the rib, which should not be there (see Figure 20). Purple we’ll make it!
Face 4 is similar to Face 2 (see Figure 21). It too gets the purple color.
Face 5 is similar to Faces 1 and 3 (see Figure 22). Purple we’ll make it!
Going forward, Faces 6 and 8 are similar to Face 2 and 4: a bog round face piercing the solid.
Face 7 is similar to Faces 1, 3 and 5. A small round that shares edges with far too many faces.
Faces 9 to 16 are rib faces. They are not the ones creating the problem but are reported as faulty since they are piercing the round faces. Face 14 is shown as an example in Figure 23.
So, let’s remove faces 9 to 16 from the list of faulty faces. Unfortunately, we cannot select multiple faces to apply such a command. We need to repeat the process for each face, as shown in Figure 24.
With only eight faulty faces reported, it is time to manually delete them using the Import Diagnostic tool. To do this, simply RMB each face and select Delete Face.
The result is a list of valid faces (all the rib faces that were formerly reported as faulty) and seven gaps left by the deleted faces as shown in Figure 26.
Fortunately, the Import Diagnostic tool is capable of closing or filling such gaps. The process of eliminating gaps between adjacent faces is accomplished by one or more of the following processes:
- Replacing two close but non-intersecting edges with one “tolerant” edge.
- Creating a fill surface or lofted surface to fill the gap.
- Extending two adjacent faces into each other to eliminate the gap.
Each gap can be healed on its own, but in this case, I will use the Attempt to Heal All Gaps button as shown in Figure 27.
The result is a green light under Message shown in Figure 28.
Running the Check tool does not reveal any problems either (see Figure 29).
The SOLIDWORKS Help file reveals more options for eliminating gaps. Be aware that some tools have somewhat misleading names. For example, the Remove Gap option does not actually remove the gap, but simply enlarges it by deleting all adjacent faces!
Other Uses for the Import Diagnostic Tool
One of the most important uses of this tool is the ability to delete faces without increasing the file size. Let’s do a simple test.
- Import the STEP file again and save the resulting SOLIDWORKS part file.
- The resulting file size is 322 KB.
- Use the Delete Face command in SOLIDWORKS to delete any face (see Figure 31). In this example, I will delete one of the faulty round faces.
- Save the resulting model (see Figure 32). The new file size is 476 KB, an increase of 48 percent!
The increase in file size is explained in the Solution S-063830 from the SOLIDWORKS Customer Portal:
The reason for the increase in file size is that by adding the Delete Face feature SOLIDWORKS needs to create a second working set of body data. This second set can then be modified to actually generate the new feature. The original body data is kept safe for future use. This new data is what causes the increase in file size (doubling) when the file is saved.
By doing this, the original imported body data is kept as a reference so that that data is ready for future modeling. You can then roll back to just after the imported body feature in the Feature Manager tree (for example) and the original data will still be available. Similarly, if you suppress the Delete Face command you will see the file size shrink back down again. This is because this new or duplicated data is not present in RAM when the file is in that state and so is not included in the part file during the save.
This new data is only added once, i.e., the file will only double in size once. If you try adding further Delete Face or Knit Surface features (and then saving them of course), you will notice that the file size no longer doubles but increases by a much smaller and expected amount.
Let’s remove the face, this time using the Import Diagnostic tool.
- Delete the Delete Face feature.
- Start Import Diagnostic.
- RMB on the face to be deleted and select Delete Face. Note that many operations can be similarly performed directly in the Graphics Area.
- Accept the changes and exit the Import Diagnostic tool.
- Save the file. The new file size is back to a value close to the original.
In conclusion, deleting faces using the Import Diagnostic tool has the same effect as importing a modified STEP file without that face. This will not create a duplicate set of body data inside the SOLIDWORKS file.
The Import Diagnostic tool is very powerful in the hands of a knowledgeable user. It can enable users to solve geometrical and topological errors. It can also be used to remove unwanted model faces, without increasing the file size.
When errors are too complex, use the Import Diagnostic tool to identify and eliminate the faulty faces. The tool might not be able to fill all the gaps. In this case, you can employ surface modeling techniques to manually recreate the missing faces and fill the gaps.