I’m constantly joining and splitting surfaces to see if there’s any gaps, check curvature, add fillets etc. etc.
What’s hampering this workflow is Rhino’s weirdly uneven idea of shrinking joined surfaces. Sometimes, it shrinks it right up to the very edge of the trim line, which can make it difficult to re-trim after extraction, and sometimes it does leave a millimeter overflow (like other CAD software does), but this feels random (I often leave quite a large overflow).
Is there a setting somewhere to control this?
Ideally, I’d just like the Join command to leave my surfaces alone and not shrink anything.
(Also, unless I’m imagining things, sometimes trimmed fillet surfaces seem to get extended too…)
@eobet Are you using Join or JoinEdge? JoinEdge sometimes will alter trimmed edges to join surfaces which otherwise would not be within the absolute tolerance of each other. Other times JoinEdge will mark the surfaces as joined without altering the trimmed edges. I am not aware of Join altering surfaces.
how did you model that piece? If you did it by splitting with the Split command, it could be that the option shrink=yes was active. Other than that I cannot think of something that could cause this to happen.
If a trimmed edge is an isocurve then ShrinkTrimmedSrf shrinks the surface to the isocurve. If the trimmed edge is not an isocurve then ShrinkTrimmedSrf shrinks the surface to an isocrve which is close to but not quite touching the trimmed edge. That leaves a margin around trimmed edges which are not isocurves…
In contrast ShrinkTrimmedSrfToEdge shrinks a surface to the isocurve which touches the trimmed edge.
I think I may have discovered the culprit: Offset with Solid=Yes shrinks even the original surfaces!
Also, many resulting surfaces seem to be unnecessarily trimmed (untrimming with “keep objects=yes” shows a border exactly matching the offset surface).
This was two surfaces before doing a solid offset, now it is three:
(Also, perhaps because of this, the solid offset produced a bad surface. It was a part of a logo, so it took me a while to figure out why the subsequent boolean failed…)
Yes, the surfaces are shrunk before offsetting to make the offset calculation and extensions simpler. My guess is that the shrunk input surfaces are used in the solid result because it makes the wall creation more reliable. I will add a Youtrack item to look into not doing that where possible.
Ok, so my workaround now then is to not delete the input surfaces, extract the border around the thickened created surfaces, delete the polysurface at the same location as the original, and then join everything together again…
Could I request an option “Shrink=No” that still shrinks a copy of the surfaces for offsetting purposes, but then joins the original surfaces to the final closed body instead?
Except for the “option” part, that’s exactly what Chuck wrote, isn’t it?
So, to clarify, you also want an option (“Shrink=Yes”) to not use the original surfaces even though the original surfaces can be used?
-wim
Well, I interpreted “where possible” as Rhino will still shrink the original surfaces sometimes. So my suggestion was to go ahead and still always do it, just do it in a separate copy that will never end up in the final result.