Rhino 8 Feature: ShrinkWrap

Hi there, The ShrinkWrap tool looks like an exciting addition but I’m having an issue getting it to work, every time I trial ShrinkWrap I get the message ‘ShrinkWrap failed to generate a mesh’. I have an 8 year old macbook pro running MacOS Big Sur 11.7.1 Could the issue be with my older mac?

Any help would be greatly appreciated.

Share your file and system info on a separate thread. So we can help you.

I had really wished ShrinkWrap could produce an acceptable result with this the type of object in the file below. Even if I set the edge length target very fine, it cannot produce sharp edges, they are always jagged and “bitten-off”…

TestAFewBldgsMM-SW.zip (6.4 MB)

This (want to eliminate the overhangs):

Becomes this (settings edge length 0.05mm, unwelded afterwards):

When Magics first introduced Shrinkwrap for fixing 3D printing objects maybe 15 years ago, it produced the same kinds of artifacts…

the more important question is even with this, does your printer even care?

I’d be curious to see some test prints to see if any of what you are seeing translates to actual physical flaws in your part.

In my experience, stuff that look like that on screen typically prints fine, and even if there are some small defects in the print, by the time they get cleaned up, or primed, painted, etc… these flaws are a non issue.

Even for tooling, this stuff tends to get polished out.

But your mileage may vary from mine. :slight_smile:

Yes, it does, the defects are on the order of the max edge length setting, so in this case around 0.05mm. A good quality 3D printer (polymer inkjet, sla) picks this stuff up no problem. Of course, I could set the threshold even lower, but my experience is that it simply hangs Rhino. Already one small building had over 60K faces because everything is subdivided, not just the edges. That’s mostly unworkable if there are a large number of objects. MergeAllCoplanarFaces does not work to reduce that - all it creates is NGons, it does not actually “merge” any faces…

These objects generally don’t get individually sanded - when there are hundreds of them they might get a light sandblasting, but that does not fix the defects/softness at the edges. Painting only adds more edge softness, so the idea is to have as much sharpness as possible to begin with.

standard layer resolution for most DLP’s is going to be around .025 mm in Z thickness and around .05 mm YX resolution. You’ll see more Z layers on this part than you will double contouring side effects. SLA generally maxes out in spot diameter around .05 so it’s a non event. FDM will definitely never show any of this at these resolutions. If anything 1 or 2 smoother iterations could be helpful here if it doesn’t cause too much shrink. Daniels been working with some Implicits that might be helpful in these sorts of scenarios but SDF is always going to result in these sorts of artifacts to some degree.

Well, we can agree to disagree… If the result of Shrinkwrap leaves, say a 0.05 chamfered corner, then the slicing will reflect that and the toolpath will follow the chamfered slicing contour. The result is this:

The red line is the slice polyline, the blue circles represent a 0.05 diameter ‘spot’ that follows the toolpath. The “sharp” corner has the theoretical radius of the spot (0.025), whereas the chamfered corner is flattened off and has a sort of “visual” radius of around 0.06.

Yes, we can certainly make the target edge length smaller still, but the amount of mesh faces required goes up exponentially, and the whole thing blows up memory and processing wise…

Did you print it yet to verify you can see it? Have you also adjusted the polygon optimization and smoothing values at all?

Smooth 3 , poly optimize 50%

The Z slice will be far more noticeable than any of the contouring.

I’m curious now. Can I have the file please? I’ll print it here on the 8K Elegoo Saturn 2 at 3 micron and we’ll settle this.

G

its posted above. The saturns max XY resolution is 28.5 microns. So id say wrap it at .02 to .025 mm.

It is a great tool! Better than in Geomatic Wrap and Co. Very good! For my workflows target edge length need to go below 0.01. I am aware of the option to change units but in some cases it would come in very handy to go below 0.01 in meters.

make sure you have the RAM to back that up… :slight_smile:
You’ll be getting millions and millions of polys when you start wading into that sub .01 territory.
[/quote]

Yes, very practical when you have a couple of hundred of these to produce.

using the optimization and possible a post process mesh reduce will be your friend here.

I get your point but I think you missunderstood: 0.01 in meters is 10 in mm. So it is relative. It looks more like low poly art sometimes :wink: Also working in meters does not mean that you have large objects. Sometimes working with 3D-Scans which often are in meters natively this could be very useful—without constantly changing units → Reason for not changing is the retexturing process.

Edit: If you want to set an artificial limit which is never a good idea the limit in meters should be 0.0001 then which is the same as 0.01 in mm. But again let users decide pls we are all grown ups here :=)

@gustojunk

You might want the same objects in clean, closed, sharp cornered form to compare…
TestAFewBldgs-Sharp2.3dm (1.7 MB)

@theoutside
FYI, running ShrinkWrap on just one of those buildings at 0.02 and 100% optimisation ran my computer right out of its 32Gb memory and made the entire machine unresponsive - I had to shut it down with the power button…

And, it looks like doing that borked my license. Rhino doesn’t find my cloud zoo license anymore after a restart, even if I logout and log back into my account.

edited for more detail-

the trick is to start with a larger edge length value and slowly crank down and evaluate each step until you get good results.

the optimization is a decimation of the result of the above.

going full tilt boogie from the beginning most often ends in RAM based tragedy.

You’re approaching this as if it were one or two isolated objects. This is one of hundreds of similar objects that need to be processed in one go, not individually. The 0.02 setting was @Trav 's suggestion for the 3D printer @gustojunk mentioned. I set the optimization to 100%, maybe that was a mistake, as I have no idea what it does - but I figured since you mentioned the term… I’ll try the same object with the suggested 10%.

to be clear edge length controls poly count, optimization value is a decimation of the number of polys.