OrcaSliced Handy Model (#13727)

* Ad Colourful Orca Handy model

* Model

Co-Authored-By: Rodrigo Faselli <162915171+RF47@users.noreply.github.com>
Co-Authored-By: yw4z <yw4z@outlook.com>

* Autoarrange after import

* Multifile import

* Current

* Cleaned

* Update Colourful_Orca.3mf

* Cleaning

* Update Orca cube v2 to DRC and autoarrange

* Rename orca to OrcaSliced

---------

Co-authored-by: Rodrigo Faselli <162915171+RF47@users.noreply.github.com>
Co-authored-by: yw4z <yw4z@outlook.com>
This commit is contained in:
Ian Bassi
2026-05-26 06:19:34 -03:00
committed by GitHub
parent 885a2d6b4c
commit d5b072fddf
6 changed files with 35 additions and 19 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -573,35 +573,51 @@ wxMenu* MenuFactory::append_submenu_add_generic(wxMenu* menu, ModelVolumeType ty
wxMenu* MenuFactory::append_submenu_add_handy_model(wxMenu* menu, ModelVolumeType type) {
auto sub_menu = new wxMenu;
for (auto &item : {L("Orca Cube"), L("Orca Tolerance Test"), L("3DBenchy"), L("Cali Cat"), L("Autodesk FDM Test"),
for (auto &item : {L("Orca Cube"), L("OrcaSliced Combo"), L("Orca Tolerance Test"), L("3DBenchy"), L("Cali Cat"), L("Autodesk FDM Test"),
L("Voron Cube"), L("Stanford Bunny"), L("Orca String Hell") }) {
append_menu_item(
sub_menu, wxID_ANY, _(item), "",
[type, item](wxCommandEvent&) {
std::vector<boost::filesystem::path> input_files;
bool is_stringhell = false;
std::string file_name = item;
if (file_name == L("Orca Cube"))
file_name = "OrcaCube_v2.3mf";
else if (file_name == L("Orca Tolerance Test"))
file_name = "OrcaToleranceTest.drc";
else if (file_name == L("3DBenchy"))
file_name = "3DBenchy.drc";
else if (file_name == L("Cali Cat"))
file_name = "calicat.drc";
else if (file_name == L("Autodesk FDM Test"))
file_name = "ksr_fdmtest_v4.drc";
else if (file_name == L("Voron Cube"))
file_name = "Voron_Design_Cube_v7.drc";
else if (file_name == L("Stanford Bunny"))
file_name = "Stanford_Bunny.drc";
else if (file_name == L("Orca String Hell")) {
file_name = "Orca_stringhell.drc";
std::vector<std::string> file_names;
bool arrange_after_import = false;
if (item == L("Orca Cube")){
file_names = { "OrcaCube_v2.drc", "OrcaPlug_v2.drc"};
arrange_after_import = true;
}
else if (item == L("OrcaSliced Combo"))
{
file_names = { "OrcaSliced.3mf", "OrcaCube_v2.drc", "OrcaPlug_v2.drc" };
arrange_after_import = true;
}
else if (item == L("Orca Tolerance Test"))
file_names = { "OrcaToleranceTest.drc" };
else if (item == L("3DBenchy"))
file_names = { "3DBenchy.drc" };
else if (item == L("Cali Cat"))
file_names = { "calicat.drc" };
else if (item == L("Autodesk FDM Test"))
file_names = { "ksr_fdmtest_v4.drc" };
else if (item == L("Voron Cube"))
file_names = { "Voron_Design_Cube_v7.drc" };
else if (item == L("Stanford Bunny"))
file_names = { "Stanford_Bunny.drc" };
else if (item == L("Orca String Hell")) {
file_names = { "Orca_stringhell.drc" };
is_stringhell = true;
} else
return;
input_files.push_back((boost::filesystem::path(Slic3r::resources_dir()) / "handy_models" / file_name));
input_files.reserve(file_names.size());
for (const auto& file_name : file_names)
input_files.push_back((boost::filesystem::path(Slic3r::resources_dir()) / "handy_models" / file_name));
plater()->load_files(input_files, LoadStrategy::LoadModel);
if (arrange_after_import) {
plater()->set_prepare_state(Job::PREPARE_STATE_MENU);
plater()->arrange();
}
// Suggest to change settings for stringhell
// This serves as mini tutorial for new users