alexrj/Slic3r — pull request #2039 by vitalif (2014-05-15 21:39:50+00:00)
Title: Raft/support is generated too low under object in 1.1.2 (patch fixes it)

Hi!

I've started to use Slic3r and noticed that raft/support is almost totally unusable, because it's generated 0.6mm under object material which makes it not stick to the raft/support.
The problems were:
1) 0.6mm contact_distance (0.4mm nozzle diameter * 1.5) is too big - that's 3 layers in case of 0.2mm layer! Also too bad it's hardcoded now, maybe 0.2 or 0.1 could be useful... So this patch changes it to logically just be "distance from support to object" instead of "layer height + distance from support to object", and makes the code work with any setting... So it should be possible to make it a configured parameter in later patches :)
2) I think the support layer height should be equal to object layer height... and what's more important, the RAFT layer height to be equal to object layer height so it can be aligned with the object... Again, I think support layer height should be configurable - maybe the another parameter should be also added...
3) printing with both raft and support, and without manually specified overhang angle, is totally broken - Slic3r tries to generate support material for ALL layers in that case. This was caused by the "different logic" of overhang detection that doesn't work if $d == 0...
4) IMHO that "different logic" isn't needed at all - as I understand it generates "inner" support instead of "outer", and I don't understand why the manual threshold angle, or presence of raft, or enforced support for first N layers should change the support generation algorithm that much... I think manually specified angle should just be manually specified angle, without any additional logic changes. So the patch removes it which also fixes (3)...

These bugs are kind of intermixed and depend on each other so I submit the fixes mixed up in one patch... I can try to subdivide them if that's needed...

By the way, thanks for your work, and I'm also happy you've done it in perl+xs because I'm also a perlist :))