prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.72k stars 1.93k forks source link

Feature request: minimum perimeter / area size for fuzzy skin to avoid it on embossed text #9130

Open edwardhorsford opened 1 year ago

edwardhorsford commented 1 year ago

I've got a model with fuzzy skin on the inside and outside. The model also has embossed text on the top. I'd like the interior walls of the text to not have fuzzy skin.

Screenshot 2022-11-06 at 13 19 55

I can add a modifier to disable fuzzy skin, but this produces other artefacts at the border of the modifier.

With modifier:

Screenshot 2022-11-06 at 13 22 50

As text is often made up of small perimeters, a possible solution is to have a minimum interior perimeter size for the fuzzy skin. This would let small details such as screw holes and text be free of fuzzy skin, whilst the larger model gets it as normal. I believe PrusaSlicer is already doing analysis on perimeters to detect interior and exterior surfaces - this could be an extension of that, measuring the total distance or perhaps the area of the enclosed perimeter.

foreachthing commented 1 year ago

This https://github.com/prusa3d/PrusaSlicer/issues/6988 could become a solution.

edwardhorsford commented 1 year ago

This #6988 could become a solution.

Indeed! Or if https://github.com/prusa3d/PrusaSlicer/issues/6881 weren't an issue too.

I suspect for some models though, a minimum area would be very useful - think a large model with many screw holes. It would be a pain to need to use a modifier for many tiny holes.

foreachthing commented 1 year ago

Just use a CAD software or something like Blender to create a modifier mesh. Then import that and change type to modifier. Better yet, create a multibody part. That way you don't have to align anything.

edwardhorsford commented 1 year ago

@foreachthing modifier meshes screw with perimeters.

There's also other downsides: for text you'd end up with tonnes of objects - each would need to be changed individually to modifier type, then the modifier individually applied. The modifiers can't actually be the negative shape - they also need to be differently sized.

Edit: also not so easy if you've not got the source model (though I do in this case).

DejfRCR commented 1 year ago

Or just paint the fuzzy (or unfuzzy) like supports, that would make it less painful than using modifiers.

Snuff1eupagus commented 1 year ago

Are you interested in an education on modifiers? I can be specific on fuzzy skins.

edwardhorsford commented 1 year ago

@Snuff1eupagus I observe that modifiers cause issues at the boundaries of the modifier - see my second screenshot. Do you have suggestions for avoiding this?

Snuff1eupagus commented 1 year ago

Yes I do, it's currently 2:28 am here I have prepared an example file for you, and an explanation of several things for you, and people reading this in the future. I will post it to this Feature Request in the morning so I can be clear headed in my Instruction and opinion. 4different ways halfs

Four different ways to apply these settings, and while my example is not closed, to produce it quickly, the exact same method can be applied to an inner and outer model, I've done it no fuss no muss. as well applying modifiers to text objects is nothing like your describing, It's super easy.
Inner and outter

edwardhorsford commented 1 year ago

I'd love to see an example of avoiding this with modifiers 👍

Note I've tried making modifiers in the shape of the text or possibly slightly larger. My comment there would be that those are a pain to make, and still have issues with fuzzy skin at the boundaries of the modifier.

Even if it works though... I think this feature request would be good. A model could have lots of inset text or small features. In general the fuzzy skin probably doesn't make sense for these - being able to easily threshold it would be helpful in these cases.

Snuff1eupagus commented 1 year ago

@edwardhorsford

I apologize, After posting this My mentor contacted me, and made a very good point, this is not the place for education, but rather the place where educated people make requests. As such I agree with his argument. I have to ask that you make a request on the Prusa forums. If you don't feel inclined to do so I understand, and regardless of what I have been taught, I will drop the subject. If however you are actually interested in learning about modifiers please post in the English section of the prusa forums PrusaSlicer section of the forums and I will show you what you need to know.

Once again Apologies however my mentor made a good point, and that prevents me from providing education here. Also if your Handle is different there please identify yourself, so I know Who you are.