mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-29 13:52:07 +00:00
Material Type standarization + Technical Filament Types (#10553)
* 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>
This commit is contained in:
32
src/libslic3r/MaterialType.hpp
Normal file
32
src/libslic3r/MaterialType.hpp
Normal file
@@ -0,0 +1,32 @@
|
||||
#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
|
||||
Reference in New Issue
Block a user