Merge branch 'main' into main

This commit is contained in:
VOLUMIC 2024-11-27 16:35:50 +01:00 committed by GitHub
commit 3e9e6913e3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 30 additions and 13 deletions

View file

@ -4625,7 +4625,7 @@ msgstr "Вигляд зверху"
#. TRN To be shown in the main menu View->Bottom
msgid "Bottom"
msgstr "Ніз"
msgstr "Низ"
msgid "Bottom View"
msgstr "Вигляд знизу"

View file

@ -110,6 +110,7 @@ filament_vendors = [
'Justmaker',
'Keene Village Plastics',
'Kexcelled',
'LDO',
'MakerBot',
'MatterHackers',
'MIKA3D',

View file

@ -6813,7 +6813,12 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
return false;
}
std::string type = (volume->type() == ModelVolumeType::MODEL_PART)?"model":"other";
// Orca#7574: always use "model" type to follow the 3MF Core Specification:
// https://github.com/3MFConsortium/spec_core/blob/20c079eef39e45ed223b8443dc9f34cbe32dc2c2/3MF%20Core%20Specification.md#3431-item-element
// > Note: items MUST NOT reference objects of type "other", either directly or recursively.
// This won't break anything because when loading the file Orca (and Bambu) simply does not care about the actual object type at all (as long as it's one of "model" & "other");
// But PrusaSlicer requires the type to be "model".
std::string type = "model";
output_buffer += " <";
output_buffer += OBJECT_TAG;

View file

@ -266,8 +266,18 @@ public:
protected:
double speed_first_layer() const { return m_config.option<ConfigOptionFloat>("initial_layer_speed")->value; };
double speed_perimeter() const { return m_config.option<ConfigOptionFloat>("outer_wall_speed")->value; };
double line_width_first_layer() const { return m_config.get_abs_value("initial_layer_line_width"); };
double line_width() const { return m_config.get_abs_value("line_width"); };
double line_width_first_layer() const
{
// TODO: FIXME: find out current filament/extruder?
const double nozzle_diameter = m_config.opt_float("nozzle_diameter", 0);
return m_config.get_abs_value("initial_layer_line_width", nozzle_diameter);
};
double line_width() const
{
// TODO: FIXME: find out current filament/extruder?
const double nozzle_diameter = m_config.opt_float("nozzle_diameter", 0);
return m_config.get_abs_value("line_width", nozzle_diameter);
};
int wall_count() const { return m_config.option<ConfigOptionInt>("wall_loops")->value; };
private:

View file

@ -50,14 +50,14 @@ static const std::vector<std::string> filament_vendors =
"Fil X", "GEEETECH", "Giantarm", "Gizmo Dorks", "GreenGate3D",
"HATCHBOX", "Hello3D", "IC3D", "IEMAI", "IIID Max",
"INLAND", "iProspect", "iSANMATE", "Justmaker", "Keene Village Plastics",
"Kexcelled", "MakerBot", "MatterHackers", "MIKA3D", "NinjaTek",
"Nobufil", "Novamaker", "OVERTURE", "OVVNYXE", "Polymaker",
"Priline", "Printed Solid", "Protopasta", "Prusament", "Push Plastic",
"R3D", "Re-pet3D", "Recreus", "Regen", "RatRig",
"Sain SMART", "SliceWorx", "Snapmaker", "SnoLabs", "Spectrum",
"SUNLU", "TTYT3D", "Tianse", "UltiMaker", "Valment",
"Verbatim", "VO3D", "Voxelab", "VOXELPLA", "YOOPAI",
"Yousu", "Ziro", "Zyltech"};
"Kexcelled", "LDO", "MakerBot", "MatterHackers", "MIKA3D",
"NinjaTek", "Nobufil", "Novamaker", "OVERTURE", "OVVNYXE",
"Polymaker", "Priline", "Printed Solid", "Protopasta", "Prusament",
"Push Plastic", "R3D", "Re-pet3D", "Recreus", "Regen",
"RatRig", "Sain SMART", "SliceWorx", "Snapmaker", "SnoLabs",
"Spectrum", "SUNLU", "TTYT3D", "Tianse", "UltiMaker",
"Valment", "Verbatim", "VO3D", "Voxelab", "VOXELPLA",
"YOOPAI", "Yousu", "Ziro", "Zyltech"};
static const std::vector<std::string> filament_types = {"PLA", "rPLA", "PLA+", "PLA Tough", "PETG", "ABS", "ASA", "FLEX", "HIPS", "PA", "PACF",
"NYLON", "PVA", "PVB", "PC", "PCABS", "PCTG", "PCCF", "PHA", "PP", "PEI", "PET",

View file

@ -652,7 +652,8 @@ void Slic3r::GUI::ImageGrid::renderContent1(wxDC &dc, wxPoint const &pt, int ind
if (hit) {
texts.Add(_L("Delete"));
texts.Add(secondAction);
texts.Add(thirdAction);
if (!thirdAction.IsEmpty())
texts.Add(thirdAction);
renderButtons(dc, texts, rect, m_hit_type == HIT_ACTION ? m_hit_item & 3 : -1, states);
} else if (!nonHoverText.IsEmpty()) {
texts.Add(nonHoverText);