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
|
||||
perimeter_speed small_perimeter_speed external_perimeter_speed infill_speed
|
||||
solid_infill_speed top_solid_infill_speed support_material_speed
|
||||
support_material_xy_spacing
|
||||
support_material_interface_speed bridge_speed gap_fill_speed
|
||||
travel_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_contact_loops');
|
||||
$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('support_material_synchronize_layers');
|
||||
}
|
||||
|
@ -372,7 +372,7 @@ sub object_top {
|
||||
# grow top surfaces so that interface and support generation are generated
|
||||
# with some spacing from object - it looks we don't need the actual
|
||||
# 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
|
||||
@ -624,10 +624,11 @@ sub clip_with_object {
|
||||
# $layer->slices contains the full shape of layer, thus including
|
||||
# perimeter's width. $support contains the full shape of support
|
||||
# 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},
|
||||
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-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
|
||||
Number of perpendicular layers between support material and object (0+, default: $config->{support_material_interface_layers})
|
||||
--support-material-interface-spacing
|
||||
|
@ -1121,6 +1121,13 @@ PrintConfigDef::PrintConfigDef()
|
||||
def->cli = "support-material!";
|
||||
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->label = "Pattern angle";
|
||||
def->category = "Support material";
|
||||
|
@ -164,6 +164,7 @@ class PrintObjectConfig : public virtual StaticPrintConfig
|
||||
ConfigOptionBool support_material_synchronize_layers;
|
||||
ConfigOptionInt support_material_threshold;
|
||||
ConfigOptionBool support_material_with_sheath;
|
||||
ConfigOptionFloat support_material_xy_spacing;
|
||||
ConfigOptionFloat xy_size_compensation;
|
||||
|
||||
PrintObjectConfig(bool initialize = true) : StaticPrintConfig() {
|
||||
@ -198,6 +199,7 @@ class PrintObjectConfig : public virtual StaticPrintConfig
|
||||
OPT_PTR(support_material_spacing);
|
||||
OPT_PTR(support_material_speed);
|
||||
OPT_PTR(support_material_synchronize_layers);
|
||||
OPT_PTR(support_material_xy_spacing);
|
||||
OPT_PTR(support_material_threshold);
|
||||
OPT_PTR(support_material_with_sheath);
|
||||
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_buildplate_only"
|
||||
|| *opt_key == "support_material_pattern"
|
||||
|| *opt_key == "support_material_xy_spacing"
|
||||
|| *opt_key == "support_material_spacing"
|
||||
|| *opt_key == "support_material_synchronize_layers"
|
||||
|| *opt_key == "support_material_threshold"
|
||||
|
Loading…
Reference in New Issue
Block a user