-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request: Automatic Brim on small contact points #1316
Comments
I've also been planning on requesting this. I also had an idea about automatically adding a brim on sharp corners to avoid curling, something like the MBI mouse ears. But increasing contact to the build platform for small island would be my priority. |
How about posting some screenshots to help others understand your new-fangled feature idea? Perhaps take a screenshot of the first layer moves, and add the moves you'd like to see on the "islands"? The word "islands" doesn't make sense to me at all. I use huge brims, especially on ABS, and any "islands" get eaten up in the "sea" of brim. Thus, I'm not sure if I catch your drift, so-to-speak, and that your feature idea is "really nice" or not. Maybe a diagram would help. |
An island is any area of a cross-section (layer) of the print that is disconnected from another area. The example I gave was printing a figurine with two feet standing on the platform. In every layer until it gets up to the crotch (where the legs meet), there will be two islands, one for that particular cross-section of each leg. If you use a huge brim on everything, there are unlikely to be any isolated islands in the first layer, but for a well-tuned printer, this isn't necessary and just results in additional cleanup work after printing and wasted material. Consider this model: http://www.thingiverse.com/thing:33902 . It has a nice large, flat bottom that should have no problem sticking to the surface, with the exception of the base of the arch, which is extremely likely to break loose. A smart slicer would figure that out and add a brim only to that part to keep it stuck to the platform. What's not shown in that picture is that that model has a feature that is a single layer and will inevitably break off with a brim or raft if one is used (as seems to have happened with the one in the picture). |
@whosawhatsis, what do you think about a setting for detectings thin parts (thinner than a configurable thickness) rather than working with an area? For example, very long thin walls might have a "normal" area but would still need brim. |
@alexrj That's a good point, though it does lead to another can of worms. What about thin protrusions from an otherwise thick base? I'm thinking of something like printing a shark that has been cut in half along the transverse plane, so that the cross section is roughly circular with a thin protrusion (the dorsal fin) on one end, which could detach from the platform and curl up. This would be bad, but not as bad (and not as likely to occur, given that it is anchored strongly at one end) as if the thin section was a separate island. In a more general sense, what you're proposing can be thought of as automatic mouse ears for corners. Such a feature would ideally also consider the height of the section that it was going to build an automatic brim around. Going back to the torture test model I linked above, the thin, single-layer section should not need adhesion help even though it's not much thicker than the base of the arch. This is partially because it's attached at one end (while the base of the arch does not attach to anything else for many layers), but also because, being a single layer, it does not have any warping forces acting on it, and it there will not be leverage acting on it to knock it loose as future layers come in contact with it. So yes, I guess width should be part of the equation, but area is also an important consideration. Ideally, there would be a setting for the minimum area of any island on the first layer, and another setting for the minimum width of any protrusion on the first layer, possibly with some kind of angle threshold as well so that it can get sharp corners, though the medial axis code probably gives you a better way of determining this (with a rule along the lines of "for the first layer, everything within X millimeters of a medial axis must be filled with plastic"). |
I've thought about this problem also - both for the small islands (like the arch of that model) but also for corners to help prevent lifting - you might want 10mm mouse-ears around each corner below a given angle (e.g. 135deg or less), but dont want/need brim around the entire model. so that might be a second critieria for auto brim,
e.g. a big star with many points would need it at each point (if the height is enough to result in warping/lifting) or even a small protrusion which is still 'connected' to bottom face and hence will be larger than a given small area |
The idea I posted above for using the existing medial axis code should result in mouse ears being generated for sharp corners as well as for thin sections of a uniform width. |
@whosawhatsis, yeah, I was referring to that kind of logic when talking about 'thickness' (maximal disks, or whatever). This would basically produce mouse ears, as even for a regular cube we'd get four brims at corners... |
Still, the algorithm is not clearly defined… I need to think more about it :) |
Regarding #3700 this does seem to be a different issue to use of (or automatic generation of) mouse ears though there is some cross over. Mouse ears work, by my understanding, partly by adding additional contact area, at the point on the perimeter where it is most needed. The area where the concentration of contraction forces is greatest, which is the point that lifts first, and also by being circular. The contraction forces on a mouse ear are distributed evenly around it. The link is that generating a mouse ear at the end of a long sharp point will have a higher chance of holding it down than generating a brim in the conventional sense. A brim around a mouse ear is just an extension of it. |
@whosawhatsis does #4691 satisfy this request? |
A really nice feature to have would be an option to set the minimum platform contact area. This would evaluate each island of contact with the platform (area of the first layer) separately (even separate contact points of a single object, such as the feet of a figurine), and if the contact area is below the set value, it would automatically add a brim to that island only to increase the contact area. The width of the brim would be calculated to increase the contact area above the threshold. This would, in most cases, make it unnecessary to mess with the brim setting and change profiles (particularly annoying when using Slic3r through a host program), as the brim would automatically be activated when it is needed, and only where it is needed.
The text was updated successfully, but these errors were encountered: