Coping with Non-SOLIDWORKS Data
Let’s look at a common design workflow. We’ll suppose a bunch of SOLIDWORKS users are working together to create an assembly. We are to design our part in-context to theirs. And of course, it needs to fit together perfectly. The phone rings and you hear that the design has changed. And you will like it. Since we’re all using SOLIDWORKS, it’s really no problem. Just rebuild the assembly, our part rebuilds, and it fits perfectly.
Unfortunately, not everyone gets to use SOLIDWORKS. The real world is a little messier. We get translated files which have to be repaired and cleaned up before they become SOLIDWORKS parts. Only then, can we use them for our assembly to create our perfect fitting part.
Out of the gate, this process may look a little intimidating, but once finished, it doesn’t seem too bad. However, vendors may make changes to their non-SOLIDWORKS files, which would require them to translate those files out a second time. This means we would have to repair those files again, as well. Often, we’ll find that those parts cause errors in our design, requiring additional file repair or redoing a lot of work to get a perfectly fitting part. Errors generated by this process can even result in ditching in-context design.
What if instead, when receiving a part from a vendor, they sent the native file and we used that file directly in our SOLIDWORKS assembly to get our design? No new SOLIDWORKS files, no repairs required—just an in-context part that references other CAD data. When a design change comes around, our vendors can simply send updated versions of their CAD files. This would let us update our assembly to get a new version of our in-context part design relative to their other CAD files.
At a high level, this is how 3D Interconnect in SOLIDWORKS operates.
When dealing with other CAD data, there are three main focus areas:
- Importing Data, which involves actually opening files in SOLIDWORKS.
- Dumb Solids, which deal with the database portion of a CAD file or the end geometric shape.
- 3D Interconnect, the relatively new multi-user workflow.
Getting Started with Importing Data
When working with other users’ CAD files by importing that data, we begin with Translation Options.
Starting in SOLIDWORKS 2017, Import and Export System Options were introduced (Tools > Options > Import / Tools > Options > Export). These options weren’t actually new, they were just previously visible only when using the SOLIDWORKS file open window.
The most common question users ask is, “What options do I use?” Trying to go through all the different combinations of options you could use is a lot—the last time a colleague and I went through the list, we calculated 1,486 unique combinations, all of which are likely helpful to someone, somewhere.
Keep in mind that during a translation, if you don’t get a clean read of the data in SOLIDWORKS, there are plenty of different options to try and get a better or cleaner version of the geometry, so that less repair work is required.
So, what file type should be opened to start? Native files are the best bet, because starting with a native file format eliminates one of the translation steps. Remember, not only do we have to translate a neutral format into SOLIDWORKS, but the other CAD system has to also translate out of their format and into the neutral format.
If deciding to go the neutral format route, there is an order of preference. First is a Parasolid, since this is the modeling kernel used by SOLIDWORKS. Second is a STEP file, which is probably the most well-known. The third option is an ACIS file, which is an actively maintained standard by Dassault Systémes. The last is the IGES format, which is older (1996 was the last update) but is still in use. However, since IGES gave birth to the STEP file standard, users might as well just stick with the current standards.
Import Diagnostics and CAD File Translations
Now for the most important part of dealing with other CAD data: Import Diagnostics.
Ever opened a file expecting to see a solid model, only to see Surfaces? Or ever asked SOLIDWORKS to perform a simple command with imported geometry, and the command won’t complete? To understand why files might have translation problems, let’s look at the translation process.
To start with, a user creates a part. That part is created by the user interacting with a CAD System (through a user interface) to come up with a set of instructions to make some geometry. The CAD system converts all the user interface requests into language understood by the kernel, and the kernel makes the geometry happen and actually calculates the shape.
The result is a CAD file comprised of three elements: a Header (the file properties), Instructions, (such as a binary FeatureTree proprietary to the kernel and unique CAD Systems), and a Database (the finished geometry shape).
If we look at using other CAD data, the translating CAD system has to read the incoming file and create new instructions that its kernel can understand. The kernel can then create the geometry and communicate it back to the CAD system user interface to create the part.
So, why do we have problems?
First of all, different CAD systems have different limits on tolerances. A gap between two faces may be seen from one system to the next. Second, not every CAD system speaks the same language or uses the same nomenclature. Instructions could be missing or not translated. It should be noted some CAD systems’ instruction sets are proprietary, too; this is also why we don’t get a FeatureTree during the translation process. Lastly, not all geometry itself translates across systems, so a surface shape may not be understood from one system to the next.
When we open a file in SOLIDWORKS, we get a “Dumb Solid”—the Database part of the CAD file. To move forward with any level of confidence, however, users need to run Import Diagnostics. Import Diagnostics can be set to automatically load by using the system option “Automatically run Import Diagnostics” found under Tools > Options > Import. Or, we can right click on a dumb solid and select “Import Diagnostics.”
Import Diagnostics shows us faulty faces and gaps in geometry. With a right click on the listed faulty face in the PropertyManager, we can even reorient the model to see the problem face. If we select what’s wrong, we’re often told there’s some kind of geometry or gap problem. With Import Diagnostics, we can even select the specific faces and try to repair them, delete them, or re-check them to be sure whether there really is a problem.
To effectively use Import Diagnostics, start with “Attempt to Heal All” which tries to repair the faulty faces with new faces and edges for a clean solid. We can then try using “Attempt to Heal All Faces” and/or “Attempt to Heal All Gaps” as alternatives.
What exactly is Import Diagnostics doing? First, it’s identifying areas of the geometry that are faulty and will cause downstream problems. Second, it provides a set of automated tools that can help fix those problems. Most importantly, it tells us when we have good, clean geometry to use moving forward.
There is also a tool you can use with any SOLIDWORKS geometry to make sure everything is valid, called the Check Command. You can activate it by going to Tools > Evaluate > Check.
If having clean geometry is important, and “Attempt to Heal All” doesn’t work, what’s the next step? Try it again! Sometimes working through two or three iterations of Import Diagnostics will fully heal the geometry.
We can also try saving out a Parasolid and reimporting this to run Import Diagnostics again. Sometimes this round-trip trick will get us far enough along to finish the job. If it’s still not clean we can try a different import type. Remember all those options mentioned earlier? There’s always a chance that one of those will provide a better option.
If we can’t get the import all the way clean, SOLIDWORKS is likely to encounter downstream problems. We can use dirty geometry (such as faulty faces) only when we agree that any odd behavior of SOLIDWORKS (i.e. a mate not working, a feature not completing, etc.) is most likely caused by the faulty geometry. At the very least, we can’t properly diagnose what’s going on with any odd behavior until we have clean geometry to start with.
This leaves the last option: to recreate problem areas with surfacing tools.
Here is an example where the problem is in the corner where these three fillets come together.
To rebuild the fillet, we’ll first need to rebuild the original corner. In order to do that, we need to make copies of “hard geometry”; that is, any of the faces we know we’re going to keep during this rebuilding process. Next, use the Delete Face command to remove any of the faces that need to be replaced or rebuilt on the bad model. Recreate the hard edge corner by extending the edges of the original surfaces so that they all intersect using the ‘Extend Surface’ command.
After any copying, deleting and extending, it’s time to trim and combine the surfaces. Within the Trim Surfaces command, the mutual trim option allows you to pick only the faces wanted, removing the rest, and knitting the selection into one surface body.
With the hard corner surface body, the desired multi-radius fillets can be added to the corner and surfaces can be knit together. Using the ‘Create Solid’ option gets a good final solid body that can be used for downstream processes.
Why bother with all those steps? It’s necessary in order to have a model that can be used for downstream edits, such as moving or removing a hole. Clean geometry also means smaller files, even though there are additional features; bad geometry often causes much larger file sizes. It’s all about performance.
Poor drawing or assembly performance often stems from starting with bad geometry. Many problems users encounter seem to ‘magically’ go away when we clean up the bad imported geometry or dirty downloaded file.
Dumb Solids: The Database of a CAD File
Now to discuss Dumb Solids. The term ‘Dumb Solid’ often gives users a negative connotation, but this is inaccurate. Dumb Solid refers to the basic geometric shape and little else. No feature tree. No history. No design intent.
But even though there isn’t a feature tree, you can still manipulate the geometry with tools such as Delete Face or Move Face, add additional features, and even pull out geometry from the end shape and add these as features to your tree with FeatureWorks.
As an example, let’s look at a dumb solid where we want to remove some mounting slots. Simply select the faces to remove, a process that can be sped up by holding control and using ‘Select Tangency’ from the right mouse button menu and activating the ‘Delete Face’ command through the right mouse button menu.
The ‘Delete Face’ command is very powerful. We can remove the faces for further surface modeling manipulation by using the delete option. We can also remove faces and extend out all the existing faces as though the first ones never existed and keep it a solid model with the Delete and Patch Option. Alternately, we can remove faces and fill in the resulting gap with a new contact or tangent-filled surface.
Imagine this example part is too tall for the intended application, but if we use a cut feature, we’ll lose the chamfers. Instead, we can use the ‘Move Face’ command, which can also be accessed through the right mouse button menu.
With the ‘Move Face’ command we can offset, translate or rotate one or multiple faces at a time. Now we can move all the necessary faces, including the chamfered faces, together by either dragging the triad in the graphics window, snapping to a specific dimension from the on-screen ruler or specifying the desired distance from the property manager.
The next way we can work with dumb solids is simply by adding features. We removed the slots on the feet, but if we wanted to add some counter bore holes with the Hole Wizard, we can, because this “dumb geometry” is perfectly fine to use for sketch faces or sketch relation or patterns like a mirror or even a fillet.
There are times where we do want a full DesignTree instead of a dumb solid, such as a classic sheet metal part so we can get a flat pattern. Since the Instruction Set portion of another CAD file is proprietary and doesn’t give us a tree, we can use FeatureWorks to recreate a feature tree from a set of logic rules.
FeatureWorks can be activated a couple different ways, one of which is by right clicking the dumb solid, going to FeatureWorks and selecting Recognize Feature. This launches an interactive manager that allows us to choose recognition mode, what type of part we’re trying to create, and even what specific features we do or don’t want to look for. Then the part has a full feature tree, just like we designed it in SOLIDWORKS.
While it’s not necessarily the same design tree that was used by the other CAD system, we will have parametric features that we can edit, reorder or suppress just like any other SOLIDWORKS part.
3D Interconnect: Linking CAD Data
Now let’s talk about 3D Interconnect. Not everything in SOLIDWORKS has the most intuitive name, but 3D Interconnect does. Basically, 3D Interconnect is a link between CAD Data. More importantly, it’s a seamless design process that focuses on SOLIDWORKS instead of other systems. At its core, 3D Interconnect is a referencing system for other CAD data, and which offers a couple of different workflows that we’ll discuss later in this post.
How do you enable 3D Interconnect? It’s found in the Import section of the System Options, and you should be aware that it is on by default. The path is Tools > System Options > Import > Enable 3D Interconnect.
There are a couple of workflows to use 3D Interconnect: first as an Assembly Reference, second as a derived part and third as an import option.
Assembly Reference Workflow
Let’s take a look at the Assembly Reference method first. We’re going to add an Inventor Assembly into our SOLIDWORKS Assembly. When I add the Inventor assembly using 3D Interconnect, the Inventor assembly comes in just as if it were a SOLIDWORKS assembly. Everything I’m used to doing with SOLIDWORKS models—such as applying mates, displaying section views and model transparency—all works the same.
With 3D Interconnect, no new files have been created, and there are no geometry conversion issues to deal with. In fact, if we look at the Feature Manager, the icons indicate these models are externally referenced CAD files.
Mates can be applied just how you’d expect, including mates to reference geometry. And if we have an update, all we do is replace the data in the Windows folder where the old Inventor assembly was with the new data. In SOLIDWORKS, the Feature Manager icon then shows an “update” symbol, and the software understands that a new version of the model is available based on the newer date stamp of the Windows file. From there, a right mouse click to the Update command is all that is needed to bring in the new geometry.
Derived Part Workflow
Let’s take a look at our second workflow: a Derived Part, where we’re going to make modifications to a supplier provided part. When we open another CAD format within SOLIDWORKS and look at the FeatureManager DesignTree, it looks like any other SOLIDWORKS part—with default reference planes, a material folder and so on.
However, instead of a dumb solid import, we see that the part is linked to the external file as the first feature. We have a traditional SOLIDWORKS part here and can keep adding additional SOLIDWORKS features to modify the supplier provided geometry. Any updates to the original supplier provided geometry get processed just like the assembly reference workflow.
The last workflow is breaking the link and treating the import just like any other dumb solid. In this case, all we do is break the link to that part and convert it to SOLIDWORKS.
We do this by right clicking on the 3D Interconnect feature and selecting “Break Link.” We are prompted with a warning that lets us know that this cannot be undone. After the 3D Interconnect feature is dissolved, the workflow is the same as how we’ve dealt with imported geometry in the past. When we break the link, SOLIDWORKS performs high quality geometry import. It converts to a dumb solid, and now we can make our own specific design changes using Direct Editing or FeatureWorks.
So, there you have it. Whether it’s dealing with Import Diagnostics, manipulating Dumb Solids, or using 3D Interconnect, you now know how to cope with non-SOLIDWORKS users’ data.