mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-23 06:33:57 -06:00
ENH: fix extrusion of interface on the first layer
Signed-off-by: qing.zhang <qing.zhang@bambulab.com> Change-Id: I08a3599e349f2137a53737010220209dc2a54d6a
This commit is contained in:
parent
8d71053b08
commit
1167225348
1 changed files with 7 additions and 3 deletions
|
@ -4517,9 +4517,13 @@ void PrintObjectSupportMaterial::generate_toolpaths(
|
||||||
(m_object_config->support_interface_bottom_layers == 0 && &layer_ex == &bottom_contact_layer);
|
(m_object_config->support_interface_bottom_layers == 0 && &layer_ex == &bottom_contact_layer);
|
||||||
//FIXME Bottom interfaces are extruded with the briding flow. Some bridging layers have its height slightly reduced, therefore
|
//FIXME Bottom interfaces are extruded with the briding flow. Some bridging layers have its height slightly reduced, therefore
|
||||||
// the bridging flow does not quite apply. Reduce the flow to area of an ellipse? (A = pi * a * b)
|
// the bridging flow does not quite apply. Reduce the flow to area of an ellipse? (A = pi * a * b)
|
||||||
auto interface_flow = layer_ex.layer->bridging ?
|
Flow interface_flow;
|
||||||
Flow::bridging_flow(layer_ex.layer->height, m_support_params.support_material_bottom_interface_flow.nozzle_diameter()) :
|
if (layer_ex.layer->bridging)
|
||||||
(interface_as_base ? &m_support_params.support_material_flow : &m_support_params.support_material_interface_flow)->with_height(float(layer_ex.layer->height));
|
interface_flow = Flow::bridging_flow(layer_ex.layer->height, m_support_params.support_material_bottom_interface_flow.nozzle_diameter());
|
||||||
|
else if (layer_ex.layer->bottom_z < EPSILON) {
|
||||||
|
interface_flow = m_support_params.first_layer_flow;
|
||||||
|
}else
|
||||||
|
interface_flow = (interface_as_base ? &m_support_params.support_material_flow : &m_support_params.support_material_interface_flow)->with_height(float(layer_ex.layer->height));
|
||||||
filler_interface->angle = interface_as_base ?
|
filler_interface->angle = interface_as_base ?
|
||||||
// If zero interface layers are configured, use the same angle as for the base layers.
|
// If zero interface layers are configured, use the same angle as for the base layers.
|
||||||
angles[support_layer_id % angles.size()] :
|
angles[support_layer_id % angles.size()] :
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue