Added fusion3 F410

Based on PR #13355 Credits to @64bittuning

Adding support for the Fusion3Designs F410 machine. Later the F400, F306 and Edge will follow.

My business owns a Fusion3 F410 and using it has been difficult. The manufacturer originally shipped the machine with a license for Simplify 3d. We originally purchased the machine about three years ago, and the S3D license was lost when the previous controlling employee left the organization. I have spent a long time trying to get this machine operational and unfortunately my employer will not replace the S3D license. Enter Ultimaker Cura...

I have been using Cura since 4.4 and have spent a LONG time building and updating profiles. In 2020 I added Tronxy support, and recently performed a major overhaul on the profiles package. This brought me back to my attempt at adding support for our F410.
The vast majority of the profiles used here are a culmination of things I have learned through building other profiles, as well as using data points extracted from the large repository of S3D profiles that were released by Fusion3Design. The profiles all work, they produce good results, and use all of the original settings placed fourth by the manufacturer.

There are unfortunately some limitations that I felt were important to work around. Fusion3Design has a large list of certified materials. With such, in an effort to help prevent users from voiding the warranty on their machine, materials that do not match the approved materials list have been omitted from the machine profile at this time. The Generic profiles provided by Fusion3Design have been incorporated in order to provide support for PLA, PETG, ABS, ASA, PC, PA, CPE, and TPU. There are many brand name and specialty filament specific profiles available, however since Ultimaker Cura does not already "support" these materials with specific selectable profiles, the best option was to leave them for a future update.

Please view the certified materials lists below.
https://www.fusion3design.com/wp-content/uploads/2020/11/Fusion3-Certified-Materials-List-updated-10.28.2020-Simplify3D.pdf

https://www.fusion3design.com/list/

Fusion3Design can be found at https://www.fusion3design.com/

Co-authored-by: 64bittuning <64bittuning@users.noreply.github.com>
This commit is contained in:
jspijker 2022-12-04 13:20:10 +01:00
parent 6da1abcd49
commit 88792d7bda
51 changed files with 2093 additions and 0 deletions

View file

@ -0,0 +1,224 @@
{
"version": 2,
"name": "Fusion3 Base Printer",
"inherits": "fdmprinter",
"metadata":
{
"visible": false,
"author": "Keith Varin",
"manufacturer": "Fusion3Design",
"file_formats": "text/x-gcode",
"exclude_materials": [
"bestfilament_abs_skyblue",
"bestfilament_petg_orange",
"bestfilament_pla_green",
"chromatik_pla",
"dsm_arnitel2045_175",
"dsm_novamid1070_175",
"emotiontech_abs",
"emotiontech_absx",
"emotiontech_acetate",
"emotiontech_asax",
"emotiontech_bvoh",
"emotiontech_copa",
"emotiontech_hips",
"emotiontech_nylon_1030",
"emotiontech_nylon_1030cf",
"emotiontech_nylon_1070",
"emotiontech_pc",
"emotiontech_pekk",
"emotiontech_petg",
"emotiontech_pla",
"emotiontech_pla_hr_870",
"emotiontech_pva-m",
"emotiontech_pva-s",
"emotiontech_tpu98a",
"eryone_petg",
"eryone_pla",
"eryone_pla_glow",
"eryone_pla_matte",
"eryone_pla_wood",
"eSUN_PETG_Black",
"eSUN_PETG_Grey",
"eSUN_PETG_Purple",
"Extrudr_GreenTECPro_Anthracite_175",
"Extrudr_GreenTECPro_Black_175",
"Extrudr_GreenTECPro_Blue_175",
"Extrudr_GreenTECPro_Nature_175",
"Extrudr_GreenTECPro_Red_175",
"Extrudr_GreenTECPro_Silver_175",
"Extrudr_GreenTECPro_White_175",
"fabtotum_abs",
"fabtotum_nylon",
"fabtotum_pla",
"fabtotum_tpu",
"fdplast_abs_tomato",
"fdplast_petg_gray",
"fdplast_pla_olive",
"fiberlogy_hd_pla",
"filo3d_pla",
"filo3d_pla_green",
"filo3d_pla_red",
"generic_bam",
"generic_bvoh_175",
"generic_gffcpe",
"generic_gffpa",
"generic_hips",
"generic_hips_175",
"generic_pp",
"generic_pva",
"generic_pva_175",
"goofoo_abs",
"goofoo_asa",
"goofoo_bronze_pla",
"goofoo_emarble_pla",
"goofoo_esilk_pla",
"goofoo_hips",
"goofoo_pa",
"goofoo_pa_cf",
"goofoo_pc",
"goofoo_peek",
"goofoo_petg",
"goofoo_pla",
"goofoo_pva",
"goofoo_tpe_83a",
"goofoo_tpu_87a",
"goofoo_tpu_95a",
"goofoo_wood_pla",
"imade3d_petg_175",
"imade3d_pla_175",
"innofill_innoflex60_175",
"layer_one_black_pla",
"layer_one_dark_gray_pla",
"layer_one_white_pla",
"leapfrog_abs_natural",
"leapfrog_epla_natural",
"leapfrog_pva_natural",
"octofiber_pla",
"redd_abs",
"redd_asa",
"redd_hips",
"redd_nylon",
"redd_petg",
"redd_pla",
"redd_tpe",
"structur3d_dap100silicone",
"tizyx_abs",
"tizyx_flex",
"tizyx_petg",
"tizyx_pla",
"tizyx_pla_bois",
"tizyx_pva",
"ultimaker_abs_black",
"ultimaker_abs_blue",
"ultimaker_abs_green",
"ultimaker_abs_grey",
"ultimaker_abs_orange",
"ultimaker_abs_pearl-gold",
"ultimaker_abs_red",
"ultimaker_abs_silver-metallic",
"ultimaker_abs_white",
"ultimaker_abs_yellow",
"ultimaker_bam",
"ultimaker_cpe_black",
"ultimaker_cpe_blue",
"ultimaker_cpe_dark-grey",
"ultimaker_cpe_green",
"ultimaker_cpe_light-grey",
"ultimaker_cpe_plus_black",
"ultimaker_cpe_plus_transparent",
"ultimaker_cpe_plus_white",
"ultimaker_cpe_red",
"ultimaker_cpe_transparent",
"ultimaker_cpe_white",
"ultimaker_cpe_yellow",
"ultimaker_nylon_black",
"ultimaker_nylon_transparent",
"ultimaker_pc_black",
"ultimaker_pc_transparent",
"ultimaker_pc_white",
"ultimaker_petg_black",
"ultimaker_petg_blue",
"ultimaker_petg_blue_translucent",
"ultimaker_petg_green",
"ultimaker_petg_green_translucent",
"ultimaker_petg_grey",
"ultimaker_petg_orange",
"ultimaker_petg_red",
"ultimaker_petg_red_translucent",
"ultimaker_petg_silver",
"ultimaker_petg_transparent",
"ultimaker_petg_white",
"ultimaker_petg_yellow",
"ultimaker_petg_yellow_fluorescent",
"ultimaker_pla_black",
"ultimaker_pla_blue",
"ultimaker_pla_green",
"ultimaker_pla_magenta",
"ultimaker_pla_orange",
"ultimaker_pla_pearl-white",
"ultimaker_pla_red",
"ultimaker_pla_silver-metallic",
"ultimaker_pla_transparent",
"ultimaker_pla_white",
"ultimaker_pla_yellow",
"ultimaker_pp_transparent",
"ultimaker_pva",
"ultimaker_tough_pla_black",
"ultimaker_tough_pla_green",
"ultimaker_tough_pla_red",
"ultimaker_tough_pla_white",
"ultimaker_tpu_black",
"ultimaker_tpu_blue",
"ultimaker_tpu_red",
"ultimaker_tpu_white",
"verbatim_bvoh_175",
"Vertex_Delta_ABS",
"Vertex_Delta_PET",
"Vertex_Delta_PLA",
"Vertex_Delta_PLA_Glitter",
"Vertex_Delta_PLA_Mat",
"Vertex_Delta_PLA_Satin",
"Vertex_Delta_PLA_Wood",
"Vertex_Delta_TPU",
"volumic_abs_ultra",
"volumic_arma_ultra",
"volumic_asa_ultra",
"volumic_br80_ultra",
"volumic_bumper_ultra",
"volumic_cu80_ultra",
"volumic_flex93_ultra",
"volumic_medical_ultra",
"volumic_nylon_ultra",
"volumic_pekk_carbone",
"volumic_petgcarbone_ultra",
"volumic_petg_ultra",
"volumic_pla_ultra",
"volumic_pp_ultra",
"volumic_strong_ultra",
"volumic_support_ultra",
"xyzprinting_abs",
"xyzprinting_antibact_pla",
"xyzprinting_carbon_fiber",
"xyzprinting_colorinkjet_pla",
"xyzprinting_flexible",
"xyzprinting_metallic_pla",
"xyzprinting_nylon",
"xyzprinting_petg",
"xyzprinting_pla",
"xyzprinting_tough_pla",
"xyzprinting_tpu",
"zyyx_pro_flex",
"zyyx_pro_pla"
],
"first_start_actions": [ "MachineSettingsAction" ],
"has_machine_quality": true,
"has_materials": true,
"has_variants": true,
"machine_extruder_trains": { "0": "fusion3_extruder_0" },
"preferred_material": "generic_abs",
"preferred_quality_type": "normal",
"preferred_variant_name": "0.4mm Nozzle",
"variants_name": "Nozzle Size"
}
}

View file

@ -0,0 +1,138 @@
{
"version": 2,
"name": "Fusion3 F410",
"inherits": "fusion3",
"metadata":
{
"visible": true,
"quality_definition": "fusion3"
},
"overrides":
{
"acceleration_print": { "value": "machine_acceleration" },
"acceleration_roofing": { "enabled": "acceleration_enabled and roofing_layer_count > 0 and top_layers > 0" },
"acceleration_travel": { "value": "machine_acceleration" },
"acceleration_travel_layer_0": { "value": "acceleration_travel" },
"adaptive_layer_height_variation": { "value": 0.04 },
"adaptive_layer_height_variation_step": { "value": 0.04 },
"adhesion_type": { "value": "'skirt'" },
"bottom_layers": { "value": "math.ceil(round(bottom_thickness / resolveOrValue('layer_height'), 4))" },
"brim_replaces_support": { "value": false },
"cool_fan_full_at_height": { "value": "layer_height_0 * 4" },
"cool_min_speed": { "value": "speed_print * 0.3" },
"gantry_height": { "value": 40 },
"infill_before_walls": { "value": false },
"infill_overlap": { "value": 20.0 },
"infill_pattern": { "value": "'zigzag' if infill_sparse_density > 89 else 'lines' if infill_sparse_density > 31 else 'cubic'" },
"infill_wipe_dist": { "value": 0.0 },
"jerk_print": { "value": 10 },
"jerk_travel": { "value": "jerk_print" },
"jerk_travel_layer_0": { "value": "jerk_travel" },
"machine_acceleration": { "value": 2000 },
"machine_depth": { "default_value": 355 },
"machine_end_gcode": { "default_value": "; Fusion3 F410 end code\nG91 ;relative positioning\nG1 E-5.00 F1000 ;retract 5mm of filament\nG1 Z+1.00 X-20.0 Y+20.0 F10000 ;short quick move to disengage from print\nG90 ;absolute positioning\nG1 X0.0 Y350.0 F9000 ; move head to back left corner\nG91 ; relative positioning\nG1 E-5.00 F500 ;retract additional filament to prevent oozing\nG90 ;absolute positioning\nM104 S0 ;turn off hotend\nM140 S0 ;turn off heatbed\n; Reset filament monitor\nM42 P63 S0\nG4 P100\nG4 P50\nM42 P63 S1\nG1 Z315 F1000 ;move print bed down to idle position\nM106 S0 ; shut off blower\nM84 ;motors off\nM561 ;clear bed probe transformation\n" },
"machine_gcode_flavor": { "default_value": "RepRap (RepRap)" },
"machine_head_with_fans_polygon":
{
"default_value": [
[-30, 30],
[-30, -30],
[30, -30],
[30, 30]
]
},
"machine_heated_bed": { "default_value": true },
"machine_height": { "default_value": 315 },
"machine_max_acceleration_x": { "value": 5000 },
"machine_max_acceleration_y": { "value": 5000 },
"machine_max_acceleration_z": { "value": 500 },
"machine_max_feedrate_e": { "value": 166 },
"machine_max_feedrate_x": { "value": 550 },
"machine_max_feedrate_y": { "value": 550 },
"machine_max_feedrate_z": { "value": 40 },
"machine_max_jerk_e": { "value": 30 },
"machine_max_jerk_z": { "value": 1 },
"machine_name": { "default_value": "Fusion3 F410" },
"machine_start_gcode": { "default_value": "; Fusion3 F410 start code\nM104 S0 ; shutdown heater and prepare to print\nG21 ; set units to mm\nG90 ; use absolute coordinates\nT0 ; select tool 0\nG92 E0.0 ; reset e count\nM220 S100 ; reset speed multiplier\nM140 S{material_bed_temperature_layer_0} ; set bed temp and do not wait\nG32 ; call to run bed.g\nM190 S{material_bed_temperature_layer_0} ; Set bed temperature and wait\nM109 S{material_print_temperature_layer_0} ; set print head temperature and wait\n; === pause for heating ===\n; reset filament monitor\nM42 P63 S0\nG4 P100\nG4 P50\nM42 P63 S1\nG1 X350 Y0\nG1 Z10.0 F2000 ; move up\nG1 E10.0 F500 ; prime extruder\nG92 E0.0 ; reset e count\nG1 X330 Y15 F9000 ; move back\nG1 Z{layer_height_0} F1000 ; move down to begin wipe\nG1 X150 E4.0 F6000 ; wipe print head (extrude material while we do this)\nG92 E0.0 ; reset e count\n" },
"machine_width": { "default_value": 355 },
"material_final_print_temperature": { "value": "material_print_temperature" },
"material_initial_print_temperature": { "value": "material_print_temperature" },
"meshfix_maximum_resolution": { "value": "0.25" },
"meshfix_maximum_travel_resolution": { "value": "meshfix_maximum_resolution" },
"minimum_interface_area": { "value": 10 },
"minimum_support_area": { "value": 2 },
"optimize_wall_printing_order": { "value": "True" },
"retract_at_layer_change": { "value": true },
"retraction_combing": { "value": "'off' if retraction_hop_enabled else 'noskin'" },
"retraction_combing_max_distance": { "value": 30 },
"retraction_count_max": { "value": 100 },
"retraction_extrusion_window": { "value": 5 },
"retraction_hop": { "value": 0.2 },
"retraction_hop_enabled": { "value": true },
"retraction_prime_speed":
{
"maximum_value": "machine_max_feedrate_e",
"maximum_value_warning": "machine_max_feedrate_e *0.75"
},
"retraction_retract_speed":
{
"maximum_value": "machine_max_feedrate_e",
"maximum_value_warning": "machine_max_feedrate_e *0.75"
},
"retraction_speed":
{
"default_value": 100,
"maximum_value": "machine_max_feedrate_e",
"maximum_value_warning": "machine_max_feedrate_e *0.75"
},
"skin_overlap": { "value": 10.0 },
"skirt_gap": { "value": 10.0 },
"skirt_line_count": { "value": 3 },
"speed_infill": { "value": "speed_print *0.7" },
"speed_layer_0": { "value": "speed_print *0.4" },
"speed_prime_tower": { "value": "speed_topbottom" },
"speed_print": { "value": 100 },
"speed_support": { "value": "speed_wall_0" },
"speed_support_interface": { "value": "speed_topbottom" },
"speed_travel": { "value": "speed_print * 1.5" },
"speed_travel_layer_0": { "value": "speed_travel *0.5" },
"speed_wall": { "value": "speed_print *0.6" },
"speed_wall_x": { "value": "speed_print *0.85" },
"speed_z_hop": { "value": 5 },
"support_angle": { "value": "math.floor(math.degrees(math.atan(line_width/2.0/layer_height)))" },
"support_brim_enable": { "value": true },
"support_brim_width": { "value": 4 },
"support_infill_angles":
{
"value": [
45
]
},
"support_infill_rate": { "value": "0 if support_enable and support_structure == 'tree' else 30" },
"support_interface_density": { "value": 33.333 },
"support_interface_height": { "value": "layer_height * 4" },
"support_interface_pattern": { "value": "'grid'" },
"support_interface_skip_height": { "value": 0.2 },
"support_pattern": { "value": "'zigzag'" },
"support_use_towers": { "value": false },
"support_wall_count": { "value": 0 },
"support_xy_distance": { "value": "wall_line_width_0 * 3" },
"support_xy_distance_overhang": { "value": "wall_line_width_0" },
"support_xy_overrides_z": { "value": "'xy_overrides_z'" },
"support_z_distance": { "value": "layer_height if layer_height >= 0.16 else layer_height*2" },
"top_bottom_pattern": { "value": "'zigzag'" },
"top_bottom_pattern_0": { "value": "'zigzag'" },
"top_bottom_thickness":
{
"minimum_value_warning": "0.4",
"value": "(layer_height*3) + layer_height_0"
},
"top_layers": { "value": "math.ceil(round(top_thickness / resolveOrValue('layer_height'), 4))" },
"travel_avoid_other_parts": { "value": false },
"travel_avoid_supports": { "value": true },
"travel_retract_before_outer_wall": { "value": true },
"wall_0_wipe_dist": { "value": 0.0 },
"z_seam_corner": { "value": "'z_seam_corner_inner'" },
"z_seam_type": { "value": "'sharpest_corner'" }
}
}