The SolidWorks “Black Hole” Feature
I can’t take credit for the name. Some guys I work with from time to time actually named this. Â The idea is that every now and then you get a feature that sucks all the geometry around it down to a single point. Maybe it’s just the display getting sucked, or maybe it’s just the edges and not the faces. Sometimes there is an easy fix for it, and sometimes not. It’s almost always difficult to trouble shoot. The black hole on the image to the left is in the lower left hand corner of the part. Notice that two edges no longer exist, and the main curved edge of the part is sucked back to the back corner.
Parts in this state usually look a lot more faceted than usual, and sometimes look like the faces don’t match the edges or vice versa, especially if you have dynamic highlight turned on.
In this case, it was caused by cutting through a fillet and a shell feature with a plane. I originally thought there was some problem with the shell feature being thicker than the radius of the fillet, but I changed the
order of the features (put the fillets after the shell, and I got the same (black hole) result. If I moved the plane used to split the part by 0.010″ the geometry was correct. It was actually done on a multi-body part, and affected two different parts in the same place. There is a place at which the Split feature actually fails (that is being cut by a plane fails with a message that sounds like aliens living inside the black hole are trying to communicate. Of course there is only one split tool selected, which is a plane, and a plane should be able to cut through anything. I can’t see an excuse for a plane not being able to split something (as long as it doesn’t create a zero-thickness area, like splitting at the crotch of a “V”).
I’ve run Tools>Check on this part, and it has no geometry errors, either with or without the Black Hole. The most common symptom I’ve found when I run into it is some sort of edge error on a connected edge or face. I’ve seen it on parts that weren’t multi-body.
If you look in the inside corner of the gray part where the black part should be, you can see that the edges are getting distorted a little, but not as much as on the black part (body).
[pullquote]The tool selected cannot be used in combination with the other tool already selected for trimming the surface.
– Wisdom from the depths[/pullquote]
This kind of thing only happens now and then. I’ve probably only had a handful of projects where it happened, and dozens where it didn’t. There is often something a little “funky” about the model before the Black Hole shows up. This model didn’t have anything “funky” once the fillet and shell feature order was taken care of.
Have you ever seen this before? How did you deal with it? Have you noticed any patterns leading up to a Black Hole?
[poll id=”11″]
Here’s my solution for this that works often but not all the time.
First, turn on “Verification on rebuild” (Tools>Options>System Options>Perfomance>first check box). (Turn this off when done because it will increase each rebuild time.
Second, do a Ctrl+Q rebuild. This is different from the standard rebuild because it rewrites the entire file from start to finish and not just things that have changed since the last rebuild.
It’s likely some of your feature that were OK will now fail.
Third, go back and fix these failed features.
Ctrl+Q with verification turned on is a handy tool that forces errors to appear that for some reason SW let slide by. It’s good practice to do this every once in a while and especially as a final step before handing the file off.
Yeah, I’ve seen it a number of times. Sometimes I can go back and make some subtle changes and the model will rebuild OK. Other times, especially when I find that its source is buried deep in the model, I will use Delete Face to clean it up. A few times I have just had to live with it.
I think I have seen it happen where the model is corrupt, but usually, like your experience, a Check seems to think there is no problem at all.
Considering the kernel is responsible for topology, surely it is the fault of Parasolid? I have seen this many times and reported it to my reseller who have been great, but unable to offer me a better solution.
“…with a message that sounds like aliens living inside the black hole are trying to communicate” made me laugh!
I’ve seen this a lot. It’s easy to understand when you’re used to Rhino modelling where you can join edges of surfaces that are far away; in the surface world, the surfaces and their boundaries are defines separately and can live far from each other. It’s coming from the edge joining tolerance too close to the feature size (or I should say the other way around).
Most frustrating is when you’re working on half of a symmetrical model and one side shows this and the other is correct.
I have noticed the blackhole appears some times when I have more than one SolidWorks session running at the same time. I always thought it was because I messed up something in a feature upstream..
..yep, definitely have seen it many times and fixed it many times.. usually see it after I have split (or insert) away a body and also in the master part (surface boundaries all extend well enuf but NOT enough for the brep to solve??). I’ve also seen this with may imported parts with very tight boundary surfaces, that is, it can be a simple planar surface which you can not extend beyond the existing boundaries and the adjacent surfaces will fail or have errors.
Sometimes (not always) a simple STEP or IGES export/import will solve those problems.
…maybe a relative/precise tolerance issue with the brep?
Geez, I’ve had this happen perhaps a dozen times—and recently with a complex surface-heavy master model for plastic housings (that had a myriad of other problems). My fix at the time was to tweak the shell thickness (upstream) by just a few thousandths of an inch, and everything was fine after that. I even had the fail to split with my surface, including the nonsense “wisdom from the depths” error message (though I used an extruded surface consisting of two lines connected with a generous radius as my part split).
In case this helps, this model also had surface ID problems, which caused sporadic fail-on-rebuild for some of the features in the tree. After working with my VAR to determine two or more faces had the same face ID, I split one of those surfaces upstream and resolved the problem (guessing the split would force the software/model/whatever to re-identify the two “new” surfaces with a unique identity). Fortunately, that worked on this model. Perhaps there’s a relationship with these issues?
This hapens to me almost 100% of the time when I’m using Delete and Fill. So I have to choose between having non-tangent faces and this black hole.
I see this regularly.
Delete the offending face, and replace it with a new one. You can even get away with offset and “replace face” sometimes. Other times you need to delete face, and recreate it from curves, and it typically works after that. More often than not it is caused by bad knitting tolerances, and not always with the “knit” tool, sometimes with tools like fillet where there is nothing to adjust. I also get the problem often with imported bodies, where I just recreate the surfaces.
Yes, I’ve seen this just a few times. But I quickly delete the most recent feature(s) and move on.
Devon