diff --git a/resources/profiles/BBL.json b/resources/profiles/BBL.json index 0a767176a..775288cbd 100644 --- a/resources/profiles/BBL.json +++ b/resources/profiles/BBL.json @@ -625,6 +625,10 @@ "name": "fdm_filament_pc", "sub_path": "filament/fdm_filament_pc.json" }, + { + "name": "fdm_filament_pctg", + "sub_path": "filament/fdm_filament_pctg.json" + }, { "name": "fdm_filament_asa", "sub_path": "filament/fdm_filament_asa.json" diff --git a/resources/profiles/BBL/filament/Generic PCTG @base.json b/resources/profiles/BBL/filament/Generic PCTG @base.json index ca51974e2..397fcf169 100644 --- a/resources/profiles/BBL/filament/Generic PCTG @base.json +++ b/resources/profiles/BBL/filament/Generic PCTG @base.json @@ -1,7 +1,7 @@ { "type": "filament", "name": "Generic PCTG @base", - "inherits": "fdm_filament_pet", + "inherits": "fdm_filament_pctg", "from": "system", "filament_id": "GFG97", "instantiation": "false", diff --git a/resources/profiles/BBL/filament/fdm_filament_pctg.json b/resources/profiles/BBL/filament/fdm_filament_pctg.json new file mode 100644 index 000000000..1b3837629 --- /dev/null +++ b/resources/profiles/BBL/filament/fdm_filament_pctg.json @@ -0,0 +1,64 @@ +{ + "type": "filament", + "name": "fdm_filament_pctg", + "inherits": "fdm_filament_common", + "from": "system", + "instantiation": "false", + "eng_plate_temp": [ + "0" + ], + "eng_plate_temp_initial_layer": [ + "0" + ], + "fan_cooling_layer_time": [ + "20" + ], + "fan_min_speed": [ + "20" + ], + "filament_cost": [ + "30" + ], + "filament_density": [ + "1.27" + ], + "filament_max_volumetric_speed": [ + "25" + ], + "filament_type": [ + "PCTG" + ], + "hot_plate_temp": [ + "80" + ], + "hot_plate_temp_initial_layer": [ + "80" + ], + "nozzle_temperature": [ + "255" + ], + "nozzle_temperature_initial_layer": [ + "255" + ], + "nozzle_temperature_range_high": [ + "260" + ], + "nozzle_temperature_range_low": [ + "220" + ], + "reduce_fan_stop_start_freq": [ + "1" + ], + "temperature_vitrification": [ + "70" + ], + "textured_plate_temp": [ + "80" + ], + "textured_plate_temp_initial_layer": [ + "80" + ], + "filament_start_gcode": [ + "; filament start gcode\n{if (bed_temperature[current_extruder] >45)||(bed_temperature_initial_layer[current_extruder] >45)}M106 P3 S180\n{elsif (bed_temperature[current_extruder] >50)||(bed_temperature_initial_layer[current_extruder] >50)}M106 P3 S255\n{endif};Prevent PLA from jamming\n\n{if activate_air_filtration[current_extruder] && support_air_filtration}\nM106 P3 S{during_print_exhaust_fan_speed_num[current_extruder]} \n{endif}" + ] +} \ No newline at end of file diff --git a/src/libslic3r/Brim.cpp b/src/libslic3r/Brim.cpp index b3301dbb6..47f0e42fe 100644 --- a/src/libslic3r/Brim.cpp +++ b/src/libslic3r/Brim.cpp @@ -590,7 +590,8 @@ double getadhesionCoeff(const PrintObject* printObject) for (auto iter = extrudersFirstLayer.begin(); iter != extrudersFirstLayer.end(); iter++) if (modelVolume->extruder_id() == *iter) { if (Model::extruderParamsMap.find(modelVolume->extruder_id()) != Model::extruderParamsMap.end()) - if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "PETG") { + if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "PETG" || + Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "PCTG") { adhesionCoeff = 2; } else if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "TPU") { diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index be893e040..c95488705 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -3708,7 +3708,8 @@ double getadhesionCoeff(const ModelVolumePtrs objectVolumes) double adhesionCoeff = 1; for (const ModelVolume* modelVolume : objectVolumes) { if (Model::extruderParamsMap.find(modelVolume->extruder_id()) != Model::extruderParamsMap.end()) - if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "PETG") { + if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "PETG" || + Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "PCTG") { adhesionCoeff = 2; } else if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "TPU") { diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index f9688d1db..79dd6b50a 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -2203,7 +2203,7 @@ FilamentTempType Print::get_filament_temp_type(const std::string& filament_type) BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ": parse " << file_path.string() << " got a nlohmann::detail::parse_error, reason = " << err.what(); filament_temp_type_map[HighTempFilamentStr] = {"ABS","ASA","PC","PA","PA-CF","PA-GF","PA6-CF","PET-CF","PPS","PPS-CF","PPA-GF","PPA-CF","ABS-Aero","ABS-GF"}; filament_temp_type_map[LowTempFilamentStr] = {"PLA","TPU","PLA-CF","PLA-AERO","PVA","BVOH"}; - filament_temp_type_map[HighLowCompatibleFilamentStr] = { "HIPS","PETG","PE","PP","EVA","PE-CF","PP-CF","PP-GF","PHA"}; + filament_temp_type_map[HighLowCompatibleFilamentStr] = { "HIPS","PETG","PCTG","PE","PP","EVA","PE-CF","PP-CF","PP-GF","PHA"}; } } diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 425fda941..e9620fbf8 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1489,6 +1489,7 @@ void PrintConfigDef::init_fff_params() def->enum_values.push_back("ABS"); def->enum_values.push_back("ASA"); def->enum_values.push_back("PETG"); + def->enum_values.push_back("PCTG"); def->enum_values.push_back("TPU"); def->enum_values.push_back("PC"); def->enum_values.push_back("PA"); diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index aea774823..83542ce9a 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -149,6 +149,7 @@ void ConfigManipulation::check_chamber_temperature(DynamicPrintConfig* config) {"PVA",45}, {"TPU",50}, {"PETG",55}, + {"PCTG",55}, {"PETG-CF",55} }; bool support_chamber_temp_control=GUI::wxGetApp().preset_bundle->printers.get_selected_preset().config.opt_bool("support_chamber_temp_control"); diff --git a/src/slic3r/GUI/calib_dlg.cpp b/src/slic3r/GUI/calib_dlg.cpp index f311f3487..48e76676f 100644 --- a/src/slic3r/GUI/calib_dlg.cpp +++ b/src/slic3r/GUI/calib_dlg.cpp @@ -260,7 +260,7 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat SetSizer(v_sizer); wxBoxSizer* choice_sizer = new wxBoxSizer(wxHORIZONTAL); - wxString m_rbFilamentTypeChoices[] = { "PLA", "ABS/ASA", "PETG", "TPU", "PA-CF", "PET-CF", _L("Custom") }; + wxString m_rbFilamentTypeChoices[] = {"PLA", "ABS/ASA", "PETG", "PCTG", "TPU", "PA-CF", "PET-CF", _L("Custom")}; int m_rbFilamentTypeNChoices = sizeof(m_rbFilamentTypeChoices) / sizeof(wxString); m_rbFilamentType = new wxRadioBox(this, wxID_ANY, _L("Filament type"), wxDefaultPosition, wxDefaultSize, m_rbFilamentTypeNChoices, m_rbFilamentTypeChoices, 2, wxRA_SPECIFY_COLS); m_rbFilamentType->SetSelection(0);