Merge branch 'master' into fs_svg_SPE-1517

This commit is contained in:
Filip Sykala - NTB T15p 2023-10-09 14:10:42 +02:00
commit df256cc2bd
17 changed files with 268 additions and 123 deletions

View File

@ -40,6 +40,7 @@ git clone https://www.github.com/prusa3d/PrusaSlicer
cd PrusaSlicer cd PrusaSlicer
``` ```
This will download the source code into a new directory and `cd` into it. You can now optionally select a tag/branch/commit to build using `git checkout`. Otherwise, `master` branch will be built. This will download the source code into a new directory and `cd` into it. You can now optionally select a tag/branch/commit to build using `git checkout`. Otherwise, `master` branch will be built.
The path to the build directory must not contain spaces - this scenario is not supported by the build scripts.
#### 2. Building dependencies #### 2. Building dependencies

View File

@ -1,3 +1,4 @@
min_slic3r_version = 2.6.0 min_slic3r_version = 2.6.0
0.0.3 Added new printer profile.
0.0.2 Updated initial layer heights. 0.0.2 Updated initial layer heights.
0.0.1 Initial version 0.0.1 Initial version.

View File

@ -10,7 +10,7 @@ name = LNL3D
# 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.2 config_version = 0.0.3
# 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/LNL3D/ config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/LNL3D/
@ -24,10 +24,10 @@ config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/Prus
# Printer model name will be shown by the installation wizard. # Printer model name will be shown by the installation wizard.
[printer_model:LNL3D_D3] [printer_model:LNL3D_D3]
name = LNL3D D3 V2 name = LNL3D D3
variants = 0.4; 0.2; 0.6; 0.8 variants = 0.4; 0.2; 0.6; 0.8
technology = FFF technology = FFF
family = LNL3D family = LNL3D Small Printer
bed_model = LNL3D_D3_bed.stl bed_model = LNL3D_D3_bed.stl
bed_texture = LNL3D_D3_texture.svg bed_texture = LNL3D_D3_texture.svg
default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D; default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D;
@ -36,16 +36,25 @@ default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D;
name = LNL3D D3 Vulcan name = LNL3D D3 Vulcan
variants = 0.4; 0.2; 0.6; 0.8 variants = 0.4; 0.2; 0.6; 0.8
technology = FFF technology = FFF
family = LNL3D family = LNL3D Small Printer
bed_model = LNL3D_D3_VULCAN_bed.stl bed_model = LNL3D_D3_VULCAN_bed.stl
bed_texture = LNL3D_D3_VULCAN_texture.svg bed_texture = LNL3D_D3_VULCAN_texture.svg
default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D; default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D;
[printer_model:LNL3D_D3_V2]
name = LNL3D D3 V2
variants = 0.4; 0.2; 0.6; 0.8
technology = FFF
family = LNL3D Small Printer
bed_model = LNL3D_D3_V2_bed.stl
bed_texture = LNL3D_D3_V2_texture.svg
default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D;
[printer_model:LNL3D_D5] [printer_model:LNL3D_D5]
name = LNL3D D5 name = LNL3D D5
variants = 0.4; 0.2; 0.6; 0.8 variants = 0.4; 0.2; 0.6; 0.8
technology = FFF technology = FFF
family = LNL3D family = LNL3D Big Printer
bed_model = LNL3D_D5_bed.stl bed_model = LNL3D_D5_bed.stl
bed_texture = LNL3D_D5_texture.svg bed_texture = LNL3D_D5_texture.svg
default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D; default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D;
@ -54,7 +63,7 @@ default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D;
name = LNL3D D6 name = LNL3D D6
variants = 0.4; 0.2; 0.6; 0.8 variants = 0.4; 0.2; 0.6; 0.8
technology = FFF technology = FFF
family = LNL3D family = LNL3D Big Printer
bed_model = LNL3D_D6_bed.stl bed_model = LNL3D_D6_bed.stl
bed_texture = LNL3D_D6_texture.svg bed_texture = LNL3D_D6_texture.svg
default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D; default_materials = Generic PLA @LNL3D; Generic PETG @LNL3D; Generic TPU @LNL3D;
@ -85,8 +94,8 @@ external_fill_pattern = rectilinear
external_perimeters_first = 0 external_perimeters_first = 0
external_perimeter_speed = 25 external_perimeter_speed = 25
extra_perimeters = 0 extra_perimeters = 0
extruder_clearance_height = 25 extruder_clearance_height = 5
extruder_clearance_radius = 55 extruder_clearance_radius = 36
fill_angle = 45 fill_angle = 45
fill_density = 15% fill_density = 15%
fill_pattern = grid fill_pattern = grid
@ -150,7 +159,7 @@ support_material_with_sheath = 0
support_material_xy_spacing = 60% support_material_xy_spacing = 60%
thin_walls = 0 thin_walls = 0
top_solid_infill_speed = 30 top_solid_infill_speed = 30
travel_speed = 150 travel_speed = 120
wipe_tower = 0 wipe_tower = 0
wipe_tower_bridging = 10 wipe_tower_bridging = 10
wipe_tower_rotation_angle = 0 wipe_tower_rotation_angle = 0
@ -172,7 +181,7 @@ support_material_speed = 40
support_material_interface_speed = 100% support_material_interface_speed = 100%
bridge_speed = 25 bridge_speed = 25
ironing_speed = 15 ironing_speed = 15
travel_speed = 150 travel_speed = 120
travel_speed_z = 0 travel_speed_z = 0
first_layer_speed = 20 first_layer_speed = 20
first_layer_speed_over_raft = 30 first_layer_speed_over_raft = 30
@ -338,400 +347,400 @@ support_material_extrusion_width = 0.81
[print:0.06 mm ULTRADETAIL (0.2 mm nozzle) @LNL3D] [print:0.06 mm ULTRADETAIL (0.2 mm nozzle) @LNL3D]
inherits = *0.06mm*; *0.2nozzle* inherits = *0.06mm*; *0.2nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 and printer_notes=~/.*PRINTER_HAS_ULTRADETAIL.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 and printer_notes=~/.*PRINTER_HAS_ULTRADETAIL.*/
[print:0.06 mm ULTRADETAIL (0.4 mm nozzle) @LNL3D] [print:0.06 mm ULTRADETAIL (0.4 mm nozzle) @LNL3D]
inherits = *0.06mm*; *0.4nozzle* inherits = *0.06mm*; *0.4nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_ULTRADETAIL.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_ULTRADETAIL.*/
[print:0.08 mm SUPERDETAIL (0.2 mm nozzle) @LNL3D] [print:0.08 mm SUPERDETAIL (0.2 mm nozzle) @LNL3D]
inherits = *0.08mm*; *0.2nozzle* inherits = *0.08mm*; *0.2nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2
[print:0.08 mm SUPERDETAIL (0.4 mm nozzle) @LNL3D] [print:0.08 mm SUPERDETAIL (0.4 mm nozzle) @LNL3D]
inherits = *0.08mm*; *0.4nozzle* inherits = *0.08mm*; *0.4nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.08 mm SUPERDETAIL (0.6 mm nozzle) @LNL3D] [print:0.08 mm SUPERDETAIL (0.6 mm nozzle) @LNL3D]
inherits = *0.08mm*; *0.6nozzle* inherits = *0.08mm*; *0.6nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.08 mm SUPERDETAIL (0.8 mm nozzle) @LNL3D] [print:0.08 mm SUPERDETAIL (0.8 mm nozzle) @LNL3D]
inherits = *0.08mm*; *0.8nozzle* inherits = *0.08mm*; *0.8nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.10 mm HIGHDETAIL (0.2 mm nozzle) @LNL3D] [print:0.10 mm HIGHDETAIL (0.2 mm nozzle) @LNL3D]
inherits = *0.10mm*; *0.2nozzle* inherits = *0.10mm*; *0.2nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2
[print:0.10 mm HIGHDETAIL (0.4 mm nozzle) @LNL3D] [print:0.10 mm HIGHDETAIL (0.4 mm nozzle) @LNL3D]
inherits = *0.10mm*; *0.4nozzle* inherits = *0.10mm*; *0.4nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.10 mm HIGHDETAIL (0.6 mm nozzle) @LNL3D] [print:0.10 mm HIGHDETAIL (0.6 mm nozzle) @LNL3D]
inherits = *0.10mm*; *0.6nozzle* inherits = *0.10mm*; *0.6nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.10 mm HIGHDETAIL (0.8 mm nozzle) @LNL3D] [print:0.10 mm HIGHDETAIL (0.8 mm nozzle) @LNL3D]
inherits = *0.10mm*; *0.8nozzle* inherits = *0.10mm*; *0.8nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.12 mm DETAIL (0.2 mm nozzle) @LNL3D] [print:0.12 mm DETAIL (0.2 mm nozzle) @LNL3D]
inherits = *0.12mm*; *0.2nozzle* inherits = *0.12mm*; *0.2nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2
[print:0.12 mm DETAIL (0.4 mm nozzle) @LNL3D] [print:0.12 mm DETAIL (0.4 mm nozzle) @LNL3D]
inherits = *0.12mm*; *0.4nozzle* inherits = *0.12mm*; *0.4nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.12 mm DETAIL (0.6 mm nozzle) @LNL3D] [print:0.12 mm DETAIL (0.6 mm nozzle) @LNL3D]
inherits = *0.12mm*; *0.6nozzle* inherits = *0.12mm*; *0.6nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.12 mm DETAIL (0.8 mm nozzle) @LNL3D] [print:0.12 mm DETAIL (0.8 mm nozzle) @LNL3D]
inherits = *0.12mm*; *0.8nozzle* inherits = *0.12mm*; *0.8nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.16 mm OPTIMAL (0.2 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL (0.2 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.2nozzle* inherits = *0.16mm*; *0.2nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2
[print:0.16 mm OPTIMAL (0.4 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL (0.4 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.4nozzle* inherits = *0.16mm*; *0.4nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.16 mm OPTIMAL (0.6 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL (0.6 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.6nozzle* inherits = *0.16mm*; *0.6nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.16 mm OPTIMAL (0.8 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL (0.8 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.8nozzle* inherits = *0.16mm*; *0.8nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.16 mm OPTIMAL SPEED (0.2 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL SPEED (0.2 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.2nozzle*; *speed* inherits = *0.16mm*; *0.2nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2
[print:0.16 mm OPTIMAL SPEED (0.4 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL SPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.4nozzle*; *speed* inherits = *0.16mm*; *0.4nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.16 mm OPTIMAL SPEED (0.6 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL SPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.6nozzle*; *speed* inherits = *0.16mm*; *0.6nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.16 mm OPTIMAL SPEED (0.8 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL SPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.8nozzle*; *speed* inherits = *0.16mm*; *0.8nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.16 mm OPTIMAL HIGHSPEED (0.2 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL HIGHSPEED (0.2 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.2nozzle*; *highspeed* inherits = *0.16mm*; *0.2nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.16 mm OPTIMAL HIGHSPEED (0.4 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL HIGHSPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.4nozzle*; *highspeed* inherits = *0.16mm*; *0.4nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.16 mm OPTIMAL HIGHSPEED (0.6 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL HIGHSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.6nozzle*; *highspeed* inherits = *0.16mm*; *0.6nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.16 mm OPTIMAL HIGHSPEED (0.8 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL HIGHSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.8nozzle*; *highspeed* inherits = *0.16mm*; *0.8nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.16 mm OPTIMAL SUPERSPEED (0.2 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL SUPERSPEED (0.2 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.2nozzle*; *superspeed* inherits = *0.16mm*; *0.2nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.16 mm OPTIMAL SUPERSPEED (0.4 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL SUPERSPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.4nozzle*; *superspeed* inherits = *0.16mm*; *0.4nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.16 mm OPTIMAL SUPERSPEED (0.6 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL SUPERSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.6nozzle*; *superspeed* inherits = *0.16mm*; *0.6nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.16 mm OPTIMAL SUPERSPEED (0.8 mm nozzle) @LNL3D] [print:0.16 mm OPTIMAL SUPERSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.16mm*; *0.8nozzle*; *superspeed* inherits = *0.16mm*; *0.8nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.20 mm NORMAL (0.2 mm nozzle) @LNL3D] [print:0.20 mm NORMAL (0.2 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.2nozzle* inherits = *0.20mm*; *0.2nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2
[print:0.20 mm NORMAL (0.4 mm nozzle) @LNL3D] [print:0.20 mm NORMAL (0.4 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.4nozzle* inherits = *0.20mm*; *0.4nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.20 mm NORMAL (0.6 mm nozzle) @LNL3D] [print:0.20 mm NORMAL (0.6 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.6nozzle* inherits = *0.20mm*; *0.6nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.20 mm NORMAL (0.8 mm nozzle) @LNL3D] [print:0.20 mm NORMAL (0.8 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.8nozzle* inherits = *0.20mm*; *0.8nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.20 mm NORMAL SPEED (0.2 mm nozzle) @LNL3D] [print:0.20 mm NORMAL SPEED (0.2 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.2nozzle*; *speed* inherits = *0.20mm*; *0.2nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2
[print:0.20 mm NORMAL SPEED (0.4 mm nozzle) @LNL3D] [print:0.20 mm NORMAL SPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.4nozzle*; *speed* inherits = *0.20mm*; *0.4nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.20 mm NORMAL SPEED (0.6 mm nozzle) @LNL3D] [print:0.20 mm NORMAL SPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.6nozzle*; *speed* inherits = *0.20mm*; *0.6nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.20 mm NORMAL SPEED (0.8 mm nozzle) @LNL3D] [print:0.20 mm NORMAL SPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.8nozzle*; *speed* inherits = *0.20mm*; *0.8nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.20 mm NORMAL HIGHSPEED (0.2 mm nozzle) @LNL3D] [print:0.20 mm NORMAL HIGHSPEED (0.2 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.2nozzle*; *highspeed* inherits = *0.20mm*; *0.2nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.20 mm NORMAL HIGHSPEED (0.4 mm nozzle) @LNL3D] [print:0.20 mm NORMAL HIGHSPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.4nozzle*; *highspeed* inherits = *0.20mm*; *0.4nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.20 mm NORMAL HIGHSPEED (0.6 mm nozzle) @LNL3D] [print:0.20 mm NORMAL HIGHSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.6nozzle*; *highspeed* inherits = *0.20mm*; *0.6nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.20 mm NORMAL HIGHSPEED (0.8 mm nozzle) @LNL3D] [print:0.20 mm NORMAL HIGHSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.8nozzle*; *highspeed* inherits = *0.20mm*; *0.8nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.20 mm NORMAL SUPERSPEED (0.2 mm nozzle) @LNL3D] [print:0.20 mm NORMAL SUPERSPEED (0.2 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.2nozzle*; *superspeed* inherits = *0.20mm*; *0.2nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.2 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.20 mm NORMAL SUPERSPEED (0.4 mm nozzle) @LNL3D] [print:0.20 mm NORMAL SUPERSPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.4nozzle*; *superspeed* inherits = *0.20mm*; *0.4nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.20 mm NORMAL SUPERSPEED (0.6 mm nozzle) @LNL3D] [print:0.20 mm NORMAL SUPERSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.6nozzle*; *superspeed* inherits = *0.20mm*; *0.6nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.20 mm NORMAL SUPERSPEED (0.8 mm nozzle) @LNL3D] [print:0.20 mm NORMAL SUPERSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.20mm*; *0.8nozzle*; *superspeed* inherits = *0.20mm*; *0.8nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.24 mm DRAFT (0.4 mm nozzle) @LNL3D] [print:0.24 mm DRAFT (0.4 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.4nozzle* inherits = *0.24mm*; *0.4nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.24 mm DRAFT (0.6 mm nozzle) @LNL3D] [print:0.24 mm DRAFT (0.6 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.6nozzle* inherits = *0.24mm*; *0.6nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.24 mm DRAFT (0.8 mm nozzle) @LNL3D] [print:0.24 mm DRAFT (0.8 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.8nozzle* inherits = *0.24mm*; *0.8nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.24 mm DRAFT SPEED (0.4 mm nozzle) @LNL3D] [print:0.24 mm DRAFT SPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.4nozzle*; *speed* inherits = *0.24mm*; *0.4nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.24 mm DRAFT SPEED (0.6 mm nozzle) @LNL3D] [print:0.24 mm DRAFT SPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.6nozzle*; *speed* inherits = *0.24mm*; *0.6nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.24 mm DRAFT SPEED (0.8 mm nozzle) @LNL3D] [print:0.24 mm DRAFT SPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.8nozzle*; *speed* inherits = *0.24mm*; *0.8nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.24 mm DRAFT HIGHSPEED (0.4 mm nozzle) @LNL3D] [print:0.24 mm DRAFT HIGHSPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.4nozzle*; *highspeed* inherits = *0.24mm*; *0.4nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.24 mm DRAFT HIGHSPEED (0.6 mm nozzle) @LNL3D] [print:0.24 mm DRAFT HIGHSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.6nozzle*; *highspeed* inherits = *0.24mm*; *0.6nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.24 mm DRAFT HIGHSPEED (0.8 mm nozzle) @LNL3D] [print:0.24 mm DRAFT HIGHSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.8nozzle*; *highspeed* inherits = *0.24mm*; *0.8nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.24 mm DRAFT SUPERSPEED (0.4 mm nozzle) @LNL3D] [print:0.24 mm DRAFT SUPERSPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.4nozzle*; *superspeed* inherits = *0.24mm*; *0.4nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.24 mm DRAFT SUPERSPEED (0.6 mm nozzle) @LNL3D] [print:0.24 mm DRAFT SUPERSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.6nozzle*; *superspeed* inherits = *0.24mm*; *0.6nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.24 mm DRAFT SUPERSPEED (0.8 mm nozzle) @LNL3D] [print:0.24 mm DRAFT SUPERSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.24mm*; *0.8nozzle*; *superspeed* inherits = *0.24mm*; *0.8nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.28 mm SUPERDRAFT (0.4 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT (0.4 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.4nozzle* inherits = *0.28mm*; *0.4nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.28 mm SUPERDRAFT (0.6 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT (0.6 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.6nozzle* inherits = *0.28mm*; *0.6nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.28 mm SUPERDRAFT (0.8 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT (0.8 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.8nozzle* inherits = *0.28mm*; *0.8nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.28 mm SUPERDRAFT SPEED (0.4 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT SPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.4nozzle*; *speed* inherits = *0.28mm*; *0.4nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4
[print:0.28 mm SUPERDRAFT SPEED (0.6 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT SPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.6nozzle*; *speed* inherits = *0.28mm*; *0.6nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.28 mm SUPERDRAFT SPEED (0.8 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT SPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.8nozzle*; *speed* inherits = *0.28mm*; *0.8nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.28 mm SUPERDRAFT HIGHSPEED (0.4 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT HIGHSPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.4nozzle*; *highspeed* inherits = *0.28mm*; *0.4nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.28 mm SUPERDRAFT HIGHSPEED (0.6 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT HIGHSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.6nozzle*; *highspeed* inherits = *0.28mm*; *0.6nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.28 mm SUPERDRAFT HIGHSPEED (0.8 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT HIGHSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.8nozzle*; *highspeed* inherits = *0.28mm*; *0.8nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.28 mm SUPERDRAFT SUPERSPEED (0.4 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT SUPERSPEED (0.4 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.4nozzle*; *superspeed* inherits = *0.28mm*; *0.4nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.4 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.28 mm SUPERDRAFT SUPERSPEED (0.6 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT SUPERSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.6nozzle*; *superspeed* inherits = *0.28mm*; *0.6nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.28 mm SUPERDRAFT SUPERSPEED (0.8 mm nozzle) @LNL3D] [print:0.28 mm SUPERDRAFT SUPERSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.28mm*; *0.8nozzle*; *superspeed* inherits = *0.28mm*; *0.8nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.36 mm CHUNKY (0.6 mm nozzle) @LNL3D] [print:0.36 mm CHUNKY (0.6 mm nozzle) @LNL3D]
inherits = *0.36mm*; *0.6nozzle* inherits = *0.36mm*; *0.6nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.36 mm CHUNKY (0.8 mm nozzle) @LNL3D] [print:0.36 mm CHUNKY (0.8 mm nozzle) @LNL3D]
inherits = *0.36mm*; *0.8nozzle* inherits = *0.36mm*; *0.8nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.36 mm CHUNKY SPEED (0.6 mm nozzle) @LNL3D] [print:0.36 mm CHUNKY SPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.36mm*; *0.6nozzle*; *speed* inherits = *0.36mm*; *0.6nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.36 mm CHUNKY SPEED (0.8 mm nozzle) @LNL3D] [print:0.36 mm CHUNKY SPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.36mm*; *0.8nozzle*; *speed* inherits = *0.36mm*; *0.8nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.36 mm CHUNKY HIGHSPEED (0.6 mm nozzle) @LNL3D] [print:0.36 mm CHUNKY HIGHSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.36mm*; *0.6nozzle*; *highspeed* inherits = *0.36mm*; *0.6nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.36 mm CHUNKY HIGHSPEED (0.8 mm nozzle) @LNL3D] [print:0.36 mm CHUNKY HIGHSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.36mm*; *0.8nozzle*; *highspeed* inherits = *0.36mm*; *0.8nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.36 mm CHUNKY SUPERSPEED (0.6 mm nozzle) @LNL3D] [print:0.36 mm CHUNKY SUPERSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.36mm*; *0.6nozzle*; *superspeed* inherits = *0.36mm*; *0.6nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.36 mm CHUNKY SUPERSPEED (0.8 mm nozzle) @LNL3D] [print:0.36 mm CHUNKY SUPERSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.36mm*; *0.8nozzle*; *superspeed* inherits = *0.36mm*; *0.8nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.44 mm SUPERCHUNKY (0.6 mm nozzle) @LNL3D] [print:0.44 mm SUPERCHUNKY (0.6 mm nozzle) @LNL3D]
inherits = *0.44mm*; *0.6nozzle* inherits = *0.44mm*; *0.6nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.44 mm SUPERCHUNKY (0.8 mm nozzle) @LNL3D] [print:0.44 mm SUPERCHUNKY (0.8 mm nozzle) @LNL3D]
inherits = *0.44mm*; *0.8nozzle* inherits = *0.44mm*; *0.8nozzle*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.44 mm SUPERCHUNKY SPEED (0.6 mm nozzle) @LNL3D] [print:0.44 mm SUPERCHUNKY SPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.44mm*; *0.6nozzle*; *speed* inherits = *0.44mm*; *0.6nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6
[print:0.44 mm SUPERCHUNKY SPEED (0.8 mm nozzle) @LNL3D] [print:0.44 mm SUPERCHUNKY SPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.44mm*; *0.8nozzle*; *speed* inherits = *0.44mm*; *0.8nozzle*; *speed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8
[print:0.44 mm SUPERCHUNKY HIGHSPEED (0.6 mm nozzle) @LNL3D] [print:0.44 mm SUPERCHUNKY HIGHSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.44mm*; *0.6nozzle*; *highspeed* inherits = *0.44mm*; *0.6nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.44 mm SUPERCHUNKY HIGHSPEED (0.8 mm nozzle) @LNL3D] [print:0.44 mm SUPERCHUNKY HIGHSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.44mm*; *0.8nozzle*; *highspeed* inherits = *0.44mm*; *0.8nozzle*; *highspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_HIGHSPEED.*/
[print:0.44 mm SUPERCHUNKY SUPERSPEED (0.6 mm nozzle) @LNL3D] [print:0.44 mm SUPERCHUNKY SUPERSPEED (0.6 mm nozzle) @LNL3D]
inherits = *0.44mm*; *0.6nozzle*; *superspeed* inherits = *0.44mm*; *0.6nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.6 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
[print:0.44 mm SUPERCHUNKY SUPERSPEED (0.8 mm nozzle) @LNL3D] [print:0.44 mm SUPERCHUNKY SUPERSPEED (0.8 mm nozzle) @LNL3D]
inherits = *0.44mm*; *0.8nozzle*; *superspeed* inherits = *0.44mm*; *0.8nozzle*; *superspeed*
compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/ compatible_printers_condition = printer_model=~/(LNL3D_D3|LNL3D_D3_VULCAN|LNL3D_D3_V2|LNL3D_D5|LNL3D_D6).*/ and nozzle_diameter[0]==0.8 and printer_notes=~/.*PRINTER_HAS_SUPERSPEED.*/
@ -857,7 +866,7 @@ machine_max_jerk_y = 8
machine_max_jerk_z = 0.4 machine_max_jerk_z = 0.4
machine_min_extruding_rate = 0 machine_min_extruding_rate = 0
machine_min_travel_rate = 0 machine_min_travel_rate = 0
machine_limits_usage = emit_to_gcode machine_limits_usage = time_estimate_only
layer_gcode = ;AFTER_LAYER_CHANGE\n;{layer_z} layer_gcode = ;AFTER_LAYER_CHANGE\n;{layer_z}
printer_notes = printer_notes =
printer_settings_id = printer_settings_id =
@ -882,7 +891,7 @@ wipe = 1,1
z_offset = 0 z_offset = 0
printer_model = printer_model =
default_filament_profile = "Generic PLA @LNL3D" default_filament_profile = "Generic PLA @LNL3D"
start_gcode = G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;move to min endstops\nG92 E0 ;reset extruder\nG1 E15 F1500 ;move extruder 15mm\nG1 Z15.0 F3000 ;move the header up 15mm\nM117 printing... ;LCD message start_gcode = G21 ; Metric values\nG90 ; Absolute positioning\nM82 ; Set extruder to absolute mode\nM107 ; Start with the fan off\nG28 ; Move to min endstops\nG92 E0 ; Reset extruder\nG1 E15 F1500 ; Move extruder 15mm\nG1 Z15.0 F3000 ; Move the header up 15mm\nM117 Final warmup ; LCD message\nM140 S[first_layer_bed_temperature] ; Set bed temp\nM190 S{first_layer_bed_temperature[0] - 5} ; Wait for bed temp-5\nM104 S[first_layer_temperature] ; Heat extruder rest of the way after heatbed\nM109 S[first_layer_temperature] ; Wait for extruder temp\nG1 X40 Y5 Z4 F5000.0 ; Move to position to prevent hitting clamps or bed\nG1 X50 Y5 Z0.3 F5000.0 ; Move to start position\nG1 X110 Y5 Z0.3 F1500.0 E15 ; First purge line\nG1 X70 Y5 Z0.3 F1500.0 E8 ; Second pass\nM117 Printing... ; LCD message\n
end_gcode = M104 T0 S0 ;left extruder heater off\nM104 T1 S0 ;right extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning end_gcode = M104 T0 S0 ;left extruder heater off\nM104 T1 S0 ;right extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning
@ -928,16 +937,16 @@ bed_shape = 0x0,300x0,300x300,0x300
max_print_height = 350 max_print_height = 350
printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_LNL3D\nPRINTER_MODEL_LNL3D_D3\nPRINTER_HAS_ULTRADETAIL\nPRINTER_HAS_HIGHSPEED\nPRINTER_HAS_SUPERSPEED printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_LNL3D\nPRINTER_MODEL_LNL3D_D3\nPRINTER_HAS_ULTRADETAIL\nPRINTER_HAS_HIGHSPEED\nPRINTER_HAS_SUPERSPEED
[printer:LNL3D D3 V2 (0.2 mm nozzle)] [printer:LNL3D D3 (0.2 mm nozzle)]
inherits = *LNL3D_D3*; *0.2nozzle* inherits = *LNL3D_D3*; *0.2nozzle*
[printer:LNL3D D3 V2 (0.4 mm nozzle)] [printer:LNL3D D3 (0.4 mm nozzle)]
inherits = *LNL3D_D3*; *0.4nozzle* inherits = *LNL3D_D3*; *0.4nozzle*
[printer:LNL3D D3 V2 (0.6 mm nozzle)] [printer:LNL3D D3 (0.6 mm nozzle)]
inherits = *LNL3D_D3*; *0.6nozzle* inherits = *LNL3D_D3*; *0.6nozzle*
[printer:LNL3D D3 V2 (0.8 mm nozzle)] [printer:LNL3D D3 (0.8 mm nozzle)]
inherits = *LNL3D_D3*; *0.8nozzle* inherits = *LNL3D_D3*; *0.8nozzle*
@ -963,6 +972,28 @@ inherits = *LNL3D_D3_VULCAN*; *0.8nozzle*
[printer:*LNL3D_D3_V2*]
inherits = *common*
printer_model = LNL3D_D3_V2
bed_shape = 0x0,300x0,300x300,0x300
max_print_height = 350
gcode_flavor = marlin2
printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_LNL3D\nPRINTER_MODEL_LNL3D_D3_V2\nPRINTER_HAS_ULTRADETAIL\nPRINTER_HAS_HIGHSPEED\nPRINTER_HAS_SUPERSPEED
[printer:LNL3D D3 V2 (0.2 mm nozzle)]
inherits = *LNL3D_D3_V2*; *0.2nozzle*
[printer:LNL3D D3 V2 (0.4 mm nozzle)]
inherits = *LNL3D_D3_V2*; *0.4nozzle*
[printer:LNL3D D3 V2 (0.6 mm nozzle)]
inherits = *LNL3D_D3_V2*; *0.6nozzle*
[printer:LNL3D D3 V2 (0.8 mm nozzle)]
inherits = *LNL3D_D3_V2*; *0.8nozzle*
[printer:*LNL3D_D5*] [printer:*LNL3D_D5*]
inherits = *common* inherits = *common*
printer_model = LNL3D_D5 printer_model = LNL3D_D5

Binary file not shown.

View File

@ -0,0 +1,64 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="300mm" height="300mm" viewBox="0 0 850.4 850.4">
<defs>
<radialGradient id="radial-gradient" cx="-460.68" cy="762.9" r="60.14" gradientTransform="translate(1017.4)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#4db5e7"/>
<stop offset="1" stop-color="#167ab9"/>
</radialGradient>
<radialGradient id="radial-gradient-2" cx="-468.64" cy="774.88" fx="-538.9596183282939" r="70.56" gradientTransform="translate(1017.4)" gradientUnits="userSpaceOnUse">
<stop offset="0" stop-color="#fff"/>
<stop offset="1" stop-color="#749194"/>
</radialGradient>
</defs>
<g>
<rect width="351.5" height="850.39" style="fill: #1a1a1a"/>
<g>
<path d="M225.2,52.5V72c0,20.7-15.1,37.1-36.2,37.1S152.8,92.8,152.8,72V52.5ZM164.9,94A32.7,32.7,0,0,0,189,104.4c19.1,0,32-14.6,32-33.1V57H157V71.3C157,81.6,160.5,89.2,164.9,94Z" style="fill: #4d4d4d"/>
<path d="M162,153.3a17.3,17.3,0,0,1-10.2-15.8c0-13,7.8-16.7,20.6-16.7h28.8v4.4H171.3c-7.4,0-15.5,1.5-15.5,12.6s10.8,15.5,20.4,15.5h25v4.4H152.8v-4.4Z" style="fill: #4d4d4d"/>
<path d="M201.2,172.3v4.4H190.5c7.5,3.2,11.5,10.7,11.5,19,0,15.1-11,23.5-25.3,23.5s-24.9-9.5-24.9-23.8c0-6.8,2.7-14.2,10.5-18.7H132.8v-4.3ZM177,214.5c11.6,0,21.1-6.8,21.1-19s-9.5-19-21.1-19-21.2,6.8-21.2,19S165.4,214.5,177,214.5Z" style="fill: #4d4d4d"/>
<path d="M225.2,230.8v4.3H152.8v-4.3Z" style="fill: #4d4d4d"/>
<path d="M201.2,249.9v4.3H152.8v-4.3Zm13.4,2.2a4,4,0,0,1,4.1-3.9,4,4,0,0,1,4.1,3.9,4,4,0,0,1-4.1,4A4.1,4.1,0,0,1,214.6,252.1Z" style="fill: #4d4d4d"/>
<path d="M151.8,289.1c0-13.2,10.5-23.8,25.3-23.8S202,276,202,289.4s-7.1,17.9-8.7,19.1l-2.7-3.4c2.5-2.2,7.2-6.2,7.2-16S189.4,270,177.4,270,156,278.1,156,289.4a22.2,22.2,0,0,0,7.1,16.2l-2.7,3.1C158.2,306.8,151.8,301.8,151.8,289.1Z" style="fill: #4d4d4d"/>
<path d="M160.2,347.8a22.9,22.9,0,0,1-8.4-17.4c0-9.3,6.4-15.7,14.5-15.7s14.2,6.4,14.6,20.2l.5,13h2.8c9.3,0,13.7-5.8,13.7-14.6,0-6.4-2.9-12.7-3.9-14l3.3-1.9c2,2.6,4.7,9.5,4.7,15.5s-1.6,11.3-4.6,14.5-6.3,4.9-14.7,4.9H152.8v-4.5Zm16.9-12.3c-.4-12-5-16.1-10.9-16.1s-10.3,4.4-10.3,12.2,5.4,13.8,9.3,16.2h12.2Z" style="fill: #4d4d4d"/>
<path d="M151.8,377.6c0-4,1.4-6.9,4.1-8.7s7.8-2.2,15.8-2.2h25.1v-7.4H201v7.4h15.6v4.4H201v12.3h-4.2V371H167.6c-7,0-11.8.8-11.8,7.3a10.7,10.7,0,0,0,1.3,5.2l-3.8.6C152.3,382.8,151.8,380.6,151.8,377.6Z" style="fill: #4d4d4d"/>
<path d="M201.2,392.8v4.3H152.8v-4.3Zm13.4,2.2a4.1,4.1,0,0,1,4.1-4,4,4,0,1,1,0,8A4.1,4.1,0,0,1,214.6,395Z" style="fill: #4d4d4d"/>
<path d="M177.1,408.2c14.1,0,24.9,9.5,24.9,24.5s-10.8,24.5-24.9,24.5-25.3-9.5-25.3-24.5S162.5,408.2,177.1,408.2Zm-.1,4.7c-11.5,0-21.1,7.6-21.1,19.8s9.6,19.8,21.1,19.8,20.9-7.7,20.9-19.8S188.8,412.9,177,412.9Z" style="fill: #4d4d4d"/>
<path d="M181.9,501.3c7.7,0,16.1-2.1,16.1-12.9S188.7,473,176.7,473H152.8v-4.4h48.4v4.3h-9.4c6.1,2.3,10.2,8.9,10.2,15.8,0,13.9-8.8,17-20.2,17h-29v-4.4Z" style="fill: #4d4d4d"/>
<path d="M145.6,512.7l89.6,43.9-2,3.9-89.6-43.8C144.3,515.4,144.9,513.9,145.6,512.7Z" style="fill: #4d4d4d"/>
<path d="M217,628.2l-64.7-26.9v-1l64.5-26.6-64-6.5v-4.6l72.4,7.7v5.1l-63.3,25.7,63.3,25.6v5.2l-72.4,7.6v-4.6Z" style="fill: #4d4d4d"/>
<path d="M201.2,652.7V657H152.8v-4.3Zm13.4,2.2a4.1,4.1,0,0,1,4.1-4,4,4,0,1,1,0,8A4.1,4.1,0,0,1,214.6,654.9Z" style="fill: #4d4d4d"/>
<path d="M201.2,671.6v4.3h-8.6c6.4,2.4,9.4,7.1,9.4,12.3a30,30,0,0,1-.6,5.8l-4.6-.6a21.8,21.8,0,0,0,.7-5.8,10.9,10.9,0,0,0-4.2-8.2c-2.2-1.7-5.5-3.5-12.9-3.5H152.8v-4.3Z" style="fill: #4d4d4d"/>
<path d="M201.2,701.9v4.3h-8.6c6.4,2.4,9.4,7.2,9.4,12.4a31.4,31.4,0,0,1-.6,5.8l-4.6-.7a20.4,20.4,0,0,0,.7-5.7,10.7,10.7,0,0,0-4.2-8.2c-2.2-1.7-5.5-3.6-12.9-3.6H152.8v-4.3Z" style="fill: #4d4d4d"/>
<path d="M177.1,726.5c14.1,0,24.9,9.5,24.9,24.5s-10.8,24.6-24.9,24.6S151.8,766,151.8,751,162.5,726.5,177.1,726.5Zm-.1,4.7c-11.5,0-21.1,7.7-21.1,19.8s9.6,19.8,21.1,19.8,20.9-7.7,20.9-19.8S188.8,731.2,177,731.2Z" style="fill: #4d4d4d"/>
<path d="M201.2,786.9v4.3h-8.6c6.4,2.4,9.4,7.2,9.4,12.4a31.4,31.4,0,0,1-.6,5.8l-4.6-.7a20.4,20.4,0,0,0,.7-5.7,10.7,10.7,0,0,0-4.2-8.2c-2.2-1.7-5.5-3.6-12.9-3.6H152.8v-4.3Z" style="fill: #4d4d4d"/>
</g>
<line x1="425.2" y1="391.2" x2="425.2" y2="459.2" style="fill: none;stroke: #fff;stroke-miterlimit: 10;stroke-width: 0.25px"/>
<line x1="425.2" y1="2.3" x2="425.2" style="fill: none;stroke: #fff;stroke-miterlimit: 10;stroke-width: 10px"/>
<line x1="425.2" y1="850.4" x2="425.2" y2="848.1" style="fill: none;stroke: #fff;stroke-miterlimit: 10;stroke-width: 10px"/>
<line x1="2.3" y1="425.2" y2="425.2" style="fill: none;stroke: #fff;stroke-miterlimit: 10;stroke-width: 10px"/>
<line x1="850.4" y1="425.2" x2="848.1" y2="425.2" style="fill: none;stroke: #fff;stroke-miterlimit: 10;stroke-width: 10px"/>
<line x1="459.2" y1="425.2" x2="391.2" y2="425.2" style="fill: none;stroke: #fff;stroke-miterlimit: 10;stroke-width: 0.25px"/>
<line x1="425.2" y1="391.2" x2="425.2" y2="459.2" style="fill: none;stroke: #fff;stroke-miterlimit: 10;stroke-width: 0.25px"/>
<path d="M702.4.1V850.3H351.1V.1H702.4m.1-.1H351V850.4H702.5V0Z" style="fill: #fff"/>
</g>
<g>
<polygon points="541.6 764.3 507.3 822.8 518.9 822.8 547.9 772.7 541.6 764.3" style="fill: url(#radial-gradient)"/>
<path d="M577,801.7V778.4h5.5v18.8h8v4.5Z" style="fill: #fff"/>
<path d="M608.5,801.7l-10.3-15.8s.1,2.8.1,5.2v10.6H593V778.4h5.9l10,15.6s-.1-2.6-.1-5.1V778.4h5.3v23.3Z" style="fill: #fff"/>
<path d="M616.8,801.7V778.4h5.4v18.8h8.1v4.5Z" style="fill: #fff"/>
<path d="M640.8,802.1a10.5,10.5,0,0,1-8.5-3.9l2.5-3.3a8.3,8.3,0,0,0,5.7,2.9c2.3,0,4.1-1.2,4.1-3.2s-1.6-3.2-3.7-3.2h-2.1v-3.8h2.1c1.8,0,3.1-.9,3.1-2.7s-1.5-2.8-3.4-2.8a9,9,0,0,0-5.6,2.3l-2-3.5a11.1,11.1,0,0,1,8-2.9c4.3,0,8.2,2.3,8.2,6.2a4.9,4.9,0,0,1-3.4,5.1h0a5.6,5.6,0,0,1,4.1,5.5C649.9,799.5,645.6,802.1,640.8,802.1Z" style="fill: #fff"/>
<path d="M659.7,801.7h-7.9V778.4h7.9c7.4,0,12.8,3.9,12.8,11.6S667.1,801.7,659.7,801.7Zm.3-18.8h-2.7v14.2H660c4.4,0,7-2.8,7-7.1S664.5,782.9,660,782.9Z" style="fill: #fff"/>
<path d="M582,821.3c2.2,0,3.8-1.1,3.8-3.2s-1.6-2.8-3.3-3.6l-2.7-1.1a4.5,4.5,0,0,1-3-4.5c0-3,2.8-4.7,5.6-4.7a6.4,6.4,0,0,1,5,2.4l-1.2,1.3a5.1,5.1,0,0,0-3.9-1.9c-2,0-3.5,1-3.5,2.8s1.3,2.6,2.5,3.1l2.5,1.1c2.2.9,4,2.2,4,4.8s-2.5,5.3-6.1,5.3a7,7,0,0,1-5.6-3.3l1.3-1.3A6.2,6.2,0,0,0,582,821.3Z" style="fill: #fff"/>
<path d="M589.8,816.6a6.5,6.5,0,0,1,13,0,6.5,6.5,0,0,1-13,0Zm11-.1a4.4,4.4,0,0,0-4.5-4.7c-2.7,0-4.4,2-4.4,4.7s1.7,4.8,4.4,4.8S600.8,819.2,600.8,816.5Z" style="fill: #fff"/>
<path d="M604.7,804.5h2v18.2h-2Z" style="fill: #fff"/>
<path d="M620.1,810.3v12.4h-1.9v-1.9c-.5,1.3-2.1,2.1-3.9,2.1-3.5,0-4.4-2.1-4.4-5.1v-7.5h2v7.4c0,2.3.7,3.6,3,3.6s3.3-2,3.3-4.1v-6.9Z" style="fill: #fff"/>
<path d="M627.1,823c-2.9,0-2.9-2.8-2.9-5v-6h-1.9v-1.6h1.9v-3.9h2v3.9h3V812h-3.1v6.4a4.3,4.3,0,0,0,.4,2.4,1.6,1.6,0,0,0,1.3.5,3.4,3.4,0,0,0,1.4-.3v1.6A4.8,4.8,0,0,1,627.1,823Z" style="fill: #fff"/>
<path d="M633.2,807.4a1.3,1.3,0,0,1-1.4-1.3,1.3,1.3,0,0,1,1.4-1.4,1.3,1.3,0,0,1,1.3,1.4A1.3,1.3,0,0,1,633.2,807.4Zm-1,2.9h1.9v12.4h-1.9Z" style="fill: #fff"/>
<path d="M636.6,816.6A6.5,6.5,0,1,1,643,823,6.2,6.2,0,0,1,636.6,816.6Zm10.9-.1a4.4,4.4,0,0,0-4.5-4.7c-2.7,0-4.4,2-4.4,4.7s1.7,4.8,4.4,4.8S647.5,819.2,647.5,816.5Z" style="fill: #fff"/>
<path d="M662.1,815.2v7.5h-1.9v-7.3c0-2.3-.8-3.6-3.1-3.6s-3.3,1.8-3.3,3.9v7h-2V810.3h2v2h.1a4,4,0,0,1,3.8-2.2C661.3,810.1,662.1,812.3,662.1,815.2Z" style="fill: #fff"/>
<path d="M668.7,821.4c1.4,0,2.7-.5,2.7-2s-2.1-2-3.1-2.3-3.5-.9-3.5-3.5,2-3.5,4-3.5a5.3,5.3,0,0,1,4,1.4l-.9,1.2a5.1,5.1,0,0,0-3.1-1.1c-1.3,0-2.2.6-2.2,1.8s1.2,1.6,2.6,2.1,4,1,4,3.7-2,3.8-4.5,3.8a5.4,5.4,0,0,1-4.6-2.2l1-1.2A4.8,4.8,0,0,0,668.7,821.4Z" style="fill: #fff"/>
<polygon points="552.5 817.9 537.9 798.7 542.7 797.1 557.3 816.3 552.5 817.9" style="fill: #99d0a0"/>
<polyline points="542.7 822.8 542.7 822.8 524.9 822.8 524.9 818.2 537.1 818.2 537.1 797.1 542.7 797.1" style="fill: #4db6e8"/>
<polygon points="549.6 775.9 546.8 780.5 563.8 801.7 570.3 801.7 549.6 775.9" style="fill: url(#radial-gradient-2)"/>
<polyline points="552.4 822.8 552.4 822.8 570.3 822.8 570.3 818.2 558.1 818.2 558.1 797.1 552.4 797.1" style="fill: #f4bf1f"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -464,6 +464,12 @@ const ModelObjectPtrs& Cut::perform_by_contour(std::vector<Part> parts, int dowe
// Just add Upper and Lower objects to cut_object_ptrs // Just add Upper and Lower objects to cut_object_ptrs
post_process(upper, lower, cut_object_ptrs); post_process(upper, lower, cut_object_ptrs);
// Now merge all model parts together:
merge_solid_parts_inside_object(cut_object_ptrs);
// replace initial objects in model with cut object
finalize(cut_object_ptrs);
} }
else if (volumes.size() > cut_parts_cnt) { else if (volumes.size() > cut_parts_cnt) {
// Means that object is cut with connectors // Means that object is cut with connectors
@ -490,17 +496,18 @@ const ModelObjectPtrs& Cut::perform_by_contour(std::vector<Part> parts, int dowe
// Add Upper and Lower objects to cut_object_ptrs // Add Upper and Lower objects to cut_object_ptrs
post_process(upper, lower, cut_object_ptrs); post_process(upper, lower, cut_object_ptrs);
// Add Dowel-connectors as separate objects to cut_object_ptrs // Now merge all model parts together:
merge_solid_parts_inside_object(cut_object_ptrs);
// replace initial objects in model with cut object
finalize(cut_object_ptrs);
// Add Dowel-connectors as separate objects to model
if (cut_connectors_obj.size() >= 3) if (cut_connectors_obj.size() >= 3)
for (size_t id = 2; id < cut_connectors_obj.size(); id++) for (size_t id = 2; id < cut_connectors_obj.size(); id++)
cut_object_ptrs.push_back(cut_connectors_obj[id]); m_model.add_object(*cut_connectors_obj[id]);
} }
// Now merge all model parts together:
merge_solid_parts_inside_object(cut_object_ptrs);
finalize(cut_object_ptrs);
return m_model.objects; return m_model.objects;
} }

View File

@ -1463,13 +1463,13 @@ void GCodeGenerator::process_layers(
const auto smooth_path_interpolator = tbb::make_filter<void, std::pair<size_t, GCode::SmoothPathCache>>(slic3r_tbb_filtermode::serial_in_order, const auto smooth_path_interpolator = tbb::make_filter<void, std::pair<size_t, GCode::SmoothPathCache>>(slic3r_tbb_filtermode::serial_in_order,
[this, &print, &layers_to_print, &layer_to_print_idx, &interpolation_params](tbb::flow_control &fc) -> std::pair<size_t, GCode::SmoothPathCache> { [this, &print, &layers_to_print, &layer_to_print_idx, &interpolation_params](tbb::flow_control &fc) -> std::pair<size_t, GCode::SmoothPathCache> {
if (layer_to_print_idx >= layers_to_print.size()) { if (layer_to_print_idx >= layers_to_print.size()) {
if ((!m_pressure_equalizer && layer_to_print_idx == layers_to_print.size()) || (m_pressure_equalizer && layer_to_print_idx == (layers_to_print.size() + 1))) { if (layer_to_print_idx == layers_to_print.size() + (m_pressure_equalizer ? 1 : 0)) {
fc.stop(); fc.stop();
return {}; return {};
} else { } else {
// Pressure equalizer need insert empty input. Because it returns one layer back. // Pressure equalizer need insert empty input. Because it returns one layer back.
// Insert NOP (no operation) layer; // Insert NOP (no operation) layer;
return { ++ layer_to_print_idx, {} }; return { layer_to_print_idx ++, {} };
} }
} else { } else {
print.throw_if_canceled(); print.throw_if_canceled();
@ -1561,13 +1561,13 @@ void GCodeGenerator::process_layers(
const auto smooth_path_interpolator = tbb::make_filter<void, std::pair<size_t, GCode::SmoothPathCache>> (slic3r_tbb_filtermode::serial_in_order, const auto smooth_path_interpolator = tbb::make_filter<void, std::pair<size_t, GCode::SmoothPathCache>> (slic3r_tbb_filtermode::serial_in_order,
[this, &print, &layers_to_print, &layer_to_print_idx, interpolation_params](tbb::flow_control &fc) -> std::pair<size_t, GCode::SmoothPathCache> { [this, &print, &layers_to_print, &layer_to_print_idx, interpolation_params](tbb::flow_control &fc) -> std::pair<size_t, GCode::SmoothPathCache> {
if (layer_to_print_idx >= layers_to_print.size()) { if (layer_to_print_idx >= layers_to_print.size()) {
if ((!m_pressure_equalizer && layer_to_print_idx == layers_to_print.size()) || (m_pressure_equalizer && layer_to_print_idx == (layers_to_print.size() + 1))) { if (layer_to_print_idx == layers_to_print.size() + (m_pressure_equalizer ? 1 : 0)) {
fc.stop(); fc.stop();
return {}; return {};
} else { } else {
// Pressure equalizer need insert empty input. Because it returns one layer back. // Pressure equalizer need insert empty input. Because it returns one layer back.
// Insert NOP (no operation) layer; // Insert NOP (no operation) layer;
return { ++ layer_to_print_idx, {} }; return { layer_to_print_idx ++, {} };
} }
} else { } else {
print.throw_if_canceled(); print.throw_if_canceled();

View File

@ -34,6 +34,7 @@
#include <numeric> #include <numeric>
#include <random> #include <random>
#include <boost/log/trivial.hpp> #include <boost/log/trivial.hpp>
#include <boost/container/small_vector.hpp>
namespace Slic3r { namespace Geometry { namespace ArcWelder { namespace Slic3r { namespace Geometry { namespace ArcWelder {
@ -309,7 +310,7 @@ static std::optional<Circle> try_create_circle(const Points::const_iterator begi
if (circle) { if (circle) {
// Fit the arc between the end points by least squares. // Fit the arc between the end points by least squares.
// Optimize over all points along the path and the centers of the segments. // Optimize over all points along the path and the centers of the segments.
std::vector<Vec2d> fpts; boost::container::small_vector<Vec2d, 16> fpts;
Vec2d first_point = begin->cast<double>(); Vec2d first_point = begin->cast<double>();
Vec2d last_point = std::prev(end)->cast<double>(); Vec2d last_point = std::prev(end)->cast<double>();
Vec2d prev_point = first_point; Vec2d prev_point = first_point;

View File

@ -1324,9 +1324,9 @@ inline t_config_option_keys deep_diff(const ConfigBase &config_this, const Confi
// Ignore this field, it is not presented to the user, therefore showing a "modified" flag for this parameter does not help. // Ignore this field, it is not presented to the user, therefore showing a "modified" flag for this parameter does not help.
// Also the length of this field may differ, which may lead to a crash if the block below is used. // Also the length of this field may differ, which may lead to a crash if the block below is used.
} else if (opt_key == "thumbnails") { } else if (opt_key == "thumbnails") {
// "thumbnails" can not containes a extentions in old config but are valid and use PNG extention by default // "thumbnails" can not contain extensions in old config but they are valid and use PNG extension by default
// So, check if "thumbnails" is really changed // So, check if "thumbnails" is really changed
// We will compare full thumnails instead of exactly config values // We will compare full thumbnails instead of exactly config values
auto [thumbnails, er] = GCodeThumbnails::make_and_check_thumbnail_list(config_this); auto [thumbnails, er] = GCodeThumbnails::make_and_check_thumbnail_list(config_this);
auto [thumbnails_new, er_new] = GCodeThumbnails::make_and_check_thumbnail_list(config_other); auto [thumbnails_new, er_new] = GCodeThumbnails::make_and_check_thumbnail_list(config_other);
if (thumbnails != thumbnails_new || er != er_new) if (thumbnails != thumbnails_new || er != er_new)
@ -1343,6 +1343,12 @@ inline t_config_option_keys deep_diff(const ConfigBase &config_this, const Confi
case coFloatsOrPercents: add_correct_opts_to_diff<ConfigOptionFloatsOrPercents >(opt_key, diff, config_other, config_this); break; case coFloatsOrPercents: add_correct_opts_to_diff<ConfigOptionFloatsOrPercents >(opt_key, diff, config_other, config_this); break;
default: diff.emplace_back(opt_key); break; default: diff.emplace_back(opt_key); break;
} }
// "nozzle_diameter" is a vector option which contain info about diameter for each nozzle
// But in the same time size of this vector indicates about count of extruders,
// So, we need to add it to the diff if its size is changed.
if (opt_key == "nozzle_diameter" &&
static_cast<const ConfigOptionFloats*>(this_opt)->size() != static_cast<const ConfigOptionFloats*>(other_opt)->size())
diff.emplace_back(opt_key);
} }
} }
} }

View File

@ -408,6 +408,11 @@ void PresetBundle::update_system_maps()
this->sla_materials.update_map_system_profile_renamed(); this->sla_materials.update_map_system_profile_renamed();
this->printers .update_map_system_profile_renamed(); this->printers .update_map_system_profile_renamed();
update_alias_maps();
}
void PresetBundle::update_alias_maps()
{
this->prints .update_map_alias_to_profile_name(); this->prints .update_map_alias_to_profile_name();
this->sla_prints .update_map_alias_to_profile_name(); this->sla_prints .update_map_alias_to_profile_name();
this->filaments .update_map_alias_to_profile_name(); this->filaments .update_map_alias_to_profile_name();
@ -1116,6 +1121,8 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool
else else
this->physical_printers.unselect_printer(); this->physical_printers.unselect_printer();
} }
update_alias_maps();
} }
// Load the active configuration of a config bundle from a boost property_tree. This is a private method called from load_config_file. // Load the active configuration of a config bundle from a boost property_tree. This is a private method called from load_config_file.
@ -1194,6 +1201,7 @@ ConfigSubstitutions PresetBundle::load_config_file_config_bundle(
this->extruders_filaments[i].select_filament(load_one(this->filaments, tmp_bundle.filaments, tmp_bundle.extruders_filaments[i].get_selected_preset_name(), false)); this->extruders_filaments[i].select_filament(load_one(this->filaments, tmp_bundle.filaments, tmp_bundle.extruders_filaments[i].get_selected_preset_name(), false));
this->update_compatible(PresetSelectCompatibleType::Never); this->update_compatible(PresetSelectCompatibleType::Never);
update_alias_maps();
sort_remove_duplicates(config_substitutions); sort_remove_duplicates(config_substitutions);
return config_substitutions; return config_substitutions;
@ -1683,6 +1691,8 @@ std::pair<PresetsConfigSubstitutions, size_t> PresetBundle::load_configbundle(
this->update_compatible(PresetSelectCompatibleType::Never); this->update_compatible(PresetSelectCompatibleType::Never);
} }
update_alias_maps();
return std::make_pair(std::move(substitutions), presets_loaded + ph_printers_loaded); return std::make_pair(std::move(substitutions), presets_loaded + ph_printers_loaded);
} }

View File

@ -179,6 +179,8 @@ private:
std::vector<std::string> merge_presets(PresetBundle &&other); std::vector<std::string> merge_presets(PresetBundle &&other);
// Update renamed_from and alias maps of system profiles. // Update renamed_from and alias maps of system profiles.
void update_system_maps(); void update_system_maps();
// Update alias maps
void update_alias_maps();
// Set the is_visible flag for filaments and sla materials, // Set the is_visible flag for filaments and sla materials,
// apply defaults based on enabled printers when no filaments/materials are installed. // apply defaults based on enabled printers when no filaments/materials are installed.

View File

@ -118,7 +118,8 @@ public:
void clear() void clear()
{ {
std::lock_guard lk{m_mutex}; std::lock_guard lk{m_mutex};
while (!m_queue.empty()) m_queue.pop(); while (!m_queue.empty())
m_queue.pop();
} }
}; };

View File

@ -558,10 +558,13 @@ void PhysicalPrinterDialog::update_host_type(bool printer_change)
|| boost::starts_with(model, "XL") || boost::starts_with(model, "XL")
); );
}; };
// allowed models are: all MK3/S and MK2.5/S // allowed models are: all MK3/S and MK2.5/S.
// Since 2.6.2 also MINI, which makes list of supported printers same for both services.
// Lets keep these 2 functions separated for now.
auto model_supports_prusaconnect = [](const std::string& model) { auto model_supports_prusaconnect = [](const std::string& model) {
return model.size() >= 2 && return model.size() >= 2 &&
((boost::starts_with(model, "MK") && model[2] > '2' && model[2] <= '9') ((boost::starts_with(model, "MK") && model[2] > '2' && model[2] <= '9')
|| boost::starts_with(model, "MINI")
|| boost::starts_with(model, "MK2.5") || boost::starts_with(model, "MK2.5")
|| boost::starts_with(model, "XL") || boost::starts_with(model, "XL")
); );

View File

@ -609,6 +609,7 @@ void PreferencesDialog::build()
activate_options_tab(m_optgroup_render); activate_options_tab(m_optgroup_render);
#endif // ENABLE_ENVIRONMENT_MAP #endif // ENABLE_ENVIRONMENT_MAP
}
#ifdef _WIN32 #ifdef _WIN32
// Add "Dark Mode" tab // Add "Dark Mode" tab
@ -638,7 +639,6 @@ void PreferencesDialog::build()
activate_options_tab(m_optgroup_dark_mode); activate_options_tab(m_optgroup_dark_mode);
#endif //_WIN32 #endif //_WIN32
}
// update alignment of the controls for all tabs // update alignment of the controls for all tabs
update_ctrls_alignment(); update_ctrls_alignment();

View File

@ -18,6 +18,6 @@ if (WIN32)
endif() endif()
# catch_discover_tests(${_TEST_NAME}_tests TEST_PREFIX "${_TEST_NAME}: ") # catch_discover_tests(${_TEST_NAME}_tests TEST_PREFIX "${_TEST_NAME}: ")
set(_catch_args "exclude:[NotWorking]") set(_catch_args "exclude:[NotWorking];-s")
list(APPEND _catch_args "${CATCH_EXTRA_ARGS}") list(APPEND _catch_args "${CATCH_EXTRA_ARGS}")
add_test(${_TEST_NAME}_tests ${_TEST_NAME}_tests ${_catch_args}) add_test(${_TEST_NAME}_tests ${_TEST_NAME}_tests ${_catch_args})

View File

@ -20,6 +20,14 @@ struct Progress: Slic3r::ProgressIndicator {
using TestClasses = std::tuple< Slic3r::GUI::UIThreadWorker, Slic3r::GUI::BoostThreadWorker >; using TestClasses = std::tuple< Slic3r::GUI::UIThreadWorker, Slic3r::GUI::BoostThreadWorker >;
TEMPLATE_LIST_TEST_CASE("Empty worker should not block when queried for idle", "[Jobs]", TestClasses) {
TestType worker{std::make_unique<Progress>()};
worker.wait_for_idle();
REQUIRE(worker.is_idle());
}
TEMPLATE_LIST_TEST_CASE("Empty worker should not do anything", "[Jobs]", TestClasses) { TEMPLATE_LIST_TEST_CASE("Empty worker should not do anything", "[Jobs]", TestClasses) {
TestType worker{std::make_unique<Progress>()}; TestType worker{std::make_unique<Progress>()};
@ -51,6 +59,10 @@ TEMPLATE_LIST_TEST_CASE("State should not be idle while running a job", "[Jobs]"
worker.wait_for_idle(); worker.wait_for_idle();
// To avoid stalling the job, in case the wait_for_idle is called before
// the job goes into blocking wait
worker.process_events();
REQUIRE(worker.is_idle()); REQUIRE(worker.is_idle());
} }
@ -67,12 +79,13 @@ TEMPLATE_LIST_TEST_CASE("Status messages should be received by the main thread d
}); });
worker.wait_for_idle(); worker.wait_for_idle();
worker.process_events();
REQUIRE(pri->pr == 100); REQUIRE(pri->pr == 100);
REQUIRE(pri->statustxt == "Running"); REQUIRE(pri->statustxt == "Running");
} }
TEMPLATE_LIST_TEST_CASE("Cancellation should be recognized be the worker", "[Jobs]", TestClasses) { TEMPLATE_LIST_TEST_CASE("Cancellation should be recognized by the worker", "[Jobs]", TestClasses) {
using namespace Slic3r; using namespace Slic3r;
using namespace Slic3r::GUI; using namespace Slic3r::GUI;
@ -85,7 +98,8 @@ TEMPLATE_LIST_TEST_CASE("Cancellation should be recognized be the worker", "[Job
for (int s = 0; s <= 100; ++s) { for (int s = 0; s <= 100; ++s) {
std::this_thread::sleep_for(std::chrono::milliseconds(10)); std::this_thread::sleep_for(std::chrono::milliseconds(10));
ctl.update_status(s, "Running"); ctl.update_status(s, "Running");
if (ctl.was_canceled()) break; if (ctl.was_canceled())
break;
} }
}, },
[](bool cancelled, std::exception_ptr &) { // finalize [](bool cancelled, std::exception_ptr &) { // finalize
@ -96,6 +110,7 @@ TEMPLATE_LIST_TEST_CASE("Cancellation should be recognized be the worker", "[Job
worker.cancel(); worker.cancel();
worker.wait_for_current_job(); worker.wait_for_current_job();
worker.process_events();
REQUIRE(pri->pr != 100); REQUIRE(pri->pr != 100);
} }
@ -133,6 +148,7 @@ TEMPLATE_LIST_TEST_CASE("cancel_all should remove all pending jobs", "[Jobs]", T
// during the first job's execution. // during the first job's execution.
std::this_thread::sleep_for(std::chrono::milliseconds(500)); std::this_thread::sleep_for(std::chrono::milliseconds(500));
worker.cancel_all(); worker.cancel_all();
worker.process_events();
REQUIRE(jobres[0] == true); REQUIRE(jobres[0] == true);
REQUIRE(jobres[1] == false); REQUIRE(jobres[1] == false);
@ -161,5 +177,7 @@ TEMPLATE_LIST_TEST_CASE("Exception should be properly forwarded to finalize()",
}); });
worker.wait_for_idle(); worker.wait_for_idle();
worker.process_events();
REQUIRE(worker.is_idle()); REQUIRE(worker.is_idle());
} }