I can’t seen to find the Rhinocommon difference between UnrollSrf and UnrollSrvUV and the default seems to be UnrollSrf which gives the same result as manually using UnrollSurf. However, when unrolling sheet metal, with explode turned off some of my unrolled flat polysurface parts have a 0.0012" sliding offset compared to being perfectly aligned in the 3D polysurface:
My Rhino tolerance is 0.0001" and I tried that for Rhinocommon/Python Unroller command with absolute and relative tolerance also set to 0.0001".
So I can avoid the offset error using UnrollSrfUV in Rhino but cannot access this command in Rhinocommon. I’d prefer if the normal command would work actually, in case any of my surfaces due to editing have become skew a bit in their UV structure.
It’s quite odd though, that Lowell claims in the linked page that there’s a modeling error in surfaces being a bit off in the model and he enclosed a markup of that model showing a gap. However when I open his model on top of my original I don’t see the gap whatsoever in my original. How is he getting it then? His model upload is seen in red, my original in green:
If it’s a modeling error, there’s hope I can find and fix these, but in this case I simply cannot even see the claimed error.
When I take his example model with exploded pieces and I join them and then expode again his gap is gone:
I do however get a slightly different length of the curved strips from top to bottom of the strip, so indeed the model itself is not even. I just can’t see it, and it’s only at the tolerance level of 0.0001" different. But the rest of the model where it works is exactly the same.
In my 3D original model I can indeed find slight errors in that the biggest surface isn’t perfectly rectangular. A bounding box around it shows this, but its’ only 0.0003" off.
This is fine for sheet metal work. Actually I’m using a highly complex Grasshopper script to compute bend reductions that adjusts things in the unrolled state, but it can’t work on bizarre disjoined edges. Explode/join is likely to fix that issue.
However, for this kludge I have to turn my Rhino tolerance up to 0.005" instead of my usual 0.0001" to no longer show naked edges with the surface analysis command.
Another way to define the Rhino bug is to exclaim that the 3D polysurface has no naked edges, while the flat pattern does show naked edges where before there were properly joined faces.
Trying the kludge first on the 3D model with 0.005" tolerance isn’t so lucrative since if I turn back town to 0.0001" tolerance for the unrolling, naked edges reappear. The original model shows no naked edges anyway.
So I merely needed to replace the native Grasshopper surface join component with a Python one that specified 0.005" tolerance when I join my unrolled flat pattern into a polysurface. The Rhinocommon command to unroll even with explode turned off doesn’t join the surfaces on its own.