mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-06-11 06:23:08 +00:00
* New materials * Temps * Full filament type list * Improve nozzle temperature range validation messages Separates minimum and maximum recommended temperature warnings for nozzle configuration + generig °c usage. Co-Authored-By: Alexandre Folle de Menezes <afmenez@gmail.com> * Material Updates Co-Authored-By: Rodrigo <162915171+RF47@users.noreply.github.com> * petg-cf10 should be petg-cf options. * Pla reduced range * Adjust some temps * FilamentTempType Temperature-based logic * chamber temps * Fromatting * Filament chamber temperature range support Introduces get_filament_chamber_temp_range to retrieve safe chamber temperature limits for filament types. Updates ConfigManipulation to use these limits instead of hardcoded values. * add adhesion coefficient and yield strength Replaces hardcoded material checks for adhesion coefficient and yield strength with lookup functions using extended FilamentType struct. * Thermal length * Fix * Refactor filament type data to MaterialType class Moved filament type properties and related lookup functions from PrintConfig.cpp into a new MaterialType class. * Fix adhesion_coefficient Co-Authored-By: SoftFever <softfeverever@gmail.com> --------- Co-authored-by: Alexandre Folle de Menezes <afmenez@gmail.com> Co-authored-by: Rodrigo <162915171+RF47@users.noreply.github.com> Co-authored-by: SoftFever <softfeverever@gmail.com>
33 lines
955 B
C++
33 lines
955 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
namespace Slic3r {
|
|
|
|
struct MaterialTypeInfo {
|
|
std::string name;
|
|
int min_temp;
|
|
int max_temp;
|
|
int chamber_min_temp;
|
|
int chamber_max_temp;
|
|
double adhesion_coefficient;
|
|
double yield_strength;
|
|
double thermal_length;
|
|
};
|
|
|
|
class MaterialType {
|
|
public:
|
|
static const std::vector<MaterialTypeInfo>& all();
|
|
|
|
static const MaterialTypeInfo* find(const std::string& name);
|
|
|
|
static bool get_temperature_range(const std::string& type, int& min_temp, int& max_temp);
|
|
static bool get_chamber_temperature_range(const std::string& type, int& chamber_min_temp, int& chamber_max_temp);
|
|
static bool get_adhesion_coefficient(const std::string& type, double& adhesion_coefficient);
|
|
static bool get_yield_strength(const std::string& type, double& yield_strength);
|
|
static bool get_thermal_length(const std::string& type, double& thermal_length);
|
|
};
|
|
|
|
} // namespace Slic3r
|