GCodeExport::GCodeExport() : output_stream(&std::cout), currentPosition(0,0,0), startPosition(INT32_MIN,INT32_MIN,0) { extrusion_amount = 0; retraction_extrusion_window = 0.0; extruderSwitchRetraction = 14.5; current_extruder = 0; currentFanSpeed = -1; totalPrintTime = 0.0; for(unsigned int e=0; e<MAX_EXTRUDERS; e++) { totalFilament[e] = 0.0; currentTemperature[e] = 0; filament_area[e] = 0; } currentSpeed = 1; retractionPrimeSpeed = 1; isRetracted = false; isZHopped = false; last_coasted_amount_mm3 = 0; setFlavor(GCODE_FLAVOR_REPRAP); memset(extruderOffset, 0, sizeof(extruderOffset)); }
void GCodeExport::preSetup(const MeshGroup* settings) { setFlavor(settings->getSettingAsGCodeFlavor("machine_gcode_flavor")); use_extruder_offset_to_offset_coords = settings->getSettingBoolean("machine_use_extruder_offset_to_offset_coords"); extruder_count = settings->getSettingAsCount("machine_extruder_count"); for (const Mesh& mesh : settings->meshes) { extruder_attr[mesh.getSettingAsIndex("extruder_nr")].is_used = true; } for (unsigned int extruder_nr = 0; extruder_nr < extruder_count; extruder_nr++) { const ExtruderTrain* train = settings->getExtruderTrain(extruder_nr); if (settings->getSettingAsIndex("adhesion_extruder_nr") == int(extruder_nr) || (settings->getSettingBoolean("support_enable") && settings->getSettingAsIndex("support_infill_extruder_nr") == int(extruder_nr)) || (settings->getSettingBoolean("support_enable") && settings->getSettingAsIndex("support_extruder_nr_layer_0") == int(extruder_nr)) || (settings->getSettingBoolean("support_enable") && settings->getSettingBoolean("support_interface_enable") && settings->getSettingAsIndex("support_interface_extruder_nr") == int(extruder_nr)) ) { extruder_attr[extruder_nr].is_used = true; } setFilamentDiameter(extruder_nr, train->getSettingInMicrons("material_diameter")); extruder_attr[extruder_nr].prime_pos = Point3(train->getSettingInMicrons("extruder_prime_pos_x"), train->getSettingInMicrons("extruder_prime_pos_y"), train->getSettingInMicrons("extruder_prime_pos_z")); extruder_attr[extruder_nr].prime_pos_is_abs = train->getSettingBoolean("extruder_prime_pos_abs"); extruder_attr[extruder_nr].nozzle_size = train->getSettingInMicrons("machine_nozzle_size"); extruder_attr[extruder_nr].nozzle_offset = Point(train->getSettingInMicrons("machine_nozzle_offset_x"), train->getSettingInMicrons("machine_nozzle_offset_y")); extruder_attr[extruder_nr].material_guid = train->getSettingString("material_guid"); extruder_attr[extruder_nr].start_code = train->getSettingString("machine_extruder_start_code"); extruder_attr[extruder_nr].end_code = train->getSettingString("machine_extruder_end_code"); extruder_attr[extruder_nr].last_retraction_prime_speed = train->getSettingInMillimetersPerSecond("retraction_prime_speed"); // the alternative would be switch_extruder_prime_speed, but dual extrusion might not even be configured... } machine_dimensions.x = settings->getSettingInMicrons("machine_width"); machine_dimensions.y = settings->getSettingInMicrons("machine_depth"); machine_dimensions.z = settings->getSettingInMicrons("machine_height"); machine_name = settings->getSettingString("machine_name"); if (flavor == EGCodeFlavor::BFB) { new_line = "\r\n"; } else { new_line = "\n"; } estimateCalculator.setFirmwareDefaults(settings); }
GCodeExport::GCodeExport() : output_stream(&std::cout) , currentPosition(0,0,MM2INT(20)) , commandSocket(nullptr) , layer_nr(0) { current_e_value = 0; current_extruder = 0; currentFanSpeed = -1; totalPrintTime = 0.0; currentSpeed = 1; isZHopped = 0; setFlavor(EGCodeFlavor::REPRAP); }
GCodeExport::GCodeExport() : commandSocket(nullptr), output_stream(&std::cout), layer_nr(0), currentPosition(0,0,0), startPosition(INT32_MIN,INT32_MIN,0) { extrusion_amount = 0; current_extruder = 0; currentFanSpeed = -1; totalPrintTime = 0.0; currentSpeed = 1; retractionPrimeSpeed = 1; isRetracted = false; isZHopped = 0; last_coasted_amount_mm3 = 0; setFlavor(EGCodeFlavor::REPRAP); }
GCodeExport::GCodeExport() : output_stream(&std::cout) , currentPosition(0,0,MM2INT(20)) , layer_nr(0) { *output_stream << std::fixed; current_e_value = 0; current_extruder = 0; currentFanSpeed = -1; totalPrintTime = 0.0; currentSpeed = 1; current_acceleration = -1; current_jerk = -1; isZHopped = 0; setFlavor(EGCodeFlavor::REPRAP); initial_bed_temp = 0; extruder_count = 0; }
GCodeExport::GCodeExport() : currentPosition(0,0,0) { extrusionAmount = 0; extrusionPerMM = 0; retractionAmount = 4.5; minimalExtrusionBeforeRetraction = 0.0; extrusionAmountAtPreviousRetraction = -10000; extruderSwitchRetraction = 14.5; extruderNr = 0; currentFanSpeed = -1; totalPrintTime = 0.0; for(unsigned int e=0; e<MAX_EXTRUDERS; e++) totalFilament[e] = 0.0; currentSpeed = 0; retractionSpeed = 45; isRetracted = true; setFlavor(GCODE_FLAVOR_REPRAP); memset(extruderOffset, 0, sizeof(extruderOffset)); f = stdout; }