Files
OrcaSlicer/src/libslic3r/MaterialType.hpp
Ian Bassi a48235691e 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>
2025-10-19 21:57:34 +08:00

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