“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:


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.

Figure 1.  Why is there only one solid body?

The Challenge

What is a better environment for brainstorming the best solutions for hard-to-solve problems than the SOLIDWORKS Forum? This is the place that hosts the SOLIDWORKS Power User Challenges, or SWPUC.

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.

Figure 2. Imported body with an example of one of the 35 places where wires are joined by cross-wire welding.

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

Tip #1: Tylor Duran and Michael Lord proposed a twist for the selection of the trim tools of the Split Feature. Just use the existing faces as splitting entities.
That is pure genius!

  1. To select the trim tool, take advantage of the tangency between the faces of each wire as shown in Figure 3.
Figure 3. “Select Tangency” is an efficient tool.
  • 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).
Figure 4. Select Tangency used six times.
  • Ensure that Consume Cut Bodies is not checked.
  • Click on the Scissors icon (see Figure 5).
  • Click on Cut Part.
Figure 5. 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).
Figure 6. Two pairs of wires still joined. Splitting them required more user input.
Figure 7. This is the third pair of wires that are still joined.
  • 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.

Figure 8. Isolate is a great tool for decluttering the graphics area.
  • Click Cut Bodies and select the Scissors icon while ensuring that the Consume Cut Bodies option is not checked.
Figure 9. Due to the power of the Isolate mode, no other input is required from the user.
  • Exit Isolate to show all bodies.
  • Isolate the last pair of joined wires.
Figure 10. Isolate again to save time.
  • Run one more Split feature. This time, select only the face adjacent to the joint (see Figure 11).
Figure 11. Selecting only the face adjacent to the joint.
  • 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

  1. 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.
Figure 12. Before the Split feature, the intersection edge belongs to both faces that are intersecting.
Figure 13. After the split, the face of the bottom body is clean. No former intersection edge is present. The face of the top body “got” the edge.
  • 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).
Figure 14. The perimeter wire is clean.
Figure 15. Four of the horizontal wires are also clean. The Magnifying Glass is focused on one of the former joint areas. There is no signed of any imperfection on the surface!
  • 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).

Figure 16. Three imperfections on the vertical wires.
Figure 17. Imperfections on the left and right wires (right wire shown).
Figure 18. Imperfections on the “S” wires.

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:

  1. Select a face with your right mouse button, and pick Select Tangency from the menu as shown in Figure 19.
Figure 19. Select Tangency.

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.
Figure 20. Invert Selection.
Figure 21. The faces to be deleted are now selected.

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):

  1. Deletes the selected faces.
  2. Untrims the surrounding faces.
  3. If some of the surrounding faces intersect each other during the untrimming process, the software will perform a mutual trim on them.
  4. Knits all the resulted faces.
  5. Solidifies the result.
Figure 22. Example of using the Delete and Patch option of the Delete Face feature.

The result is a clean wire (see Figure 23).

Figure 23. The magic of the Delete Face feature with the Delete and Patch option.

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.

Figure 24. When the Delete and Patch option does not work, use the Delete option.

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.

Figure 25. Deleting faces will create gaps in the solid body, turning it into a surface body.
Figure 26. Surface body with gaps (the blue edges of the gaps are called open edges).

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:

  1. Heal the surrounding faces to the shape.
  2. 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:

  1. Untrim Surface.
  2. 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.

Figure 27. Simply press CTRL+A to automatically select all open edges.

Now the open edges were removed and the faces healed, but the wire is still a surface body.

Figure 28. Time to solidify the 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).

Figure 29. The Thicken feature.

The result is a solid body as shown in Figure 30.

Figure 30. The wire is now “clean.”

For situations where both the Delete Hole and Untrim features give you errors (see Figure 31), go to Step 9.

Figure 31. Sometimes the geometry is too complex for the Delete Hole feature.

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).

Figure 32. Untrim feature.

Notice how clean the elbow face is now.

Figure 33. After using the Untrim feature.

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:

  1. Measure the length of the gap.
Figure 34. If you do not want to use numerical input, there are other options.
  • Delete the two faces on the top and left of the gap.
Figure 35. Delete the two faces.
  • Create a planar surface on the open edges.
Figure 36. Planar surface to cap the gap.
  • Thicken the planar surface based on the measurement from Figure 34.
Figure 37. Thicken to one side.

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.

Figure 38. Intersect—the Swiss Army pocketknife of SOLIDWORKS.

The end result is a collection of 14 different wires as solid bodies, which could be further processed by using a wire-bending software.

Figure 39. Using a wire-bending software.

Alternative Solution

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:

  1. Offset Surface with zero offset (Copy Surface).
  2. Delete Face with the Delete option.
Figure 40. Creating distinct surface bodies for all wires. Yes, they have gaps where the former joints existed.

From here, Justin Pires described an effective time-saving technique that automates most of the gap-filling process.

  1. 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).
Figure 41. Move Body command.
  • Save the file as Parasolid.
  • Import the Parasolid file in a new SOLIDWORKS part.
  • Run the Import Diagnostics tool.
Figure 42. You should always run Import Diagnostics right after importing STEP, IGES or Parasolid files.
  • 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).
Figure 43. Simply press the Attempt to Heal All button until the gaps are no longer listed.
Figure 44. Mission accomplished—no gaps left here.

The end result—14 solid bodies, one for each wire.

Figure 45. All the wires are separated.

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.

Figure 46. The faces used for filling in the gaps have simple contact conditions.

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 winners are Michael Lord, Justin Pires and Heiko Sohnholz.

Figure 47 – Sample of the SOLIDWORKS Power User Certificate.

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.

Recent Articles

Related Stories

Enews Subscribe