mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-07-19 17:04:32 +08:00
#304 disable minimum resolution.
It can go lower than 0.0125 for the perimeters. It's kept at a minimum of 0.0125 for infill & thinwalls/gapfaill for performance reasons and to avoid too much artifacts / corners case.
This commit is contained in:
parent
fd584f1994
commit
880eb59e73
@ -1,4 +1,5 @@
|
|||||||
min_slic3r_version = 2.3.0-beta2
|
min_slic3r_version = 2.3.0-beta2
|
||||||
|
0.0.5-susi remove resolution to use default
|
||||||
0.0.5 Updated end g-code.
|
0.0.5 Updated end g-code.
|
||||||
min_slic3r_version = 2.3.0-alpha2
|
min_slic3r_version = 2.3.0-alpha2
|
||||||
0.0.4 Fixed predator output filaname format, infill overlap.
|
0.0.4 Fixed predator output filaname format, infill overlap.
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
name = Anycubic
|
name = Anycubic
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||||
config_version = 0.0.5
|
config_version = 0.0.5-susi
|
||||||
# Where to get the updates from?
|
# Where to get the updates from?
|
||||||
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Anycubic/
|
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Anycubic/
|
||||||
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
||||||
@ -120,7 +120,6 @@ perimeter_speed = 45
|
|||||||
post_process =
|
post_process =
|
||||||
print_settings_id =
|
print_settings_id =
|
||||||
raft_layers = 0
|
raft_layers = 0
|
||||||
resolution = 0
|
|
||||||
seam_position = nearest
|
seam_position = nearest
|
||||||
single_extruder_multi_material_priming = 0
|
single_extruder_multi_material_priming = 0
|
||||||
skirts = 2
|
skirts = 2
|
||||||
@ -502,7 +501,6 @@ perimeter_extrusion_width = 0.45
|
|||||||
post_process =
|
post_process =
|
||||||
print_settings_id =
|
print_settings_id =
|
||||||
raft_layers = 0
|
raft_layers = 0
|
||||||
resolution = 0
|
|
||||||
seam_position = nearest
|
seam_position = nearest
|
||||||
single_extruder_multi_material_priming = 1
|
single_extruder_multi_material_priming = 1
|
||||||
skirts = 2
|
skirts = 2
|
||||||
@ -1170,7 +1168,6 @@ wipe_tower_rotation_angle = 0
|
|||||||
wipe_tower_bridging = 10
|
wipe_tower_bridging = 10
|
||||||
interface_shells = 0
|
interface_shells = 0
|
||||||
bridge_flow_ratio = 0.8
|
bridge_flow_ratio = 0.8
|
||||||
resolution = 0
|
|
||||||
xy_size_compensation = 0
|
xy_size_compensation = 0
|
||||||
elefant_foot_compensation = 0.2
|
elefant_foot_compensation = 0.2
|
||||||
clip_multipart_objects = 1
|
clip_multipart_objects = 1
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
min_slic3r_version = 2.3.0-beta2
|
min_slic3r_version = 2.3.0-beta2
|
||||||
0.0.3 Removed obsolete host keys.
|
0.0.5-susi remove resolution to use default
|
||||||
min_slic3r_version = 2.2.0-alpha3
|
0.0.5 General print quality improvements (??)
|
||||||
|
0.0.4 superslicer: remove top_fan_speed
|
||||||
0.0.5 General print quality improvements (??)0.0.4 superslicer: remove top_fan_speed
|
|
||||||
0.0.3 slic3r++ adaptation: overlapping & top pattern.
|
0.0.3 slic3r++ adaptation: overlapping & top pattern.
|
||||||
0.0.2 changed flow ratio from float to %
|
0.0.2 changed flow ratio from float to %
|
||||||
0.0.1 Multiple Print models were unified into a single one.
|
0.0.1 Multiple Print models were unified into a single one.
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
name = BIBO
|
name = BIBO
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||||
config_version = 0.0.5
|
config_version = 0.0.5-susi
|
||||||
# Where to get the updates from?
|
# Where to get the updates from?
|
||||||
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/BIBO/
|
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/BIBO/
|
||||||
|
|
||||||
@ -79,7 +79,6 @@ perimeter_extrusion_width = 0.45
|
|||||||
post_process =
|
post_process =
|
||||||
print_settings_id =
|
print_settings_id =
|
||||||
raft_layers = 0
|
raft_layers = 0
|
||||||
resolution = 0
|
|
||||||
seam_position = aligned
|
seam_position = aligned
|
||||||
single_extruder_multi_material_priming = 0
|
single_extruder_multi_material_priming = 0
|
||||||
skirts = 3
|
skirts = 3
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
name = Custom
|
name = Custom
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the Slic3r configuration to be downgraded.
|
# This means, the server may force the Slic3r configuration to be downgraded.
|
||||||
config_version = 0.1.3
|
config_version = 0.1.4
|
||||||
# Where to get the updates from?
|
# Where to get the updates from?
|
||||||
config_update_url =
|
config_update_url =
|
||||||
|
|
||||||
@ -287,7 +287,6 @@ perimeter_extruder = 1
|
|||||||
post_process =
|
post_process =
|
||||||
print_settings_id =
|
print_settings_id =
|
||||||
raft_layers = 0
|
raft_layers = 0
|
||||||
resolution = 0
|
|
||||||
seam_position = hidden
|
seam_position = hidden
|
||||||
skirts = 0
|
skirts = 0
|
||||||
skirt_distance = 3
|
skirt_distance = 3
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
min_slic3r_version = 2.3.0-beta2
|
min_slic3r_version = 2.3.0-beta2
|
||||||
|
0.1.8-susi remove resolution to use default
|
||||||
0.0.8 Slight end g-code improvements and spool weights.
|
0.0.8 Slight end g-code improvements and spool weights.
|
||||||
min_slic3r_version = 2.3.0-alpha2
|
min_slic3r_version = 2.3.0-alpha2
|
||||||
0.1.8 Fix G92 that mess up not-relative printer.
|
0.1.8 Fix G92 that mess up not-relative printer.
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
name = Creality
|
name = Creality
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||||
config_version = 0.1.8
|
config_version = 0.1.8-susi
|
||||||
# Where to get the updates from?
|
# Where to get the updates from?
|
||||||
config_update_url =
|
config_update_url =
|
||||||
# https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/
|
# https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/
|
||||||
@ -219,7 +219,6 @@ perimeter_speed = 40
|
|||||||
post_process =
|
post_process =
|
||||||
print_settings_id =
|
print_settings_id =
|
||||||
raft_layers = 0
|
raft_layers = 0
|
||||||
resolution = 0
|
|
||||||
seam_position = near
|
seam_position = near
|
||||||
seam_travel_cost = 20%
|
seam_travel_cost = 20%
|
||||||
single_extruder_multi_material_priming = 1
|
single_extruder_multi_material_priming = 1
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
min_slic3r_version = 2.1.0
|
min_slic3r_version = 2.1.0
|
||||||
|
0.0.3-susi remove resolution to use default
|
||||||
0.0.3 slic3r++ adaptation: overlapping & top pattern.
|
0.0.3 slic3r++ adaptation: overlapping & top pattern.
|
||||||
0.0.2 changed flow ratio from float to %
|
0.0.2 changed flow ratio from float to %
|
||||||
0.0.1 Initial version
|
0.0.1 Initial version
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
[vendor]
|
[vendor]
|
||||||
# Vendor name will be shown by the Config Wizard.
|
# Vendor name will be shown by the Config Wizard.
|
||||||
name = LulzBot
|
name = LulzBot
|
||||||
config_version = 0.0.3
|
config_version = 0.0.3-susi
|
||||||
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/LulzBot/
|
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/LulzBot/
|
||||||
|
|
||||||
[printer_model:MINI_AERO]
|
[printer_model:MINI_AERO]
|
||||||
@ -81,7 +81,6 @@ perimeter_speed = 60
|
|||||||
perimeters = 3
|
perimeters = 3
|
||||||
post_process =
|
post_process =
|
||||||
raft_layers = 0
|
raft_layers = 0
|
||||||
resolution = 0
|
|
||||||
seam_position = hidden
|
seam_position = hidden
|
||||||
single_extruder_multi_material_priming = 1
|
single_extruder_multi_material_priming = 1
|
||||||
skirt_distance = 3
|
skirt_distance = 3
|
||||||
@ -118,7 +117,7 @@ support_material_synchronize_layers = 0
|
|||||||
support_material_threshold = 0
|
support_material_threshold = 0
|
||||||
support_material_with_sheath = 1
|
support_material_with_sheath = 1
|
||||||
support_material_xy_spacing = 50%
|
support_material_xy_spacing = 50%
|
||||||
thin_perimeters = 0
|
thin_perimeters = 1
|
||||||
thin_walls = 1
|
thin_walls = 1
|
||||||
thin_walls_min_width = 50%
|
thin_walls_min_width = 50%
|
||||||
thin_walls_overlap = 50%
|
thin_walls_overlap = 50%
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
min_slic3r_version = 2.3.0-beta2
|
min_slic3r_version = 2.3.0-beta2
|
||||||
|
1.2.0-susi remove resolution to use default
|
||||||
1.2.0-beta1 Updated end g-code. Added full_fan_speed_layer values.
|
1.2.0-beta1 Updated end g-code. Added full_fan_speed_layer values.
|
||||||
min_slic3r_version = 2.3.0-beta0
|
min_slic3r_version = 2.3.0-beta0
|
||||||
1.2.1-beta0 remove G92 in layer change, as it's not understand by the slicer.
|
1.2.1-beta0 remove G92 in layer change, as it's not understand by the slicer.
|
||||||
|
@ -9,7 +9,7 @@ technologies = FFF; SLA
|
|||||||
|
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||||
config_version = 1.2.0-beta1
|
config_version = 1.2.0-susi
|
||||||
# Where to get the updates from?
|
# Where to get the updates from?
|
||||||
config_update_url =
|
config_update_url =
|
||||||
changelog_url =
|
changelog_url =
|
||||||
@ -191,7 +191,6 @@ perimeter_extrusion_width = 0.45
|
|||||||
post_process =
|
post_process =
|
||||||
print_settings_id =
|
print_settings_id =
|
||||||
raft_layers = 0
|
raft_layers = 0
|
||||||
resolution = 0
|
|
||||||
seam_position = near
|
seam_position = near
|
||||||
seam_travel_cost = 20%
|
seam_travel_cost = 20%
|
||||||
single_extruder_multi_material_priming = 1
|
single_extruder_multi_material_priming = 1
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
min_slic3r_version = 2.3.0-alpha3
|
min_slic3r_version = 2.3.0-alpha3
|
||||||
|
0.0.5-susi remove resolution to use default
|
||||||
0.0.5 Removed obsolete host keys.0.0.4-1 remove g92
|
0.0.5 Removed obsolete host keys.0.0.4-1 remove g92
|
||||||
0.0.4 Added PLA, PETG profiles for 0.8 nozzle, update print materials
|
0.0.4 Added PLA, PETG profiles for 0.8 nozzle, update print materials
|
||||||
0.0.3 Added DeltiQ 2, DeltiQ 2 Plus printers, 0.10mm, 0.20mm FLEX print profiles, updated print materials, flexprint extension support
|
0.0.3 Added DeltiQ 2, DeltiQ 2 Plus printers, 0.10mm, 0.20mm FLEX print profiles, updated print materials, flexprint extension support
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
name = TriLAB
|
name = TriLAB
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||||
config_version = 0.0.5
|
config_version = 0.0.5-susi
|
||||||
# Where to get the updates from?
|
# Where to get the updates from?
|
||||||
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/TriLAB/
|
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/TriLAB/
|
||||||
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
|
||||||
@ -160,7 +160,6 @@ perimeters = 2
|
|||||||
post_process =
|
post_process =
|
||||||
print_settings_id =
|
print_settings_id =
|
||||||
raft_layers = 0
|
raft_layers = 0
|
||||||
resolution = 0
|
|
||||||
seam_position = nearest
|
seam_position = nearest
|
||||||
single_extruder_multi_material_priming = 0
|
single_extruder_multi_material_priming = 0
|
||||||
skirt_distance = 3
|
skirt_distance = 3
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
min_slic3r_version = 2.2.0
|
min_slic3r_version = 2.2.0
|
||||||
|
0.0.5 remove resolution to use default, disable fan_mover
|
||||||
0.0.4 2.3 adaptation (seam, thumbanils, ...)
|
0.0.4 2.3 adaptation (seam, thumbanils, ...)
|
||||||
0.0.3 superslicer: remove top_fan_speed
|
0.0.3 superslicer: remove top_fan_speed
|
||||||
0.0.2 Update from DocJeeves settings, adding afterburner / mobius difference
|
0.0.2 Update from DocJeeves settings, adding afterburner / mobius difference
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
name = Voron
|
name = Voron
|
||||||
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
# Configuration version of this file. Config file will only be installed, if the config_version differs.
|
||||||
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
# This means, the server may force the PrusaSlicer configuration to be downgraded.
|
||||||
config_version = 0.0.4
|
config_version = 0.0.5
|
||||||
# Where to get the updates from?
|
# Where to get the updates from?
|
||||||
config_update_url =
|
config_update_url =
|
||||||
|
|
||||||
@ -152,7 +152,6 @@ end_gcode = print_end ;end script from macro
|
|||||||
extruder_colour = #FFE3CA
|
extruder_colour = #FFE3CA
|
||||||
extruder_offset = 0x0
|
extruder_offset = 0x0
|
||||||
gcode_flavor = klipper
|
gcode_flavor = klipper
|
||||||
fan_speedup_time = 0
|
|
||||||
layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]
|
layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]
|
||||||
machine_max_acceleration_e = 10000
|
machine_max_acceleration_e = 10000
|
||||||
machine_max_acceleration_extruding = 1500
|
machine_max_acceleration_extruding = 1500
|
||||||
@ -579,7 +578,6 @@ perimeter_speed = 100
|
|||||||
post_process =
|
post_process =
|
||||||
print_settings_id =
|
print_settings_id =
|
||||||
raft_layers = 0
|
raft_layers = 0
|
||||||
resolution = 0
|
|
||||||
seam_position = near
|
seam_position = near
|
||||||
seam_travel_cost = 20%
|
seam_travel_cost = 20%
|
||||||
single_extruder_multi_material_priming = 1
|
single_extruder_multi_material_priming = 1
|
||||||
@ -614,7 +612,7 @@ support_material_synchronize_layers = 0
|
|||||||
support_material_threshold = 30
|
support_material_threshold = 30
|
||||||
support_material_with_sheath = 0
|
support_material_with_sheath = 0
|
||||||
support_material_xy_spacing = 0.6
|
support_material_xy_spacing = 0.6
|
||||||
thin_perimeters = 0
|
thin_perimeters = 1
|
||||||
thin_walls = 1
|
thin_walls = 1
|
||||||
thin_walls_min_width = 50%
|
thin_walls_min_width = 50%
|
||||||
thin_walls_overlap = 50%
|
thin_walls_overlap = 50%
|
||||||
|
@ -3151,7 +3151,7 @@ std::string GCode::extrude_loop(const ExtrusionLoop &original_loop, const std::s
|
|||||||
// extrude along the path
|
// extrude along the path
|
||||||
std::string gcode;
|
std::string gcode;
|
||||||
for (ExtrusionPaths::iterator path = paths.begin(); path != paths.end(); ++path) {
|
for (ExtrusionPaths::iterator path = paths.begin(); path != paths.end(); ++path) {
|
||||||
path->simplify(SCALED_RESOLUTION);
|
//path->simplify(SCALED_RESOLUTION); //should already be simplified
|
||||||
gcode += this->_extrude(*path, description, speed);
|
gcode += this->_extrude(*path, description, speed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3246,7 +3246,7 @@ std::string GCode::extrude_multi_path(const ExtrusionMultiPath &multipath, const
|
|||||||
// extrude along the path
|
// extrude along the path
|
||||||
std::string gcode;
|
std::string gcode;
|
||||||
for (ExtrusionPath path : multipath.paths) {
|
for (ExtrusionPath path : multipath.paths) {
|
||||||
path.simplify(SCALED_RESOLUTION);
|
//path.simplify(SCALED_RESOLUTION); //should already be simplified
|
||||||
gcode += this->_extrude(path, description, speed);
|
gcode += this->_extrude(path, description, speed);
|
||||||
}
|
}
|
||||||
if (m_wipe.enable) {
|
if (m_wipe.enable) {
|
||||||
@ -3332,7 +3332,10 @@ std::string GCode::extrude_path(const ExtrusionPath &path, const std::string &de
|
|||||||
}
|
}
|
||||||
m_last_too_small.polyline.points.clear();
|
m_last_too_small.polyline.points.clear();
|
||||||
}
|
}
|
||||||
simplifed_path.simplify(this->config().min_length.value != 0 ? scale_(this->config().min_length) : SCALED_RESOLUTION);
|
if (this->config().min_length.value > 0) {
|
||||||
|
simplifed_path.simplify(scale_(this->config().min_length));
|
||||||
|
}
|
||||||
|
//else simplifed_path.simplify(SCALED_RESOLUTION); //should already be simplified
|
||||||
if (this->config().min_length.value != 0 && simplifed_path.length() < scale_(this->config().min_length)) {
|
if (this->config().min_length.value != 0 && simplifed_path.length() < scale_(this->config().min_length)) {
|
||||||
m_last_too_small = simplifed_path;
|
m_last_too_small = simplifed_path;
|
||||||
return "";
|
return "";
|
||||||
|
@ -108,14 +108,16 @@ namespace Slic3r {
|
|||||||
for (const Surface& surf : slices->surfaces) {
|
for (const Surface& surf : slices->surfaces) {
|
||||||
ExPolygons surf_milling = offset_ex(surf.expolygon, milling_diameter/2, ClipperLib::jtRound);
|
ExPolygons surf_milling = offset_ex(surf.expolygon, milling_diameter/2, ClipperLib::jtRound);
|
||||||
for (const ExPolygon& expoly : surf_milling)
|
for (const ExPolygon& expoly : surf_milling)
|
||||||
expoly.simplify(SCALED_RESOLUTION, &milling_lines);
|
// expoly.simplify(SCALED_RESOLUTION, &milling_lines); // should already be done
|
||||||
|
milling_lines.push_back(expoly);
|
||||||
}
|
}
|
||||||
milling_lines = union_ex(milling_lines);
|
milling_lines = union_ex(milling_lines);
|
||||||
|
|
||||||
ExPolygons secured_points = offset_ex(milling_lines, milling_diameter / 3);
|
ExPolygons secured_points = offset_ex(milling_lines, milling_diameter / 3);
|
||||||
ExPolygons entrypoints;
|
ExPolygons entrypoints;
|
||||||
for (const ExPolygon& expoly : secured_points)
|
for (const ExPolygon& expoly : secured_points)
|
||||||
expoly.simplify(SCALED_RESOLUTION, &entrypoints);
|
// expoly.simplify(SCALED_RESOLUTION, &entrypoints); // should already be done
|
||||||
|
entrypoints.push_back(expoly);
|
||||||
entrypoints = union_ex(entrypoints);
|
entrypoints = union_ex(entrypoints);
|
||||||
Polygons entrypoints_poly;
|
Polygons entrypoints_poly;
|
||||||
for (const ExPolygon& expoly : secured_points)
|
for (const ExPolygon& expoly : secured_points)
|
||||||
@ -150,7 +152,8 @@ namespace Slic3r {
|
|||||||
for (const Surface& surf : slices->surfaces) {
|
for (const Surface& surf : slices->surfaces) {
|
||||||
ExPolygons surf_milling = offset_ex(surf.expolygon, milling_radius, ClipperLib::jtRound);
|
ExPolygons surf_milling = offset_ex(surf.expolygon, milling_radius, ClipperLib::jtRound);
|
||||||
for (const ExPolygon& expoly : surf_milling)
|
for (const ExPolygon& expoly : surf_milling)
|
||||||
expoly.simplify(SCALED_RESOLUTION, &milling_lines);
|
// expoly.simplify(SCALED_RESOLUTION, &milling_lines); // should already be done
|
||||||
|
milling_lines.push_back(expoly);
|
||||||
surfaces.push_back(surf.expolygon);
|
surfaces.push_back(surf.expolygon);
|
||||||
}
|
}
|
||||||
union_ex(milling_lines, true);
|
union_ex(milling_lines, true);
|
||||||
@ -166,7 +169,8 @@ namespace Slic3r {
|
|||||||
ExPolygons safe_umillable = diff_ex(offset_ex(exact_unmillable_area, safety_offset), surfaces, true);
|
ExPolygons safe_umillable = diff_ex(offset_ex(exact_unmillable_area, safety_offset), surfaces, true);
|
||||||
ExPolygons safe_umillable_simplified;
|
ExPolygons safe_umillable_simplified;
|
||||||
for (const ExPolygon& expoly : safe_umillable)
|
for (const ExPolygon& expoly : safe_umillable)
|
||||||
expoly.simplify(SCALED_RESOLUTION, &safe_umillable_simplified);
|
// expoly.simplify(SCALED_RESOLUTION, &safe_umillable_simplified); // should already be done
|
||||||
|
safe_umillable_simplified.push_back(expoly);
|
||||||
return union_ex(safe_umillable_simplified, true);
|
return union_ex(safe_umillable_simplified, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -332,7 +332,9 @@ void PerimeterGenerator::process()
|
|||||||
//this var store infill surface removed from last to not add any more perimeters to it.
|
//this var store infill surface removed from last to not add any more perimeters to it.
|
||||||
ExPolygons top_fills;
|
ExPolygons top_fills;
|
||||||
ExPolygons fill_clip;
|
ExPolygons fill_clip;
|
||||||
ExPolygons last = union_ex(surface.expolygon.simplify_p(SCALED_RESOLUTION));
|
// simplification already done at slicing
|
||||||
|
//ExPolygons last = union_ex(surface.expolygon.simplify_p(SCALED_RESOLUTION));
|
||||||
|
ExPolygons last = union_ex(surface.expolygon);
|
||||||
|
|
||||||
if (loop_number >= 0) {
|
if (loop_number >= 0) {
|
||||||
|
|
||||||
|
@ -2642,13 +2642,13 @@ void PrintConfigDef::init_fff_params()
|
|||||||
def->label = L("'As bridge' speed threshold");
|
def->label = L("'As bridge' speed threshold");
|
||||||
def->full_label = L("Overhang bridge speed threshold");
|
def->full_label = L("Overhang bridge speed threshold");
|
||||||
def->category = OptionCategory::perimeter;
|
def->category = OptionCategory::perimeter;
|
||||||
def->tooltip = L("Minimum unsupported width for an extrusion to apply the bridge speed & fan to this overhang."
|
def->tooltip = L("Minimum unsupported width for an extrusion to apply the bridge fan & overhang speed to this overhang."
|
||||||
" Can be in mm or in a % of the nozzle diameter."
|
" Can be in mm or in a % of the nozzle diameter."
|
||||||
" Set to 0 to deactivate.");
|
" Set to 0 to deactivate.");
|
||||||
def->ratio_over = "nozzle_diameter";
|
def->ratio_over = "nozzle_diameter";
|
||||||
def->min = 0;
|
def->min = 0;
|
||||||
def->mode = comExpert;
|
def->mode = comExpert;
|
||||||
def->set_default_value(new ConfigOptionFloatOrPercent(50,true));
|
def->set_default_value(new ConfigOptionFloatOrPercent(55,true));
|
||||||
|
|
||||||
def = this->add("overhangs_width", coFloatOrPercent);
|
def = this->add("overhangs_width", coFloatOrPercent);
|
||||||
def->label = L("'As bridge' flow threshold");
|
def->label = L("'As bridge' flow threshold");
|
||||||
@ -2860,11 +2860,12 @@ void PrintConfigDef::init_fff_params()
|
|||||||
"the slicing job and reducing memory usage. High-resolution models often carry "
|
"the slicing job and reducing memory usage. High-resolution models often carry "
|
||||||
"more detail than printers can render. Set to zero to disable any simplification "
|
"more detail than printers can render. Set to zero to disable any simplification "
|
||||||
"and use full resolution from input. "
|
"and use full resolution from input. "
|
||||||
"\nNote: slic3r simplify the geometry with a treshold of 0.0125mm and has an internal resolution of 0.0001mm.");
|
"\nNote: SuperSlicer has an internal resolution of 0.000001mm."
|
||||||
|
"\nInfill & Thin areas are simplified up to 0.0125mm.");
|
||||||
def->sidetext = L("mm");
|
def->sidetext = L("mm");
|
||||||
def->min = 0;
|
def->min = 0;
|
||||||
def->mode = comExpert;
|
def->mode = comExpert;
|
||||||
def->set_default_value(new ConfigOptionFloat(0));
|
def->set_default_value(new ConfigOptionFloat(0.0125));
|
||||||
|
|
||||||
def = this->add("retract_before_travel", coFloats);
|
def = this->add("retract_before_travel", coFloats);
|
||||||
def->label = L("Minimum travel after retraction");
|
def->label = L("Minimum travel after retraction");
|
||||||
|
@ -126,8 +126,8 @@ void PrintObject::slice()
|
|||||||
if (! warning.empty())
|
if (! warning.empty())
|
||||||
BOOST_LOG_TRIVIAL(info) << warning;
|
BOOST_LOG_TRIVIAL(info) << warning;
|
||||||
// Simplify slices if required.
|
// Simplify slices if required.
|
||||||
if (m_print->config().resolution)
|
if (m_print->config().resolution.value > 0)
|
||||||
this->simplify_slices(scale_(this->print()->config().resolution));
|
this->simplify_slices(scale_(this->print()->config().resolution.value));
|
||||||
|
|
||||||
//create polyholes
|
//create polyholes
|
||||||
this->_transform_hole_to_polyholes();
|
this->_transform_hole_to_polyholes();
|
||||||
@ -2771,7 +2771,7 @@ ExPolygons PrintObject::_smooth_curves(const ExPolygons & input, const PrintRegi
|
|||||||
ExPolygons new_polys;
|
ExPolygons new_polys;
|
||||||
for (const ExPolygon &ex_poly : input) {
|
for (const ExPolygon &ex_poly : input) {
|
||||||
ExPolygon new_ex_poly(ex_poly);
|
ExPolygon new_ex_poly(ex_poly);
|
||||||
new_ex_poly.contour.remove_collinear(SCALED_RESOLUTION);
|
new_ex_poly.contour.remove_collinear(SCALED_EPSILON * 10);
|
||||||
new_ex_poly.contour = _smooth_curve(new_ex_poly.contour, PI,
|
new_ex_poly.contour = _smooth_curve(new_ex_poly.contour, PI,
|
||||||
conf.curve_smoothing_angle_convex.value*PI / 180.0,
|
conf.curve_smoothing_angle_convex.value*PI / 180.0,
|
||||||
conf.curve_smoothing_angle_concave.value*PI / 180.0,
|
conf.curve_smoothing_angle_concave.value*PI / 180.0,
|
||||||
@ -2779,7 +2779,7 @@ ExPolygons PrintObject::_smooth_curves(const ExPolygons & input, const PrintRegi
|
|||||||
scale_(conf.curve_smoothing_precision.value));
|
scale_(conf.curve_smoothing_precision.value));
|
||||||
for (Polygon &phole : new_ex_poly.holes){
|
for (Polygon &phole : new_ex_poly.holes){
|
||||||
phole.reverse(); // make_counter_clockwise();
|
phole.reverse(); // make_counter_clockwise();
|
||||||
phole.remove_collinear(SCALED_RESOLUTION);
|
phole.remove_collinear(SCALED_EPSILON * 10);
|
||||||
phole = _smooth_curve(phole, PI,
|
phole = _smooth_curve(phole, PI,
|
||||||
conf.curve_smoothing_angle_convex.value*PI / 180.0,
|
conf.curve_smoothing_angle_convex.value*PI / 180.0,
|
||||||
conf.curve_smoothing_angle_concave.value*PI / 180.0,
|
conf.curve_smoothing_angle_concave.value*PI / 180.0,
|
||||||
|
@ -1767,7 +1767,7 @@ void TriangleMeshSlicer::make_expolygons(const Polygons &loops, ExPolygons* slic
|
|||||||
// p_slices = diff(p_slices, *loop);
|
// p_slices = diff(p_slices, *loop);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//remove point in the same plane (have to do that before the safety offset to avoid workgin on a distored polygon)
|
//remove point in the same plane (have to do that before the safety offset to avoid working on a distored polygon)
|
||||||
Polygons filered_polys = loops;
|
Polygons filered_polys = loops;
|
||||||
if (this->model_precision > 0){
|
if (this->model_precision > 0){
|
||||||
for (Polygon &hole : filered_polys){
|
for (Polygon &hole : filered_polys){
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
using coord_t = int32_t;
|
using coord_t = int32_t;
|
||||||
#else
|
#else
|
||||||
//FIXME At least FillRectilinear2 and std::boost Voronoi require coord_t to be 32bit.
|
//FIXME At least FillRectilinear2 and std::boost Voronoi require coord_t to be 32bit.
|
||||||
typedef int64_t coord_t;
|
using coord_t = int64_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
using coordf_t = double;
|
using coordf_t = double;
|
||||||
@ -47,9 +47,13 @@ static constexpr double EPSILON = 1e-4;
|
|||||||
// int32_t fits an interval of (-2147.48mm, +2147.48mm)
|
// int32_t fits an interval of (-2147.48mm, +2147.48mm)
|
||||||
// with int64_t we don't have to worry anymore about the size of the int.
|
// with int64_t we don't have to worry anymore about the size of the int.
|
||||||
static constexpr double SCALING_FACTOR = 0.000001;
|
static constexpr double SCALING_FACTOR = 0.000001;
|
||||||
|
static constexpr double UNSCALING_FACTOR = 1 / SCALING_FACTOR;
|
||||||
// RESOLUTION, SCALED_RESOLUTION: Used as an error threshold for a Douglas-Peucker polyline simplification algorithm.
|
// RESOLUTION, SCALED_RESOLUTION: Used as an error threshold for a Douglas-Peucker polyline simplification algorithm.
|
||||||
#define RESOLUTION 0.0125
|
//#define RESOLUTION 0.0125
|
||||||
#define SCALED_RESOLUTION (RESOLUTION / SCALING_FACTOR)
|
//#define SCALED_RESOLUTION 12500
|
||||||
|
//#define SCALED_RESOLUTION (RESOLUTION / SCALING_FACTOR)
|
||||||
|
static constexpr coordf_t RESOLUTION = 0.0125;
|
||||||
|
static constexpr coord_t SCALED_RESOLUTION = 0.0125 * UNSCALING_FACTOR;
|
||||||
//for creating circles (for brim_ear)
|
//for creating circles (for brim_ear)
|
||||||
#define POLY_SIDES 24
|
#define POLY_SIDES 24
|
||||||
#define PI 3.141592653589793238
|
#define PI 3.141592653589793238
|
||||||
@ -92,9 +96,9 @@ inline T unscale(Q v) { return T(v) * T(SCALING_FACTOR); }
|
|||||||
|
|
||||||
inline double unscaled(double v) { return v * SCALING_FACTOR; }
|
inline double unscaled(double v) { return v * SCALING_FACTOR; }
|
||||||
inline coordf_t unscale_(coord_t v) { return v * SCALING_FACTOR; }
|
inline coordf_t unscale_(coord_t v) { return v * SCALING_FACTOR; }
|
||||||
inline coord_t scale_t(coordf_t v) { return (coord_t)(v / SCALING_FACTOR); }
|
inline coord_t scale_t(coordf_t v) { return (coord_t)(v * UNSCALING_FACTOR); }
|
||||||
inline double scale_d(coordf_t v) { return (v / SCALING_FACTOR); }
|
inline double scale_d(coordf_t v) { return (v * UNSCALING_FACTOR); }
|
||||||
inline double scale_d(coord_t v) { return ((double)v / SCALING_FACTOR); }
|
inline double scale_d(coord_t v) { return (double(v) * UNSCALING_FACTOR); }
|
||||||
|
|
||||||
enum Axis {
|
enum Axis {
|
||||||
X=0,
|
X=0,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user