prototyping tweakable XY supports;
option should be present now in advanced support menu. Can't figure out what's going on atm; support should be moving but isn't
This commit is contained in:
parent
f63c21f0f3
commit
bb22f1dc8a
@ -523,6 +523,7 @@ sub build {
|
|||||||
max_volumetric_extrusion_rate_slope_positive max_volumetric_extrusion_rate_slope_negative
|
max_volumetric_extrusion_rate_slope_positive max_volumetric_extrusion_rate_slope_negative
|
||||||
perimeter_speed small_perimeter_speed external_perimeter_speed infill_speed
|
perimeter_speed small_perimeter_speed external_perimeter_speed infill_speed
|
||||||
solid_infill_speed top_solid_infill_speed support_material_speed
|
solid_infill_speed top_solid_infill_speed support_material_speed
|
||||||
|
support_material_xy_spacing
|
||||||
support_material_interface_speed bridge_speed gap_fill_speed
|
support_material_interface_speed bridge_speed gap_fill_speed
|
||||||
travel_speed
|
travel_speed
|
||||||
first_layer_speed
|
first_layer_speed
|
||||||
@ -648,6 +649,7 @@ sub build {
|
|||||||
$optgroup->append_single_option_line('support_material_interface_spacing');
|
$optgroup->append_single_option_line('support_material_interface_spacing');
|
||||||
$optgroup->append_single_option_line('support_material_interface_contact_loops');
|
$optgroup->append_single_option_line('support_material_interface_contact_loops');
|
||||||
$optgroup->append_single_option_line('support_material_buildplate_only');
|
$optgroup->append_single_option_line('support_material_buildplate_only');
|
||||||
|
$optgroup->append_single_option_line('support_material_xy_spacing');
|
||||||
$optgroup->append_single_option_line('dont_support_bridges');
|
$optgroup->append_single_option_line('dont_support_bridges');
|
||||||
$optgroup->append_single_option_line('support_material_synchronize_layers');
|
$optgroup->append_single_option_line('support_material_synchronize_layers');
|
||||||
}
|
}
|
||||||
|
@ -372,7 +372,7 @@ sub object_top {
|
|||||||
# grow top surfaces so that interface and support generation are generated
|
# grow top surfaces so that interface and support generation are generated
|
||||||
# with some spacing from object - it looks we don't need the actual
|
# with some spacing from object - it looks we don't need the actual
|
||||||
# top shapes so this can be done here
|
# top shapes so this can be done here
|
||||||
$top{ $layer->print_z } = offset($touching, $self->flow->scaled_width + ($self->object_config->support_material_xy_spacing / 0.000001) );
|
$top{ $layer->print_z } = offset($touching, $self->flow->scaled_width + $self->object_config->support_material_xy_spacing);
|
||||||
}
|
}
|
||||||
|
|
||||||
# remove the areas that touched from the projection that will continue on
|
# remove the areas that touched from the projection that will continue on
|
||||||
@ -624,10 +624,11 @@ sub clip_with_object {
|
|||||||
# $layer->slices contains the full shape of layer, thus including
|
# $layer->slices contains the full shape of layer, thus including
|
||||||
# perimeter's width. $support contains the full shape of support
|
# perimeter's width. $support contains the full shape of support
|
||||||
# material, thus including the width of its foremost extrusion.
|
# material, thus including the width of its foremost extrusion.
|
||||||
# We leave a gap equal to a full extrusion width.
|
# We leave a gap equal to a full extrusion width + an offset
|
||||||
|
# if the user wants to play around with this setting.
|
||||||
$support->{$i} = diff(
|
$support->{$i} = diff(
|
||||||
$support->{$i},
|
$support->{$i},
|
||||||
offset([ map @$_, map @{$_->slices}, @layers ], +($self->flow->scaled_width +($self->object_config->support_material_xy_spacing / 0.000001))),
|
offset([ map @$_, map @{$_->slices}, @layers ], +$self->object_config->support_material_xy_spacing),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -426,6 +426,9 @@ $j
|
|||||||
Support material angle in degrees (range: 0-90, default: $config->{support_material_angle})
|
Support material angle in degrees (range: 0-90, default: $config->{support_material_angle})
|
||||||
--support-material-contact-distance
|
--support-material-contact-distance
|
||||||
Vertical distance between object and support material (0+, default: $config->{support_material_contact_distance})
|
Vertical distance between object and support material (0+, default: $config->{support_material_contact_distance})
|
||||||
|
|
||||||
|
--support-material-xy-spacing
|
||||||
|
horizontal distance between object and support material (0+, default: $config->{support_material_xy_spacing})
|
||||||
--support-material-interface-layers
|
--support-material-interface-layers
|
||||||
Number of perpendicular layers between support material and object (0+, default: $config->{support_material_interface_layers})
|
Number of perpendicular layers between support material and object (0+, default: $config->{support_material_interface_layers})
|
||||||
--support-material-interface-spacing
|
--support-material-interface-spacing
|
||||||
|
@ -1121,6 +1121,13 @@ PrintConfigDef::PrintConfigDef()
|
|||||||
def->cli = "support-material!";
|
def->cli = "support-material!";
|
||||||
def->default_value = new ConfigOptionBool(false);
|
def->default_value = new ConfigOptionBool(false);
|
||||||
|
|
||||||
|
def = this->add("support_material_xy_spacing", coFloat);
|
||||||
|
def->label = "Extra separation between part and support (mm)";
|
||||||
|
def->category = "Support material";
|
||||||
|
def->tooltip = "Add offset to support material separation (0 is 1 extrusion width).";
|
||||||
|
def->cli = "support-material-xy-spacing=f";
|
||||||
|
def->default_value = new ConfigOptionFloat(0.0);
|
||||||
|
|
||||||
def = this->add("support_material_angle", coInt);
|
def = this->add("support_material_angle", coInt);
|
||||||
def->label = "Pattern angle";
|
def->label = "Pattern angle";
|
||||||
def->category = "Support material";
|
def->category = "Support material";
|
||||||
|
@ -164,6 +164,7 @@ class PrintObjectConfig : public virtual StaticPrintConfig
|
|||||||
ConfigOptionBool support_material_synchronize_layers;
|
ConfigOptionBool support_material_synchronize_layers;
|
||||||
ConfigOptionInt support_material_threshold;
|
ConfigOptionInt support_material_threshold;
|
||||||
ConfigOptionBool support_material_with_sheath;
|
ConfigOptionBool support_material_with_sheath;
|
||||||
|
ConfigOptionFloat support_material_xy_spacing;
|
||||||
ConfigOptionFloat xy_size_compensation;
|
ConfigOptionFloat xy_size_compensation;
|
||||||
|
|
||||||
PrintObjectConfig(bool initialize = true) : StaticPrintConfig() {
|
PrintObjectConfig(bool initialize = true) : StaticPrintConfig() {
|
||||||
@ -198,6 +199,7 @@ class PrintObjectConfig : public virtual StaticPrintConfig
|
|||||||
OPT_PTR(support_material_spacing);
|
OPT_PTR(support_material_spacing);
|
||||||
OPT_PTR(support_material_speed);
|
OPT_PTR(support_material_speed);
|
||||||
OPT_PTR(support_material_synchronize_layers);
|
OPT_PTR(support_material_synchronize_layers);
|
||||||
|
OPT_PTR(support_material_xy_spacing);
|
||||||
OPT_PTR(support_material_threshold);
|
OPT_PTR(support_material_threshold);
|
||||||
OPT_PTR(support_material_with_sheath);
|
OPT_PTR(support_material_with_sheath);
|
||||||
OPT_PTR(xy_size_compensation);
|
OPT_PTR(xy_size_compensation);
|
||||||
|
@ -221,6 +221,7 @@ PrintObject::invalidate_state_by_config_options(const std::vector<t_config_optio
|
|||||||
|| *opt_key == "support_material_interface_speed"
|
|| *opt_key == "support_material_interface_speed"
|
||||||
|| *opt_key == "support_material_buildplate_only"
|
|| *opt_key == "support_material_buildplate_only"
|
||||||
|| *opt_key == "support_material_pattern"
|
|| *opt_key == "support_material_pattern"
|
||||||
|
|| *opt_key == "support_material_xy_spacing"
|
||||||
|| *opt_key == "support_material_spacing"
|
|| *opt_key == "support_material_spacing"
|
||||||
|| *opt_key == "support_material_synchronize_layers"
|
|| *opt_key == "support_material_synchronize_layers"
|
||||||
|| *opt_key == "support_material_threshold"
|
|| *opt_key == "support_material_threshold"
|
||||||
|
Loading…
Reference in New Issue
Block a user