mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-13 17:58:03 -06:00
Implemented volumetric flow rate hints,
removed some C++11 conditioned compilation. Slic3r now requires C++11.
This commit is contained in:
parent
9a0100d6de
commit
b23b9ea1d2
10 changed files with 151 additions and 236 deletions
|
@ -8,39 +8,6 @@ namespace Slic3r {
|
|||
// This static method returns a sane extrusion width default.
|
||||
static inline float auto_extrusion_width(FlowRole role, float nozzle_diameter, float height)
|
||||
{
|
||||
#if 0
|
||||
// Here we calculate a sane default by matching the flow speed (at the nozzle) and the feed rate.
|
||||
// shape: rectangle with semicircles at the ends
|
||||
// This "sane" extrusion width gives the following results for a 0.4mm dmr nozzle:
|
||||
// Layer Calculated Calculated width
|
||||
// heigh extrusion over nozzle
|
||||
// width diameter
|
||||
// 0.40 0.40 1.00
|
||||
// 0.35 0.43 1.09
|
||||
// 0.30 0.48 1.21
|
||||
// 0.25 0.56 1.39
|
||||
// 0.20 0.67 1.68
|
||||
// 0.15 0.87 2.17
|
||||
// 0.10 1.28 3.20
|
||||
// 0.05 2.52 6.31
|
||||
//
|
||||
float width = float(0.25 * (nozzle_diameter * nozzle_diameter) * PI / height + height * (1.0 - 0.25 * PI));
|
||||
|
||||
switch (role) {
|
||||
case frExternalPerimeter:
|
||||
case frSupportMaterial:
|
||||
case frSupportMaterialInterface:
|
||||
return nozzle_diameter;
|
||||
case frPerimeter:
|
||||
case frSolidInfill:
|
||||
case frTopSolidInfill:
|
||||
// do not limit width for sparse infill so that we use full native flow for it
|
||||
return std::min(std::max(width, nozzle_diameter * 1.05f), nozzle_diameter * 1.7f);
|
||||
case frInfill:
|
||||
default:
|
||||
return std::max(width, nozzle_diameter * 1.05f);
|
||||
}
|
||||
#else
|
||||
switch (role) {
|
||||
case frSupportMaterial:
|
||||
case frSupportMaterialInterface:
|
||||
|
@ -53,7 +20,6 @@ static inline float auto_extrusion_width(FlowRole role, float nozzle_diameter, f
|
|||
case frInfill:
|
||||
return 1.125f * nozzle_diameter;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// This constructor builds a Flow object from an extrusion width config setting
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue