mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-01-18 05:45:42 -07:00
Set Ironing angle setting to be a relative degree offset from top surface infill direction (#10841)
* Change ironing angle setting to be an offset angle from the top surface angle rather offset from the layer 0 angle that changes on each layer. * Change Ironing angle offset range from [-1,359] to [0,359]. -1 is redundant because it is the same behavior as 0 offset. * Change ironing_angle new default value to 0. * Update existing print profiles' hardcoded ironing_angles from -1 to 0 to reflect new default value. * Add migration for old -1 ironing_angle settings. Remove logic for -1 ironing_angle. * Add u8 prefix for degree symbol string * Use solid_infill_direction instead of infill_direction for top surface infill direction. Use calculate_infill_rotation_angle to add offset to solid_infill_rotate_template if used. * Update quality settings wiki for Ironing * Set f->is_using_template_angle when making ironing filler objects * Update quality_settings_ironing link from #angle to #angle-offset --------- Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
This commit is contained in:
parent
d786aec255
commit
fcb640bee1
47 changed files with 76 additions and 83 deletions
|
|
@ -33,7 +33,9 @@ The pattern that will be used when ironing. Usually, the best pattern is the one
|
|||
## Flow
|
||||
|
||||
The amount of material to extrude during ironing.
|
||||
This % is a percentage of the normal flow rate. A lower value will result in a smoother finish but may not cover the surface completely. A higher value may cover the surface better but can lead to over extrusion or rougher finish.
|
||||
This % is a percentage of the normal flow rate. A lower value will result in a smoother finish but may not cover the surface completely. A higher value may cover the surface better but can lead to over extrusion or rougher finish.
|
||||
|
||||
A lower layer height may require higher flow due to less volumetric extrusion per distance.
|
||||
|
||||
## Line spacing
|
||||
|
||||
|
|
@ -48,10 +50,9 @@ The distance to keep from the edges, which can help prevent over-extrusion at th
|
|||
|
||||
If this value is set to 0, the ironing toolpath will start directly at the perimeter edges without any inward offset. This means the [ironing pattern](#pattern) will extend all the way to the outer boundaries of the top surface being ironed.
|
||||
|
||||
## Angle
|
||||
## Angle Offset
|
||||
|
||||
The angle ironing is done at.
|
||||
A negative number disables this function and uses the [sparse infill direction](strength_settings_infill#direction).
|
||||
The angle of ironing lines offset relative to the top surface solid infill direction. Commonly used ironing angle offsets are 0°, 45°, and 90° each producing a [different surface finish](https://github.com/SoftFever/OrcaSlicer/issues/10834#issuecomment-3322628589) which will depend on your printer nozzle.
|
||||
|
||||
## Speed
|
||||
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.22",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "120",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "240",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.15",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "150",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "130",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.15",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "100",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "130",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.15",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "130",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.15",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "130",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "250",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.15",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.45",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "120",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.15",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "180",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.62",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "150",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@
|
|||
"internal_solid_infill_line_width": "0.82",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "150",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@
|
|||
"internal_solid_infill_acceleration": "100%",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "300",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@
|
|||
"internal_solid_infill_line_width": "0.22",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "150",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@
|
|||
"internal_bridge_speed": "150%",
|
||||
"internal_solid_infill_acceleration": "100%",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@
|
|||
"internal_solid_infill_acceleration": "100%",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "300",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@
|
|||
"internal_bridge_speed": "150%",
|
||||
"internal_solid_infill_acceleration": "100%",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@
|
|||
"internal_bridge_speed": "150%",
|
||||
"internal_solid_infill_acceleration": "100%",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@
|
|||
"internal_bridge_speed": "150%",
|
||||
"internal_solid_infill_acceleration": "100%",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "250",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "150",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "150",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "300",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "300",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "300",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "300",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@
|
|||
"internal_solid_infill_line_width": "0.62",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "150",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@
|
|||
"internal_solid_infill_line_width": "0.82",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "150",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "300",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
"internal_solid_infill_line_width": "0.4",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "250",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.15",
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@
|
|||
"internal_solid_infill_line_width": "0.4",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "90",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.15",
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@
|
|||
"internal_solid_infill_line_width": "0",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.25",
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "500",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "500",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "zig-zag",
|
||||
"internal_solid_infill_speed": "250",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_inset": "0",
|
||||
"ironing_pattern": "zig-zag",
|
||||
|
|
|
|||
|
|
@ -80,7 +80,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "250",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.15",
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "250",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "15%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@
|
|||
"internal_solid_infill_line_width": "3",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "100",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.1",
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@
|
|||
"internal_solid_infill_line_width": "0.42",
|
||||
"internal_solid_infill_pattern": "monotonic",
|
||||
"internal_solid_infill_speed": "250",
|
||||
"ironing_angle": "-1",
|
||||
"ironing_angle": "0",
|
||||
"ironing_flow": "10%",
|
||||
"ironing_pattern": "zig-zag",
|
||||
"ironing_spacing": "0.15",
|
||||
|
|
|
|||
|
|
@ -1461,43 +1461,31 @@ void Layer::make_ironing()
|
|||
double height;
|
||||
double speed;
|
||||
double angle;
|
||||
bool is_using_template_angle;
|
||||
double inset;
|
||||
|
||||
bool operator<(const IroningParams &rhs) const {
|
||||
if (this->extruder < rhs.extruder)
|
||||
return true;
|
||||
if (this->extruder > rhs.extruder)
|
||||
return false;
|
||||
if (int(this->just_infill) < int(rhs.just_infill))
|
||||
return true;
|
||||
if (int(this->just_infill) > int(rhs.just_infill))
|
||||
return false;
|
||||
if (this->line_spacing < rhs.line_spacing)
|
||||
return true;
|
||||
if (this->line_spacing > rhs.line_spacing)
|
||||
return false;
|
||||
if (this->height < rhs.height)
|
||||
return true;
|
||||
if (this->height > rhs.height)
|
||||
return false;
|
||||
if (this->speed < rhs.speed)
|
||||
return true;
|
||||
if (this->speed > rhs.speed)
|
||||
return false;
|
||||
if (this->angle < rhs.angle)
|
||||
return true;
|
||||
if (this->angle > rhs.angle)
|
||||
return false;
|
||||
if (this->inset < rhs.inset)
|
||||
return true;
|
||||
if (this->inset > rhs.inset)
|
||||
return false;
|
||||
RETURN_COMPARE_NON_EQUAL(extruder);
|
||||
RETURN_COMPARE_NON_EQUAL(just_infill);
|
||||
RETURN_COMPARE_NON_EQUAL(line_spacing);
|
||||
RETURN_COMPARE_NON_EQUAL(height);
|
||||
RETURN_COMPARE_NON_EQUAL(speed);
|
||||
RETURN_COMPARE_NON_EQUAL(angle);
|
||||
RETURN_COMPARE_NON_EQUAL(is_using_template_angle);
|
||||
RETURN_COMPARE_NON_EQUAL(inset);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool operator==(const IroningParams &rhs) const {
|
||||
return this->extruder == rhs.extruder && this->just_infill == rhs.just_infill &&
|
||||
this->line_spacing == rhs.line_spacing && this->height == rhs.height && this->speed == rhs.speed && this->angle == rhs.angle && this->pattern == rhs.pattern && this->inset == rhs.inset;
|
||||
return this->extruder == rhs.extruder &&
|
||||
this->just_infill == rhs.just_infill &&
|
||||
this->line_spacing == rhs.line_spacing &&
|
||||
this->height == rhs.height &&
|
||||
this->speed == rhs.speed &&
|
||||
this->angle == rhs.angle &&
|
||||
this->is_using_template_angle == rhs.is_using_template_angle &&
|
||||
this->pattern == rhs.pattern &&
|
||||
this->inset == rhs.inset;
|
||||
}
|
||||
|
||||
LayerRegion *layerm = nullptr;
|
||||
|
|
@ -1544,7 +1532,8 @@ void Layer::make_ironing()
|
|||
ironing_params.inset = config.ironing_inset;
|
||||
ironing_params.height = default_layer_height * 0.01 * config.ironing_flow;
|
||||
ironing_params.speed = config.ironing_speed;
|
||||
ironing_params.angle = (config.ironing_angle >= 0 ? config.ironing_angle : config.infill_direction) * M_PI / 180.;
|
||||
ironing_params.angle = calculate_infill_rotation_angle(this->object(), this->id(), config.solid_infill_direction.value, config.solid_infill_rotate_template.value) + config.ironing_angle * M_PI / 180.;
|
||||
ironing_params.is_using_template_angle = !config.solid_infill_rotate_template.value.empty();
|
||||
ironing_params.pattern = config.ironing_pattern;
|
||||
ironing_params.layerm = layerm;
|
||||
by_extruder.emplace_back(ironing_params);
|
||||
|
|
@ -1640,6 +1629,7 @@ void Layer::make_ironing()
|
|||
// Create the filler object.
|
||||
f->spacing = ironing_params.line_spacing;
|
||||
f->angle = float(ironing_params.angle);
|
||||
f->is_using_template_angle = ironing_params.is_using_template_angle;
|
||||
f->link_max_length = (coord_t) scale_(3. * f->spacing);
|
||||
double extrusion_height = ironing_params.height * f->spacing / nozzle_dmr;
|
||||
float extrusion_width = Flow::rounded_rectangle_extrusion_width_from_spacing(float(nozzle_dmr), float(extrusion_height));
|
||||
|
|
|
|||
|
|
@ -3497,14 +3497,14 @@ void PrintConfigDef::init_fff_params()
|
|||
def->set_default_value(new ConfigOptionFloat(20));
|
||||
|
||||
def = this->add("ironing_angle", coFloat);
|
||||
def->label = L("Ironing angle");
|
||||
def->label = L("Ironing angle offset");
|
||||
def->category = L("Quality");
|
||||
def->tooltip = L("The angle ironing is done at. A negative number disables this function and uses the default method.");
|
||||
def->tooltip = L("The angle of ironing lines offset from the top surface.");
|
||||
def->sidetext = u8"°"; // degrees, don't need translation
|
||||
def->min = -1;
|
||||
def->min = 0;
|
||||
def->max = 359;
|
||||
def->mode = comAdvanced;
|
||||
def->set_default_value(new ConfigOptionFloat(-1));
|
||||
def->set_default_value(new ConfigOptionFloat(0));
|
||||
|
||||
def = this->add("layer_change_gcode", coString);
|
||||
def->label = L("Layer change G-code");
|
||||
|
|
@ -6863,6 +6863,8 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va
|
|||
opt_key = "bottom_solid_infill_flow_ratio";
|
||||
} else if (opt_key == "ironing_direction") {
|
||||
opt_key = "ironing_angle";
|
||||
} else if (opt_key == "ironing_angle" && boost::starts_with(value, "-")) {
|
||||
value = "0";
|
||||
} else if (opt_key == "counterbole_hole_bridging") {
|
||||
opt_key = "counterbore_hole_bridging";
|
||||
} else if (opt_key == "draft_shield" && value == "limited") {
|
||||
|
|
|
|||
|
|
@ -2163,7 +2163,7 @@ void TabPrint::build()
|
|||
optgroup->append_single_option_line("ironing_flow", "quality_settings_ironing#flow");
|
||||
optgroup->append_single_option_line("ironing_spacing", "quality_settings_ironing#line-spacing");
|
||||
optgroup->append_single_option_line("ironing_inset", "quality_settings_ironing#inset");
|
||||
optgroup->append_single_option_line("ironing_angle", "quality_settings_ironing#angle");
|
||||
optgroup->append_single_option_line("ironing_angle", "quality_settings_ironing#angle-offset");
|
||||
|
||||
optgroup = page->new_optgroup(L("Wall generator"), L"param_wall_generator");
|
||||
optgroup->append_single_option_line("wall_generator", "quality_settings_wall_generator");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue