ENH: improve normal support's quality
1. Add a base_interface_layer when using Supp.W 2. Fix a bug where base_angle and interface_angle are wong jira: STUDIO-5386 Change-Id: I52ab32c63b3cd1e6e2ba6463b01ae26699cf13d3 (cherry picked from commit 92ddd4a10b793572a1fa009da5b9e44fcdf81de2)
This commit is contained in:
parent
d257c0f90d
commit
b96f1b333e
|
@ -3459,7 +3459,8 @@ std::pair<SupportGeneratorLayersPtr, SupportGeneratorLayersPtr> generate_interfa
|
|||
|
||||
bool snug_supports = m_object_config->support_style.value == smsSnug;
|
||||
// BBS: if support interface and support base do not use the same filament, add a base layer to improve their adhesion
|
||||
bool differnt_support_interface_filament = m_object_config->support_filament != 0 && m_object_config->support_interface_filament != 0 && m_object_config->support_interface_filament.value != m_object_config->support_filament.value;
|
||||
// Note: support materials (such as Supp.W) can't be used as support base now, so support interface and base are still using different filaments even if support_filament==0
|
||||
bool differnt_support_interface_filament = m_object_config->support_interface_filament != 0 && m_object_config->support_interface_filament.value != m_object_config->support_filament.value;
|
||||
int num_base_interface_layers_top = differnt_support_interface_filament ? 1 : 0;
|
||||
int num_base_interface_layers_bottom = differnt_support_interface_filament ? 1 : 0;
|
||||
int num_interface_layers_top = m_object_config->support_interface_top_layers + num_base_interface_layers_top;
|
||||
|
|
|
@ -84,8 +84,8 @@ struct SupportParameters {
|
|||
}
|
||||
|
||||
|
||||
this->base_angle = Geometry::deg2rad(float(object_config.support_threshold_angle.value));
|
||||
this->interface_angle = Geometry::deg2rad(float(object_config.support_threshold_angle.value + 90.));
|
||||
this->base_angle = Geometry::deg2rad(float(object_config.support_angle.value));
|
||||
this->interface_angle = Geometry::deg2rad(float(object_config.support_angle.value + 90.));
|
||||
this->interface_spacing = object_config.support_interface_spacing.value + this->support_material_interface_flow.spacing();
|
||||
this->interface_density = std::min(1., this->support_material_interface_flow.spacing() / this->interface_spacing);
|
||||
this->support_spacing = object_config.support_base_pattern_spacing.value + this->support_material_flow.spacing();
|
||||
|
|
Loading…
Reference in New Issue