Yep, ShrinkWrap is no exception to using Octrees… Try out the polygon optimization parameters and you should see some of this in action.
Hi @Japhy , I could test ShrinkWrap in GH successfully, but still can’t see this functionality available in the Compute API, or am I missing something?
Yes, Its in Rhino 8 RhinoCommon. As far as Compute access you may need to do a custom endpoint. I’ll defer to @AndyPayne on that one.
As Japhy said, the ShrinkWrap methods are in the Rhino 8 API… however, compute isn’t quite working with the Rhino 8 code base (yet). We had to make some changes now that Rhino 8 is targeting .NET 7 (instead of .NET 4.8). I know this is currently in progress so hopefully compute will be running smoothly again with Rhino 8 soon. But, unfortunately until that happens, you probably wont be able to use the Shrinkwrap methods.
Ok thank you for the precisions!
I guess I will still need to digest this thread before I’m on the same page.
While I do have a project I’ve been working on to try making use of this tool and staying motivated while doing it.
The main problem I had so far, was using a bad 3D scan that had a lot of holes, which seemed to be very problematic for this new ‘shrinkwrap’ tool.
It seems to work much different than I expected and doesn’t work well with meshes with holes.
It ended up creating an offset shell that added a bunch more work to delete the inner layer.
Eventually, I derived a solid over time that gave me the results I was expecting. But took weeks longer than expected.
The other problem I had was the current shape has deviated enormously beyond the original.
Next, I will try merging additional shapes into my current solid, but not sure this tool can even do that yet.
I’m hoping to use this feature in an automotive application in the future - essentially 3d printing body panels. I’ve been playing around with it - it seems like there is a ton of potential there but I’m running into a few issues:
-
All of these test cases seem to be closed (or with the intent to be closed) solids. However, I’m starting with body panels - the mold OML - and wanting to use Shrinkwrap to quickly prepare these surfaces for 3d printing. These panels need a minimum thickness for printing. When I put an offset into Shrinkwrap, it offsets on BOTH sides of the input surface, so I’m losing my OML. These panels fail in OffsetSrf (not that I’d expect them to work) and so I can’t simply OffsetSrf and then Shrinkwrap. Any suggestions? This seems like a very likely workflow that other people would want to do as well. Seems like starting from an open polysurface and wanting to offset in one (user defined) direction would be mighty useful.
-
It seems like it’s generating the final mesh off of the display mesh - just confirming this. I seem to get chunky output with lower quality display meshes. Shrinkwrap is using the display mesh for input, yes?
-
The minimum target edge length is kinda large for small objects. If someone is working on say a Hot Wheels model, they would likely need to scale it up, Shrinkwrap it then scale down the result. The ability to put in a smaller target edge length would be really nice.
-Sky
You can _ExtractRenderMesh, then OffsetMesh, then ShrinkWrap (without the offset)
Correct
I can set it here to 0.01, which seems adequate (at least for working in mm and target 3d printing), what number should this be you think?
BTW - in general I’m pretty blown away by how this tool handles whatever you can throw at it, once you understand what it wants and needs. I nominate this as the official ShrinkWrap theme song:
I’ll give that a shot!
Yeah that seems about right for small stuff. The people who will be clamoring to make it even smaller are probably the jewelry folks.
OffestMesh works so well that it looks like I can just skip ShrinkWrap entirely!
Out of curiosity - does OffsetMesh and ShrinkWrap use the same method to offset the geometry? Is ShrinkWrap just using OffsetMesh in the background to do offsets?
shrinkwrap is voxel based, offset mesh is a purely mesh based operation.
fwiw, offset mesh will self intersect if you push it too far, shrinkwrap will not.
Ahhhh gotcha. Is there any plan to make ShrinkWrap have the ability to do a one sided offset? Seems like anyone trying to preserve OML would be into that.
can always use offset, and then shrinkwrap to clean it up if it gets messy. the two work well together
Ok very clear. Many thanks for your time and explainations. Regards
I’ve used this excellent tool a few times now with no problems and nice fast results. I’ve hit an odd problem with a hull I’ve modelled up where the shrink wrap seems to add a hard edged planar surface in to the mix:
I’ve tried various settings on mesh density and tried the original surfaces and the meshes generated from those. I can’t think of anything in the model that would cause it to throw the shrink wrap so far out from the modelled shape.
Any ideas?
Thanks
Deri
Difficult to say without a file.
Try first changing your Display Mesh settings, and see if you get a better result
Since there’s no file to inspect, I would just guess that there’s an open edge or face somewhere in the underlying mesh and the Fill Holes option is selected. The Fill Holes option runs Rhinos Fill Mesh Holes command on the input mesh objects before trying to wrap them. Sometimes Fill Mesh Holes can create these sort of deviations if the hole it’s filling spans a long distance and there’s curvature along the way.