From 52d2057e64d34da08b4445dedc57887cffbab1cd Mon Sep 17 00:00:00 2001 From: kerog777 Date: Thu, 19 Apr 2018 08:24:45 -0700 Subject: [PATCH 1/6] Add profile data for Felix Tec4 Includes 2 extruder definitions, platform mesh, and variants for 0.25, 0.35, 0.5, and 0.7 mm nozzles --- resources/definitions/felixtec4dual.def.json | 59 ++++++++++++++++++ .../felixtec4_dual_extruder_0.def.json | 26 ++++++++ .../felixtec4_dual_extruder_1.def.json | 26 ++++++++ resources/meshes/FelixTec4_platform.stl | Bin 0 -> 143884 bytes resources/variants/felixtec4_0.25.inst.cfg | 13 ++++ resources/variants/felixtec4_0.35.inst.cfg | 13 ++++ resources/variants/felixtec4_0.50.inst.cfg | 12 ++++ resources/variants/felixtec4_0.70.inst.cfg | 13 ++++ 8 files changed, 162 insertions(+) create mode 100644 resources/definitions/felixtec4dual.def.json create mode 100644 resources/extruders/felixtec4_dual_extruder_0.def.json create mode 100644 resources/extruders/felixtec4_dual_extruder_1.def.json create mode 100644 resources/meshes/FelixTec4_platform.stl create mode 100644 resources/variants/felixtec4_0.25.inst.cfg create mode 100644 resources/variants/felixtec4_0.35.inst.cfg create mode 100644 resources/variants/felixtec4_0.50.inst.cfg create mode 100644 resources/variants/felixtec4_0.70.inst.cfg diff --git a/resources/definitions/felixtec4dual.def.json b/resources/definitions/felixtec4dual.def.json new file mode 100644 index 0000000000..20f31e111d --- /dev/null +++ b/resources/definitions/felixtec4dual.def.json @@ -0,0 +1,59 @@ +{ + "version": 2, + "name": "Felix Tec 4 Dual", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "kerog777@gmail.com", + "manufacturer": "Felix", + "platform": "FelixTec4_platform.stl", + "platform_offset": [-128,0, 102], + "machine_extruder_trains": + { + "0": "felixtec4_dual_extruder_0", + "1": "felixtec4_dual_extruder_1" + }, + "file_formats": "text/x-gcode", + "has_variants": true, + "has_materials": true, + "preferred_variant": "felixtec4_0.35", + "variants_name": "Nozzle Diam" + }, + "overrides": { + "machine_name": { "default_value": "FelixTec4Dual" }, + + "layer_height": { "default_value": 0.2 }, + "layer_height_0": { "default_value": 0.3 }, + "infill_sparse_density": { "default_value": 20 }, + "wall_thickness": { "default_value": 1 }, + "top_bottom_thickness": { "default_value": 1 }, + + "infill_pattern": { "value": "'tetrahedral'" }, + + "machine_width": { "default_value": 255 }, + "machine_depth": { "default_value": 205 }, + "machine_height": { "default_value": 225 }, + + "machine_heated_bed": { "default_value": true }, + "machine_gcode_flavor": { "default_value": "Repetier" }, + "machine_center_is_zero": { "default_value": false }, + + "speed_print": { "default_value": 60 }, + "speed_travel": { "default_value": 200 }, + + "retraction_amount": { "default_value": 1 }, + "retraction_speed": { "default_value": 50}, + "material_flow": { "default_value": 87 }, + "machine_nozzle_size": { "default_value": 0.35 }, + "adhesion_type": { "default_value": "skirt" }, + "skirt_brim_minimal_length": { "default_value": 130}, + + "material_diameter": { "default_value": 1.75 }, + "machine_start_gcode": { + "default_value": "; FELIXprinters | www.FELIXprinters.com | Zeemanlaan 15 3401 MV IJsselstein The Netherlands\n; FELIX Tec 4 | Start Code Dual Extruders v1.0\n; Modified by kerog777@gmail.com\n;================================ \n;Initializing\nM80 ; Turn on the power supply\nM107 ; Turn off fans\nM117 Heating up\nM140 S{bed_temperature} ; Heatup Bed and continue\nM104 T0 S{print_temperature} ; Heatup hot-end and continue\nM104 T1 120 ; Heat extruder #2 to homing temp\nG28 ; Home all\nM109 T0 S[print_temperature] ; Heatup hot-end and continue\nM117 Purging\nT0 ; Select extruder 1\nG92 E0 ; Reset extruder\nM109 T0 S[extruder0_temperature] ; Heatup hot-end and wait\nT0 ; Select extruder 1\n\n;================================ ; Initializing done\nM117 FELIXprinting" + }, + "machine_end_gcode": { + "default_value": "; FELIXprinters End Code Tec Series v1.0\n; Modified by kerog777@gmail.com\n; ================================= \n; Move extruder to park position\nG91 ; Make coordinates relative\nG1 Z2 F1000 ; Move z 2mm up\nG90 ; Use absolute coordinates again\n G1 X0 Y0 F15240 ; Move bed and printhead to ergonomic position\n\n; ================================= ; Turn off heaters\nM140 S0 ; Turn off bed heater\nT0 ; Select left extruder\nM104 T0 S0 ; Turn off heater and continue\n G92 E0 ; Reset extruder position\nG1 E-6 ; Retract filament 8mm\nG92 E0 ; Reset extruder position\nT1 ; Select right extruder\nM104 T1 S0 ; Turn off heater and continue\nG92 E0 ; Reset extruder position\nG1 E-6 ; Retract filament 8mm\nG92 E0 ; Reset extruder position\nT0 ; Select left extruder\n\n; ================================= ; Turn the rest off\nM107 ; Turn off fan\nM84 ; Disable steppers\nM117 Finished Printing!" + } + } +} diff --git a/resources/extruders/felixtec4_dual_extruder_0.def.json b/resources/extruders/felixtec4_dual_extruder_0.def.json new file mode 100644 index 0000000000..e8af92daef --- /dev/null +++ b/resources/extruders/felixtec4_dual_extruder_0.def.json @@ -0,0 +1,26 @@ +{ + "id": "felixtec4_dual_extruder_0", + "version": 2, + "name": "Left Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "felixtec4dual", + "position": "0" + }, + + "overrides": { + "extruder_nr": { + "default_value": 0, + "maximum_value": "1" + }, + "machine_nozzle_offset_x": { "default_value": 0 }, + "machine_nozzle_offset_y": { "default_value": 0 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} diff --git a/resources/extruders/felixtec4_dual_extruder_1.def.json b/resources/extruders/felixtec4_dual_extruder_1.def.json new file mode 100644 index 0000000000..23d2d6648f --- /dev/null +++ b/resources/extruders/felixtec4_dual_extruder_1.def.json @@ -0,0 +1,26 @@ +{ + "id": "felixtec4_dual_extruder_1", + "version": 2, + "name": "Right Extruder", + "inherits": "fdmextruder", + "metadata": { + "machine": "felixtec4dual", + "position": "1" + }, + + "overrides": { + "extruder_nr": { + "default_value": 1, + "maximum_value": "2" + }, + "machine_nozzle_offset_x": { "default_value": 13 }, + "machine_nozzle_offset_y": { "default_value": 0 }, + + "machine_extruder_start_pos_abs": { "default_value": true }, + "machine_extruder_start_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_start_pos_y": { "value": "prime_tower_position_y" }, + "machine_extruder_end_pos_abs": { "default_value": true }, + "machine_extruder_end_pos_x": { "value": "prime_tower_position_x" }, + "machine_extruder_end_pos_y": { "value": "prime_tower_position_y" } + } +} diff --git a/resources/meshes/FelixTec4_platform.stl b/resources/meshes/FelixTec4_platform.stl new file mode 100644 index 0000000000000000000000000000000000000000..98a67881cb6cf9af6d4b3b9e821a7ba85f197719 GIT binary patch literal 143884 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 z%0A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 Date: Sat, 21 Apr 2018 09:34:41 -0700 Subject: [PATCH 2/6] Made requested changes to version numbers, etc. per comments fro previous pull request. --- resources/definitions/felixtec4dual.def.json | 2 +- resources/variants/felixtec4_0.25.inst.cfg | 3 ++- resources/variants/felixtec4_0.35.inst.cfg | 3 ++- resources/variants/felixtec4_0.50.inst.cfg | 1 + resources/variants/felixtec4_0.70.inst.cfg | 3 ++- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/resources/definitions/felixtec4dual.def.json b/resources/definitions/felixtec4dual.def.json index 20f31e111d..276ab9dcbe 100644 --- a/resources/definitions/felixtec4dual.def.json +++ b/resources/definitions/felixtec4dual.def.json @@ -16,7 +16,7 @@ "file_formats": "text/x-gcode", "has_variants": true, "has_materials": true, - "preferred_variant": "felixtec4_0.35", + "preferred_variant_name": "felixtec4_0.35", "variants_name": "Nozzle Diam" }, "overrides": { diff --git a/resources/variants/felixtec4_0.25.inst.cfg b/resources/variants/felixtec4_0.25.inst.cfg index e54ecb2fbe..072ce13987 100644 --- a/resources/variants/felixtec4_0.25.inst.cfg +++ b/resources/variants/felixtec4_0.25.inst.cfg @@ -6,8 +6,9 @@ definition = felixtec4dual [metadata] author = kerog777 type = variant -setting_version = 1 +setting_version = 4 [values] +hardware_type = nozzle machine_nozzle_size = 0.25 layer_height_0 = 0.15 diff --git a/resources/variants/felixtec4_0.35.inst.cfg b/resources/variants/felixtec4_0.35.inst.cfg index 5440fe3ff7..8b3186de00 100644 --- a/resources/variants/felixtec4_0.35.inst.cfg +++ b/resources/variants/felixtec4_0.35.inst.cfg @@ -6,8 +6,9 @@ definition = felixtec4dual [metadata] author = kerog777 type = variant -setting_version = 1 +setting_version = 4 [values] +hardware_type = nozzle machine_nozzle_size = 0.35 layer_height_0 = 0.2 diff --git a/resources/variants/felixtec4_0.50.inst.cfg b/resources/variants/felixtec4_0.50.inst.cfg index d25d3d8574..86cdd20061 100644 --- a/resources/variants/felixtec4_0.50.inst.cfg +++ b/resources/variants/felixtec4_0.50.inst.cfg @@ -9,4 +9,5 @@ type = variant setting_version = 4 [values] +hardware_type = nozzle machine_nozzle_size = 0.5 diff --git a/resources/variants/felixtec4_0.70.inst.cfg b/resources/variants/felixtec4_0.70.inst.cfg index a3de883242..5adee6671f 100644 --- a/resources/variants/felixtec4_0.70.inst.cfg +++ b/resources/variants/felixtec4_0.70.inst.cfg @@ -6,8 +6,9 @@ definition = felixtec4dual [metadata] author = kerog777 type = variant -setting_version = 1 +setting_version = 4 [values] +hardware_type = nozzle machine_nozzle_size = 0.70 layer_height_0 = 0.4 From 930b716cc241a97e3ca42d379d9153c69f057335 Mon Sep 17 00:00:00 2001 From: kerog777 Date: Mon, 23 Apr 2018 21:06:52 -0700 Subject: [PATCH 3/6] Fix brackets in start_gcode Had square brackets instead of curly brackets in M109 commands. Still worked OK from SD, but not from Octoprint. --- resources/definitions/felixtec4dual.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/felixtec4dual.def.json b/resources/definitions/felixtec4dual.def.json index 276ab9dcbe..0d5fc85195 100644 --- a/resources/definitions/felixtec4dual.def.json +++ b/resources/definitions/felixtec4dual.def.json @@ -50,7 +50,7 @@ "material_diameter": { "default_value": 1.75 }, "machine_start_gcode": { - "default_value": "; FELIXprinters | www.FELIXprinters.com | Zeemanlaan 15 3401 MV IJsselstein The Netherlands\n; FELIX Tec 4 | Start Code Dual Extruders v1.0\n; Modified by kerog777@gmail.com\n;================================ \n;Initializing\nM80 ; Turn on the power supply\nM107 ; Turn off fans\nM117 Heating up\nM140 S{bed_temperature} ; Heatup Bed and continue\nM104 T0 S{print_temperature} ; Heatup hot-end and continue\nM104 T1 120 ; Heat extruder #2 to homing temp\nG28 ; Home all\nM109 T0 S[print_temperature] ; Heatup hot-end and continue\nM117 Purging\nT0 ; Select extruder 1\nG92 E0 ; Reset extruder\nM109 T0 S[extruder0_temperature] ; Heatup hot-end and wait\nT0 ; Select extruder 1\n\n;================================ ; Initializing done\nM117 FELIXprinting" + "default_value": "; FELIXprinters | www.FELIXprinters.com | Zeemanlaan 15 3401 MV IJsselstein The Netherlands\n; FELIX Tec 4 | Start Code Dual Extruders v1.0\n; Modified by kerog777@gmail.com\n;================================ \n;Initializing\nM80 ; Turn on the power supply\nM107 ; Turn off fans\nM117 Heating up\nM140 S{bed_temperature} ; Heatup Bed and continue\nM104 T0 S{print_temperature} ; Heatup hot-end and continue\nM104 T1 120 ; Heat extruder #2 to homing temp\nG28 ; Home all\nM109 T0 S{print_temperature} ; Heatup hot-end and continue\nM117 Purging\nT0 ; Select extruder 1\nG92 E0 ; Reset extruder\nM109 T0 S{extruder0_temperature} ; Heatup hot-end and wait\nT0 ; Select extruder 1\n\n;================================ ; Initializing done\nM117 FELIXprinting" }, "machine_end_gcode": { "default_value": "; FELIXprinters End Code Tec Series v1.0\n; Modified by kerog777@gmail.com\n; ================================= \n; Move extruder to park position\nG91 ; Make coordinates relative\nG1 Z2 F1000 ; Move z 2mm up\nG90 ; Use absolute coordinates again\n G1 X0 Y0 F15240 ; Move bed and printhead to ergonomic position\n\n; ================================= ; Turn off heaters\nM140 S0 ; Turn off bed heater\nT0 ; Select left extruder\nM104 T0 S0 ; Turn off heater and continue\n G92 E0 ; Reset extruder position\nG1 E-6 ; Retract filament 8mm\nG92 E0 ; Reset extruder position\nT1 ; Select right extruder\nM104 T1 S0 ; Turn off heater and continue\nG92 E0 ; Reset extruder position\nG1 E-6 ; Retract filament 8mm\nG92 E0 ; Reset extruder position\nT0 ; Select left extruder\n\n; ================================= ; Turn the rest off\nM107 ; Turn off fan\nM84 ; Disable steppers\nM117 Finished Printing!" From 616d3f9ea8cd0d38c41dc05491d5d196664101a1 Mon Sep 17 00:00:00 2001 From: kerog777 Date: Tue, 24 Apr 2018 17:11:17 -0700 Subject: [PATCH 4/6] Fixed version numbers and moved hardware_type = nozzle to metadata section. --- resources/variants/felixtec4_0.25.inst.cfg | 4 ++-- resources/variants/felixtec4_0.35.inst.cfg | 4 ++-- resources/variants/felixtec4_0.50.inst.cfg | 4 ++-- resources/variants/felixtec4_0.70.inst.cfg | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/resources/variants/felixtec4_0.25.inst.cfg b/resources/variants/felixtec4_0.25.inst.cfg index 072ce13987..c77875c105 100644 --- a/resources/variants/felixtec4_0.25.inst.cfg +++ b/resources/variants/felixtec4_0.25.inst.cfg @@ -1,14 +1,14 @@ [general] name = 0.25 mm -version = 2 +version = 3 definition = felixtec4dual [metadata] author = kerog777 type = variant setting_version = 4 +hardware_type = nozzle [values] -hardware_type = nozzle machine_nozzle_size = 0.25 layer_height_0 = 0.15 diff --git a/resources/variants/felixtec4_0.35.inst.cfg b/resources/variants/felixtec4_0.35.inst.cfg index 8b3186de00..c6b02ba4d4 100644 --- a/resources/variants/felixtec4_0.35.inst.cfg +++ b/resources/variants/felixtec4_0.35.inst.cfg @@ -1,14 +1,14 @@ [general] name = 0.35 mm -version = 2 +version = 3 definition = felixtec4dual [metadata] author = kerog777 type = variant setting_version = 4 +hardware_type = nozzle [values] -hardware_type = nozzle machine_nozzle_size = 0.35 layer_height_0 = 0.2 diff --git a/resources/variants/felixtec4_0.50.inst.cfg b/resources/variants/felixtec4_0.50.inst.cfg index 86cdd20061..d2c097522d 100644 --- a/resources/variants/felixtec4_0.50.inst.cfg +++ b/resources/variants/felixtec4_0.50.inst.cfg @@ -1,13 +1,13 @@ [general] name = 0.50 mm -version = 2 +version = 3 definition = felixtec4dual [metadata] author = kerog777 type = variant +hardware_type = nozzle setting_version = 4 [values] -hardware_type = nozzle machine_nozzle_size = 0.5 diff --git a/resources/variants/felixtec4_0.70.inst.cfg b/resources/variants/felixtec4_0.70.inst.cfg index 5adee6671f..db87a70cf4 100644 --- a/resources/variants/felixtec4_0.70.inst.cfg +++ b/resources/variants/felixtec4_0.70.inst.cfg @@ -1,14 +1,14 @@ [general] name = 0.70 mm -version = 2 +version = 3 definition = felixtec4dual [metadata] author = kerog777 type = variant +hardware_type = nozzle setting_version = 4 [values] -hardware_type = nozzle machine_nozzle_size = 0.70 layer_height_0 = 0.4 From 9d9a238b2cb33bf19d9c1e0a4e38c88a86261026 Mon Sep 17 00:00:00 2001 From: kerog777 Date: Tue, 24 Apr 2018 21:30:54 -0700 Subject: [PATCH 5/6] Update start gcode bed_temperature should have been print_bed_temperature. Refined heating steps and added a purge line. --- resources/definitions/felixtec4dual.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/felixtec4dual.def.json b/resources/definitions/felixtec4dual.def.json index 0d5fc85195..463d208564 100644 --- a/resources/definitions/felixtec4dual.def.json +++ b/resources/definitions/felixtec4dual.def.json @@ -50,7 +50,7 @@ "material_diameter": { "default_value": 1.75 }, "machine_start_gcode": { - "default_value": "; FELIXprinters | www.FELIXprinters.com | Zeemanlaan 15 3401 MV IJsselstein The Netherlands\n; FELIX Tec 4 | Start Code Dual Extruders v1.0\n; Modified by kerog777@gmail.com\n;================================ \n;Initializing\nM80 ; Turn on the power supply\nM107 ; Turn off fans\nM117 Heating up\nM140 S{bed_temperature} ; Heatup Bed and continue\nM104 T0 S{print_temperature} ; Heatup hot-end and continue\nM104 T1 120 ; Heat extruder #2 to homing temp\nG28 ; Home all\nM109 T0 S{print_temperature} ; Heatup hot-end and continue\nM117 Purging\nT0 ; Select extruder 1\nG92 E0 ; Reset extruder\nM109 T0 S{extruder0_temperature} ; Heatup hot-end and wait\nT0 ; Select extruder 1\n\n;================================ ; Initializing done\nM117 FELIXprinting" + "default_value": "; FELIXprinters | www.FELIXprinters.com | Zeemanlaan 15 3401 MV IJsselstein The Netherlands\n; FELIX Tec 4 | Start Code Dual Extruders v1.0\n; Modified by kerog777@gmail.com\n;================================ \n;Initializing\nM80 ; Turn on the power supply\nM107 ; Turn off fans\nM117 Heating up\nM104 T0 S120\nM104 T1 S120\nM140 S{print_bed_temperature} ; Heatup Bed and continue\nG28 ; Home all\nM109 T0 S{print_temperature} ; Heatup hot-end and continue\nM117 Purging\nT0 ; Select extruder 1\nG92 E0 ; Reset extruder\nG1 X10.0 Y1.1 Z5.0 F15240 ; Move to start-line position\nG1 Z0.3 F15240 ; Move z up\nG1 X127.0 Y1.1 Z0.3 F1500.0 E15 ; Purge 1st line\nG92 E0 ; Reset extruder\n\n;================================ ; Initializing done\nM117 FELIXprinting" }, "machine_end_gcode": { "default_value": "; FELIXprinters End Code Tec Series v1.0\n; Modified by kerog777@gmail.com\n; ================================= \n; Move extruder to park position\nG91 ; Make coordinates relative\nG1 Z2 F1000 ; Move z 2mm up\nG90 ; Use absolute coordinates again\n G1 X0 Y0 F15240 ; Move bed and printhead to ergonomic position\n\n; ================================= ; Turn off heaters\nM140 S0 ; Turn off bed heater\nT0 ; Select left extruder\nM104 T0 S0 ; Turn off heater and continue\n G92 E0 ; Reset extruder position\nG1 E-6 ; Retract filament 8mm\nG92 E0 ; Reset extruder position\nT1 ; Select right extruder\nM104 T1 S0 ; Turn off heater and continue\nG92 E0 ; Reset extruder position\nG1 E-6 ; Retract filament 8mm\nG92 E0 ; Reset extruder position\nT0 ; Select left extruder\n\n; ================================= ; Turn the rest off\nM107 ; Turn off fan\nM84 ; Disable steppers\nM117 Finished Printing!" From 88dc33a2887b12a0667acae61ccc98e06f622c22 Mon Sep 17 00:00:00 2001 From: kerog777 Date: Wed, 25 Apr 2018 20:29:09 -0700 Subject: [PATCH 6/6] Corrected preferred variant name Made it match the name field in the variant file --- resources/definitions/felixtec4dual.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/felixtec4dual.def.json b/resources/definitions/felixtec4dual.def.json index 463d208564..9747fc74d9 100644 --- a/resources/definitions/felixtec4dual.def.json +++ b/resources/definitions/felixtec4dual.def.json @@ -16,7 +16,7 @@ "file_formats": "text/x-gcode", "has_variants": true, "has_materials": true, - "preferred_variant_name": "felixtec4_0.35", + "preferred_variant_name": "0.35 mm", "variants_name": "Nozzle Diam" }, "overrides": {