mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-01-30 12:50:50 -07:00
Add support for Orca-specific extrusion roles
This commit is contained in:
parent
9359aa8607
commit
d539540a65
7 changed files with 55 additions and 8 deletions
|
|
@ -140,6 +140,12 @@ enum class EGCodeExtrusionRole : uint8_t
|
|||
SupportMaterialInterface,
|
||||
WipeTower,
|
||||
Custom,
|
||||
// ORCA
|
||||
BottomSurface,
|
||||
InternalBridgeInfill,
|
||||
Brim,
|
||||
SupportTransition,
|
||||
Mixed,
|
||||
COUNT
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -370,7 +370,11 @@ public:
|
|||
EGCodeExtrusionRole::InternalInfill, EGCodeExtrusionRole::SolidInfill, EGCodeExtrusionRole::TopSolidInfill,
|
||||
EGCodeExtrusionRole::Ironing, EGCodeExtrusionRole::BridgeInfill, EGCodeExtrusionRole::GapFill,
|
||||
EGCodeExtrusionRole::Skirt, EGCodeExtrusionRole::SupportMaterial, EGCodeExtrusionRole::SupportMaterialInterface,
|
||||
EGCodeExtrusionRole::WipeTower, EGCodeExtrusionRole::Custom }) const;
|
||||
EGCodeExtrusionRole::WipeTower, EGCodeExtrusionRole::Custom,
|
||||
// ORCA
|
||||
EGCodeExtrusionRole::BottomSurface, EGCodeExtrusionRole::InternalBridgeInfill, EGCodeExtrusionRole::Brim,
|
||||
EGCodeExtrusionRole::SupportTransition, EGCodeExtrusionRole::Mixed
|
||||
}) const;
|
||||
//
|
||||
// Return the size of the used cpu memory, in bytes
|
||||
//
|
||||
|
|
|
|||
|
|
@ -61,7 +61,12 @@ struct Settings
|
|||
true, // SupportMaterial
|
||||
true, // SupportMaterialInterface
|
||||
true, // WipeTower
|
||||
true // Custom
|
||||
true, // Custom
|
||||
// ORCA
|
||||
true, // BottomSurface
|
||||
true, // InternalBridgeInfill
|
||||
true, // Brim
|
||||
true, // SupportTransition
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -295,7 +295,12 @@ static const std::array<Color, size_t(EGCodeExtrusionRole::COUNT)> DEFAULT_EXTRU
|
|||
{ 0, 255, 0 }, // SupportMaterial
|
||||
{ 0, 128, 0 }, // SupportMaterialInterface
|
||||
{ 179, 227, 171 }, // WipeTower
|
||||
{ 94, 209, 148 } // Custom
|
||||
{ 94, 209, 148 }, // Custom
|
||||
// ORCA
|
||||
{ 102, 92, 199 }, // BottomSurface
|
||||
{ 77, 128, 186 }, // InternalBridgeInfill
|
||||
{ 0, 59, 110 }, // Brim
|
||||
{ 0, 64, 0 }, // SupportTransition
|
||||
} };
|
||||
|
||||
static const std::array<Color, size_t(EOptionType::COUNT)> DEFAULT_OPTIONS_COLORS{ {
|
||||
|
|
@ -1019,7 +1024,9 @@ void ViewerImpl::load(GCodeInputData&& gcode_data)
|
|||
v.role != EGCodeExtrusionRole::SupportMaterial &&
|
||||
v.role != EGCodeExtrusionRole::SupportMaterialInterface &&
|
||||
v.role != EGCodeExtrusionRole::WipeTower &&
|
||||
v.role != EGCodeExtrusionRole::Custom) {
|
||||
v.role != EGCodeExtrusionRole::Custom &&
|
||||
v.role != EGCodeExtrusionRole::Brim &&
|
||||
v.role != EGCodeExtrusionRole::SupportTransition) {
|
||||
m_cog_marker.update(0.5f * (v.position + m_vertices[i - 1].position), v.weight);
|
||||
}
|
||||
#endif // VGCODE_ENABLE_COG_AND_TOOL_MARKERS
|
||||
|
|
|
|||
|
|
@ -110,7 +110,11 @@ public:
|
|||
EGCodeExtrusionRole::InternalInfill, EGCodeExtrusionRole::SolidInfill, EGCodeExtrusionRole::TopSolidInfill,
|
||||
EGCodeExtrusionRole::Ironing, EGCodeExtrusionRole::BridgeInfill, EGCodeExtrusionRole::GapFill,
|
||||
EGCodeExtrusionRole::Skirt, EGCodeExtrusionRole::SupportMaterial, EGCodeExtrusionRole::SupportMaterialInterface,
|
||||
EGCodeExtrusionRole::WipeTower, EGCodeExtrusionRole::Custom }) const;
|
||||
EGCodeExtrusionRole::WipeTower, EGCodeExtrusionRole::Custom,
|
||||
// ORCA
|
||||
EGCodeExtrusionRole::BottomSurface, EGCodeExtrusionRole::InternalBridgeInfill, EGCodeExtrusionRole::Brim,
|
||||
EGCodeExtrusionRole::SupportTransition, EGCodeExtrusionRole::Mixed
|
||||
}) const;
|
||||
|
||||
bool is_option_visible(EOptionType type) const;
|
||||
void toggle_option_visibility(EOptionType type);
|
||||
|
|
|
|||
|
|
@ -434,11 +434,17 @@ static std::string to_string(libvgcode::EGCodeExtrusionRole role)
|
|||
case libvgcode::EGCodeExtrusionRole::Ironing: { return _u8L("Ironing"); }
|
||||
case libvgcode::EGCodeExtrusionRole::BridgeInfill: { return _u8L("Bridge infill"); }
|
||||
case libvgcode::EGCodeExtrusionRole::GapFill: { return _u8L("Gap fill"); }
|
||||
case libvgcode::EGCodeExtrusionRole::Skirt: { return _u8L("Skirt/Brim"); }
|
||||
case libvgcode::EGCodeExtrusionRole::Skirt: { return _u8L("Skirt"); } // ORCA
|
||||
case libvgcode::EGCodeExtrusionRole::SupportMaterial: { return _u8L("Support material"); }
|
||||
case libvgcode::EGCodeExtrusionRole::SupportMaterialInterface: { return _u8L("Support material interface"); }
|
||||
case libvgcode::EGCodeExtrusionRole::WipeTower: { return _u8L("Wipe tower"); }
|
||||
case libvgcode::EGCodeExtrusionRole::Custom: { return _u8L("Custom"); }
|
||||
// ORCA
|
||||
case libvgcode::EGCodeExtrusionRole::BottomSurface: { return _u8L("Bottom surface"); }
|
||||
case libvgcode::EGCodeExtrusionRole::InternalBridgeInfill: { return _u8L("Internal bridge infill"); }
|
||||
case libvgcode::EGCodeExtrusionRole::Brim: { return _u8L("Brim"); }
|
||||
case libvgcode::EGCodeExtrusionRole::SupportTransition: { return _u8L("Support transition"); }
|
||||
case libvgcode::EGCodeExtrusionRole::Mixed: { return _u8L("Mixed"); }
|
||||
default: { return _u8L("Unknown"); }
|
||||
}
|
||||
}
|
||||
|
|
@ -1182,8 +1188,11 @@ void GCodeViewer::load_as_gcode(const GCodeProcessorResult& gcode_result, const
|
|||
libvgcode::EGCodeExtrusionRole::InternalInfill, libvgcode::EGCodeExtrusionRole::SolidInfill, libvgcode::EGCodeExtrusionRole::TopSolidInfill,
|
||||
libvgcode::EGCodeExtrusionRole::Ironing, libvgcode::EGCodeExtrusionRole::BridgeInfill, libvgcode::EGCodeExtrusionRole::GapFill,
|
||||
libvgcode::EGCodeExtrusionRole::Skirt, libvgcode::EGCodeExtrusionRole::SupportMaterial, libvgcode::EGCodeExtrusionRole::SupportMaterialInterface,
|
||||
libvgcode::EGCodeExtrusionRole::WipeTower
|
||||
});
|
||||
libvgcode::EGCodeExtrusionRole::WipeTower,
|
||||
// ORCA
|
||||
libvgcode::EGCodeExtrusionRole::BottomSurface, libvgcode::EGCodeExtrusionRole::InternalBridgeInfill, libvgcode::EGCodeExtrusionRole::Brim,
|
||||
libvgcode::EGCodeExtrusionRole::SupportTransition, libvgcode::EGCodeExtrusionRole::Mixed
|
||||
});
|
||||
m_paths_bounding_box = BoundingBoxf3(libvgcode::convert(bbox[0]).cast<double>(), libvgcode::convert(bbox[1]).cast<double>());
|
||||
|
||||
if (wxGetApp().is_editor())
|
||||
|
|
|
|||
|
|
@ -82,6 +82,12 @@ Slic3r::ExtrusionRole convert(EGCodeExtrusionRole role)
|
|||
case EGCodeExtrusionRole::SupportMaterialInterface: { return Slic3r::ExtrusionRole::erSupportMaterialInterface; }
|
||||
case EGCodeExtrusionRole::WipeTower: { return Slic3r::ExtrusionRole::erWipeTower; }
|
||||
case EGCodeExtrusionRole::Custom: { return Slic3r::ExtrusionRole::erCustom; }
|
||||
// ORCA
|
||||
case EGCodeExtrusionRole::BottomSurface: { return Slic3r::ExtrusionRole::erBottomSurface; }
|
||||
case EGCodeExtrusionRole::InternalBridgeInfill: { return Slic3r::ExtrusionRole::erInternalBridgeInfill; }
|
||||
case EGCodeExtrusionRole::Brim: { return Slic3r::ExtrusionRole::erBrim; }
|
||||
case EGCodeExtrusionRole::SupportTransition: { return Slic3r::ExtrusionRole::erSupportTransition; }
|
||||
case EGCodeExtrusionRole::Mixed: { return Slic3r::ExtrusionRole::erMixed; }
|
||||
default: { return Slic3r::ExtrusionRole::erNone; }
|
||||
}
|
||||
}
|
||||
|
|
@ -105,6 +111,12 @@ EGCodeExtrusionRole convert(Slic3r::ExtrusionRole role)
|
|||
case Slic3r::ExtrusionRole::erSupportMaterialInterface: { return EGCodeExtrusionRole::SupportMaterialInterface; }
|
||||
case Slic3r::ExtrusionRole::erWipeTower: { return EGCodeExtrusionRole::WipeTower; }
|
||||
case Slic3r::ExtrusionRole::erCustom: { return EGCodeExtrusionRole::Custom; }
|
||||
// ORCA
|
||||
case Slic3r::ExtrusionRole::erBottomSurface: { return EGCodeExtrusionRole::BottomSurface; }
|
||||
case Slic3r::ExtrusionRole::erInternalBridgeInfill: { return EGCodeExtrusionRole::InternalBridgeInfill; }
|
||||
case Slic3r::ExtrusionRole::erBrim: { return EGCodeExtrusionRole::Brim; }
|
||||
case Slic3r::ExtrusionRole::erSupportTransition: { return EGCodeExtrusionRole::SupportTransition; }
|
||||
case Slic3r::ExtrusionRole::erMixed: { return EGCodeExtrusionRole::Mixed; }
|
||||
default: { return EGCodeExtrusionRole::None; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue