slic3r / Slic3r

Open Source toolpath generator for 3D printers
https://slic3r.org/
GNU Affero General Public License v3.0
3.35k stars 1.29k forks source link

[feature request] magnet solid layers #1801

Open curiouspl2 opened 10 years ago

curiouspl2 commented 10 years ago

there is 'solid infill every [n] layers' option. I suggest adding 'magnet solid layers' option which would allow slicer to deicde where to place solid layer basing on other features inside solid areas - i.e. bridges, support structures for holes , etc. etc.

this way the [n] would be rather just suggested frequency while slicer would decide where to put solid infill basing on density of other bridges inside infill in Z dimension. this creates less curling and creates more structurally stable model, while preserving same or even better (because solid layers stick to i.e. edges of hole bridge layers) rigidity and durability. also amount of plastic would stay same.

if this option would also allow solid layers being independent on each isle (i.e. their magnet ratio could be different) this would be even better (especially if several models are printed on same table).

also there is no option to specify how many solid infill layers to create and how much they should overlap with perimeters (or if perhaps they could get extra perimeter layer below to allow ends of solid threads stick better and make better bridges)

similiar and related option 'multiply infill density average [n] layer frequency' with magnet options could be also usefull and would cos-play with above nicely.

alranel commented 10 years ago

I don't understand this.

Could you please start describing what problem are you trying to solve, or what goal are you trying to achieve? My brain is probably limited, but I can't really think about things starting from the solution instead of the problem. Could you provide pictures and test cases?

alranel commented 10 years ago

No feedback :-(

curiouspl2 commented 10 years ago

Excuse the delay, Goal of the idea is to change Z position of "solid infill every [n] layers" option

from fixed [n](current behaviour)

to "magnet" (variable) depending on other features inside model (i.e. bridges, holes, lone foregin objects , etc.)

this way those solid layers can act as additional reinforcement (i.e. preventing long briges to fall down into object, reinforcing i.e. screw holes which would end up in void of loose infill otherwise, etc)

lordofhyphens commented 8 years ago

Please provide pictures and test cases. I've added it to the list of things for enterprising individuals to take a look at it.

Frankly, I'm wondering if modifier meshes aren't a better solution.

bubnikv commented 8 years ago

I am curious as well :-) I roughly understand the intent, but I just cannot imagine simple enough rules to decide where to put the full layers and why.

curiouspl2 commented 8 years ago

hello :) sorry for delay again . here are some pictures .

general idea of how solid layers should get 'attracted' by problematic features like overhangs :

overhangs

and pictures of testcase : overhangs_testcase_a

note how it gets sliced currently. interior void is unprintable with sparse infill : overhangs_testcase_a_sliced

plus testcase for download : testcase_A.stl.tar.gz

ad simple rules : either just detect overhang faces (so just in XY plane, and with near zero Z) and/or also add other 'magnetic' ones which could be perhaps selected or rated with threshold and ratio like vertex count for example. could be also done by some cross-section sampling. rules can be really simple if they produce any meaningfull results as user can quickly switch through few sets of them to find the one best fit for current model.

note this is meant to be just very quick hack before real automatic generation of modifier meshes scripts will be ready, but for that who knows if it would not be better to use f.e. blender which already has framework for fixing 3d printing models.

mrvn commented 8 years ago

A full solid layer is not needed. The problem is that slic3r does not extend the top/bottom fill outwards until it rests on infill or perimeters. It does tend to extend it a bit but without regard of infill so it only helps if infill is not too sparse. But extending it a bit is enough. No need for a solid layer across the whole object and all islands.

bubnikv commented 8 years ago

@curiouspl2

rules can be really simple if they produce any meaningfull results as user can quickly switch through few sets of them to find the one best fit for current model.

That is the point. Would you please define the "simple" rules?

Then a "few sets" of them sounds like a nightmare to the average user to grasp. In my opinion, the slicer shall do it automatically, otherwise the feature is next to useless.

lordofhyphens commented 8 years ago

As I have observed at work, good, consistent requirements are difficult to write.