“Impossible” Modeling Challenges Solved by SOLIDWORKS PowerUsers Part 8—Separate Wires from an Imported Body
This is the eighth episode of the SOLIDWORKS Power User Challenges (SWPUC). You can use these links to read other articles in the SWPUC series:
- ‘Impossible’ Modeling Challenges Solved by CAD Power Users
- ’Impossible’ Modeling Challenges Part 2: Dynamic Straightening of a Bent Wire in CAD
- ‘Impossible’ Modeling Challenges Part 3: (Un) Bend a Square Profile in Multiple Directions
- ‘Impossible’ Modeling Challenges Part 4: Reverse Engineering (Surfacing and Direct Editing)
- ‘Impossible’ Modeling Challenges Part 5: Volume Limit Mate (Keep the Prisoner in Jail)
- ‘Impossible’ Modeling Challenges Part 6: Volume Control
- ‘Impossible’ Modeling Challenges Part 7: Unbend a Formed I-Beam
Have you ever wondered how many different companies were involved in designing and manufacturing the products you own? With supply chains as dynamic as they are today, it is hard to estimate an exact answer.
It is even harder to estimate how many different CAD platforms were used by these companies for modeling the products. Some prefer CATIA, while others prefer NX. Many use SOLIDWORKS, Inventor, Solid Edge or other CAD solutions.
Since all these companies take turns being suppliers and customers in the supply chain, it is very probable that the CAD data traveled from one company to the next as files saved in neutral formats like IGES or STEP. Consider them universal translators between different CAD “languages.”
In a previous article we discussed in detail what type of problems could appear when the “translation” is not perfect. We also covered one of the best tools for troubleshooting and solving import errors in SOLIDWORKS.
This article will focus on a special import problem that is usually experienced by manufacturing companies that provide wire bending solutions: the challenge of separating the individual wires contained in a model whose geometry was imported as a single solid body as shown in Figure 1.
The 27th edition of the SWPUC asked participants to provide the best solution for separating the wires from a single imported body.
The designer who created the model used in this challenge was focused more on the finished product than on the manufacturing process. A different CAD software was used to create the resulting cross-wire welding for 14 different wire bodies. We know that before the designer combined the wire bodies together there were 35 interferences between them (see Figure 2). Unfortunately, the IGES file we had to work with contained just the final product, after the welding process, which was a unibody part.
For the wire bending process, it is critical to extract individual solid bodies for all the wires.
We received six different solutions, each containing gems of originality. This article combines the best ideas from all the solutions received into a coherent, step-by-step methodology for separating the wires.
STEP 1—Separate the Faces for Each Wire
- To select the trim tool, take advantage of the tangency between the faces of each wire as shown in Figure 3.
- To automate the splitting process and reduce the need for user input, we will use three features for the splitting operation. The first requires minimal input from the user.
- Use Select Tangency six times to select the horizontal tangent faces (see Figure 4).
- Ensure that Consume Cut Bodies is not checked.
- Click on the Scissors icon (see Figure 5).
- Click on Cut Part.
- After the first Split feature, 11 distinct bodies will result. Notice that three pairs of wires are still joined (see Figures 6 and 7).
- Isolate the two bodies indicated in Figure 6. Not only will this declutter the graphics area, but it will also clarify the scope of the next Split feature. All the hidden bodies will be ignored.
Tip #2: Hide the bodies that you want excluded from the scope of a feature.
- Click Cut Bodies and select the Scissors icon while ensuring that the Consume Cut Bodies option is not checked.
- Exit Isolate to show all bodies.
- Isolate the last pair of joined wires.
- Run one more Split feature. This time, select only the face adjacent to the joint (see Figure 11).
- Click Cut Bodies and select the Scissors icon while ensuring that the Consume Cut Bodies is not checked.
- The result is a complete separation of the 14 wires.
Step 2—Isolate Each Body and Examine the Former Joint Areas
- For each former joint, the Split feature did a great job in healing the imperfections in one of the bodies involved in the joint (see Figures 12 and 13 for before and after images, respectively). We were very surprised to see how efficient this tool is. Half of the patching has been done for us.
- Isolate he solid body of the large perimeter wire and of four of the horizontal wires. There is no sign of the former joint areas. These bodies are clean (see Figure 14).
- Examining the rest of the wires, imperfections in the former joint areas are visible, as shown in Figures 16-18.
Tip #3: You can use multiple windows of the same file to see different areas of the same part.
Tip #4: Each window can be displayed in a different style (e.g., shaded, shaded with edges or hidden lines visible).
Step 3—For Each of the Bodies That Will Be Repaired, Select the Faces Created by the Former Joints
Trying to select all those small faces is extremely cumbersome. Fortunately, the clever SOLIDWORKS PowerUsers found a quick shortcut.
Tip #5: To quickly select all the faces with imperfections, take advantage of two time-saving tools: Selections Sets and Invert Selection options.
To speed up the selection process for all faces that have imperfections, follow this method for each body:
- Select a face with your right mouse button, and pick Select Tangency from the menu as shown in Figure 19.
All faces tangent to the selected face are now selected.
- Right-click on the empty space in the graphics area and select Invert Selection as shown in Figure 20.
Step 4—Delete and Patch the Imperfections
One of the best reverse engineering tools available in SOLIDWORKS is the Delete Face feature.
When using the Delete and Patch option, the software performs multiple operations (see Figure 22):
- Deletes the selected faces.
- Untrims the surrounding faces.
- If some of the surrounding faces intersect each other during the untrimming process, the software will perform a mutual trim on them.
- Knits all the resulted faces.
- Solidifies the result.
The result is a clean wire (see Figure 23).
Step 5—Repeat Step 3 and 4 for Each Body
Note that sometimes the Delete and Patch option can trigger an error like the one shown in Figure 24. If you experience that, continue with Step 6.
Step 6—Delete Faces Using the Delete Option
When Delete Face combined with the Delete and Patch option does not work, you need to use surface modeling tools. First, you will need to delete the faces with imperfections using the Delete option of the Delete Face feature.
Tip #6: The edges surrounding gaps are colored blue and are called open edges. Each of them borders a single face.
Step 7—Eliminate the Gaps by Using the Delete Hole Feature
To eliminate the gaps,you have two options:
- Heal the surrounding faces to the shape.
- Fill the gaps with new faces.
The first option is the most elegant, so we will try it first.
To heal the surrounding faces, you can use two features:
- Untrim Surface.
- Delete Hole.
It is interesting to note that sometimes one feature will work and the other will fail. So, it is worth trying both.
In this case, I will use the Delete Hole feature.
Tip #7: To instantly select all open edges from this body, simply press CTRL+A. SOLIDWORKS will select all entities of the type required by the feature. This technique works with many other SOLIDWORKS features.
Now the open edges were removed and the faces healed, but the wire is still a surface body.
Step 8—Thicken the Surface Body
The Thicken feature is one of the many ways in which a surface body can be turned into a solid. In this case, the Thicken feature will work fine, considering that the surface body is a manifold (see Figure 29).
The result is a solid body as shown in Figure 30.
For situations where both the Delete Hole and Untrim features give you errors (see Figure 31), go to Step 9.
Step 9—Fill the Gaps
Before we create new surfaces, let’s attempt to heal part of the gap. This is where the Untrim Surface feature can do a great job (see Figure 32).
Notice how clean the elbow face is now.
It may be tempting to simply fill the gap with a Fill Surface feature, but the wire will not be geometrically correct if you use that feature.
It is time to share another gem from Michael Lord: using the Thicken feature to achieve the expected result.
Follow these steps:
- Measure the length of the gap.
- Delete the two faces on the top and left of the gap.
- Create a planar surface on the open edges.
- Thicken the planar surface based on the measurement from Figure 34.
At this point, we have a surface body and a solid body defining a space. There are many options to solidify this space, and one of the fastest is to use the Intersect tool as shown in Figure 38.
The end result is a collection of 14 different wires as solid bodies, which could be further processed by using a wire-bending software.
This is just one of many solutions to this problem.
For example, if the user does not require patching the gaps, distinct surface bodies could be created quickly for each wire using one of the following two methods:
- Offset Surface with zero offset (Copy Surface).
- Delete Face with the Delete option.
From here, Justin Pires described an effective time-saving technique that automates most of the gap-filling process.
- Use the Move Body command to separate the wires (they should not touch; otherwise, the Import Diagnostic tool will heal them back into a unique solid body).
- Save the file as Parasolid.
- Import the Parasolid file in a new SOLIDWORKS part.
- Run the Import Diagnostics tool.
- Import Diagnostics does not like surface bodies much, so it will quickly point out all the gaps on each surface body. In this example, we have a total of 74 gaps (see Figure 43).
The end result—14 solid bodies, one for each wire.
The only problem with this solution is that the former gaps are filled in with the equivalent of Fill Surface features with contact. That being said, the wire-bending software can work with such geometry.
Comments on All Submissions Received in the SWPUC 27
1. Ravi Teja used the Split tool in an interesting way to separate the wires.
His FeatureManager design tree is very short—with just eight features!
The only comment about the Split tool is that it requires quite a lot of user input in deciding what is kept and what is removed.
Ravi’s model could have been improved by repairing the geometry around the split areas.
2. Taylor Duran also used the Split tool to separate the wires. His FeatureManager design tree is even shorter than Ravi’s. In order to achieve that, Taylor used existing faces as splitting entities. It’s a very interesting approach—something that I had never seen before!
Like Ravi’s, Taylor’s models could be improved by repairing the geometry in the split areas.
3. Michael Lord also used the Split tool for separating wires. He saved more time in operation by simply using all faces as splitting entities. Remember that CTRL+A allows a quick selection of all entities of the same type.
Michael also cleaned up the geometry. He used the Delete Face feature and Patch option as much as he could as a reverse engineering tool. He also had a very interesting approach to recreating defective geometry. The offset face followed by Thicken is a masterpiece, since it can be easily automated as a macro.
I will use it from now on, anytime the Move Face feature does not work.
Great job, Michael!!! Also, many thanks for fully commenting your FeatureManager tree!
4. In past SWPUCs, we were spoiled by, and delighted with,the unorthodox solutions proposed by Heiko Sohnholz. He did not disappoint this time either!
For the import process, he chose to import each face as a separate surface body. That allowed him to pick and choose what faces would be part of each wire body. According to Heiko, the wire stitching process was facilitated by the lasso selection tool.
To remove the gaps in the surface bodies, he used the Delete Hole feature. Here, I recommend trying the CTRL+A shortcut, to quickly select all the open edges. I will record a video to show this technique.
Once all the gaps were eliminated, he used the Thicken feature to create solid bodies.
Like Michael, Heiko finished up by improving the geometry in areas where reverse engineering methods did not work.
Original solution, as always! Great job, Heiko!
5. Justin Pires submitted one of the most original solutions.
He quickly separated the bodies, saved the resulted part out in a neutral format, and reimported it.
Once the part was imported, he took advantage of the excellent gap patching functionality within the Import Diagnostic tool.
Hats off to such an innovative approach, Justin!
6. Henk Bruijn De decided to recreate the part. We appreciate the fact that he detailed all steps in the Design Journal. I strongly recommend reading the journal because Henk sprinkled in several tips and tricks!
One thing I liked the most was the way he built the 3D Sketches for the Sweep Paths.
He made only one mistake in assuming that the vertical wires are identical. They are not.
Winners of SWPUC 27
Choosing a winner was a difficult task. In the end, I decided to reward the solutions from which I learned the most new techniques.
The power of brainstorming was used one more time to solve a modeling challenge. If you have other suggestions, please detail them in the comments area.