I’ve noticed that in GrabCAD I could find these models with misaligned patches. I was able to fix them with !_JoinEdge in Rhino8. I am not experienced in CAD.
I would like to know the following:
Is there a name for these gaps between untrimmed parametric patches?
Is this a common issue that CAD users experience?
How would you normally go to fixing them (what commands do you use)
Is there existing software that automatically fixes them (without having to selected edges or patches)?
Hi @Cedric_Martens
I’m sure others will chime in as well, cause there’s more than one answer, I reckon. First off: without seeing the actual model, it’s impossible to tell exactly what’s wrong with the surface(s). You can’t tell from a screenshot if it’s a tolerance issue, floating point error, lousy modelling or something completely different. What I CAN say for sure, is that using JoinEdge to fix it will bite you in the ass sooner rather than later. You should fix it by fixing the surface instead, as JoinEdge essentially overrides the tolerances and fools Rhino into believing the surfaces touch; even when they don’t. As for the questions:
1: I think the technical term is a hole Sorry for the poor joke, but it’s just a gap/hole, and depending on how it got there (tolerance issue etc.) it doesn’t have specific name, I think. Some of the bigger NURBS brains might have a more specific moniker for something lile that.
2: Personally I import a LOT of files (mostly STP) coming from a wide range of other programs, and the most common issue I encounter is bad trims on things like fillets and spheres. Actual gaps is not something I see often.
3: Depends on the problem - impossible to say without a specific file to look at.
4: I know Solidworks has a “fix the imported geometry for me”-button, but it does - more or less - the same thing as JoinEdge does: Loosen tolerances and “force joins” edges, often leading to faults downstream.
My 2 cents
Regards, Jakob
You mean what loosening the tolerance means or what tolerance IS? “Joining” objects in CAD is not an exact thing, it means determining if their edges are “close enough” together, then it just makes a new edge that’s the average of the two. The underlying surfaces are unchanged, it’s just saying “treat these like they are sealed up.”
“Close enough” is determined by the file absolute tolerance setting, and JoinEdge lets you override that and “join” edges that aren’t close at all. Which may be a bad idea.
opened the linked file (3dm)
the geometry is quite far away from the origin.
and the surfaces look a bit heavy…
maybe great for visualisation but not sure - woulds your next step with the 3d model ?
@JimCarruthers Thanks for the clarification. Does this mean that joining two edges of two NURBS patches results in no change in both of their control points?
@Tom_P This is not my design. I was just looking around GrabCAD and found this one to ask my questions. Would you say this model is not typical or badly designed?
Joinedge is not a fix. Joinedge will simply ignore tolerance and force join both surfaces. This can be useful in very limited situations, like getting out a mesh that is closed. but, from an engineering point of view, JoinEdge is a complete fabrication. Using Join command that respects tolerance is much better.
But of course this model is using a tolerance of 0.3 mm or so. This might be OK in some situations, but in others it might be too large.
That small gap on the stern is easy to fill with a small loft.
The objects are grouped, that is unfortunate, so exploding and ungrouping will all parts to be selected.