Bug in untrim

… as you can tell I have done the transfer to V6 for production…

so here is anohter bug:
If I try to untrim the hole on the seam of this polysurface then nothing happens, no visual feedback, no text feedback, nothing. It is just ignored.
But if I explode the polysurface then I can untrim it, in two stages.

Rhino should at least give a feedback that the edge was selected and that untrim failed.

untrimbug.3dm (96.4 KB)

Being able to remove holes across a seam - now that would be sweet…

Yeah, for it to figure out that the other half of the circle is attached shouldn’t be too difficult.
(but the main point here is that it works on the single surface but not as a poly :slight_smile: )

Not so sure about that, it’s just a Brep like any other and the two halves of the circle are just part of the outer trim loop along with the rest of the edges (imagine if you unrolled the surface). So what you would need here is some sort of feature recognition or trim history…

Well, it’s not difficult to find the endpoints of the trimlines (Rhino removes it, so it knows what to remove, thus where they start and end even if they are polylines) and then check if the surface edge is joined to one of the other sides and if so check which of the other edges trimlines that match up with those two endpoints and then remove it.

Yes, as I said, “feature recognition”…

Sure thang, I was just referring to the “difficult” part, :smiley:

The difficult part is reliably generalizing the “feature recognition” to any sort of hole that crosses a seam in any sort of polysurface…


well it indeed does not give any feedback also not on mac rhino. i at least get this feedback in the command history Face has no inner loops when trying to attempt an UntrimAll.

a question would be - in what way does the seam break a function which would work if the seam is just moved? maybe possible to implement that if its not there already… so it is actually a bug i would say most definite if it does not even give any feedback.

28 33


The seam going through the hole means that the trim becomes part of the outside edge loop and therefore no longer qualifies it as a"hole" (in NURBS terminology)… If you move the seam away from the area, it becomes an inside loop again. NURBS surfaces are defined by a base surface and one or more trim loops - there is only one “outer” loop, there can be from 0 to many “inner” loops.


probably, still this shows that having it done automatically might not be so difficult, since its just a “virtual” mater of moving a seam.

Yep, certainly, as this is a closed surface (cylinder) and that it is a seam edge (where the surface joins itself) in a single surface. Now, imagine you have exactly the same object, but the cylinder is composed of two half cylinders joined together - a structure that is often encountered in parts imported from solid modelers like Solidworks by the way. It is no longer a single surface internally and thus it is impossible to just move the seam. That’s what I mean by the difficulty in reliably recognizing such features - there are a lot of different possibilities…

Hi all - one thing that may help here, in this particular case, though you still need to extract the cylinder from the polysurface, is ReplaceEdge on the edges of the half-circles.
Hmm- I take that back, it does not help - it leaves a naked there. I’ll see if we can fix that. https://mcneel.myjetbrains.com/youtrack/issue/RH-42989