mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-07 15:07:31 -06:00
Add more built-in models: Disc/Torus/Bunny
This commit is contained in:
parent
604851fc9c
commit
69602d24fc
7 changed files with 51 additions and 27 deletions
|
@ -496,8 +496,27 @@ wxMenu* MenuFactory::append_submenu_add_generic(wxMenu* menu, ModelVolumeType ty
|
|||
sub_menu->AppendSeparator();
|
||||
}
|
||||
|
||||
for (auto &item : {L("Cube"), L("Cylinder"), L("Sphere"), L("Cone"), L("Disc"), L("Torus")}) {
|
||||
append_menu_item(
|
||||
sub_menu, wxID_ANY, _(item), "",
|
||||
[type, item](wxCommandEvent &) {
|
||||
obj_list()->load_generic_subobject(item, type);
|
||||
},
|
||||
"", menu);
|
||||
}
|
||||
|
||||
append_menu_item_add_text(sub_menu, type);
|
||||
append_menu_item_add_svg(sub_menu, type);
|
||||
|
||||
return sub_menu;
|
||||
}
|
||||
|
||||
// Orca: add submenu for adding handy models
|
||||
wxMenu* MenuFactory::append_submenu_add_handy_model(wxMenu* menu, ModelVolumeType type) {
|
||||
auto sub_menu = new wxMenu;
|
||||
|
||||
for (auto &item : {L("Orca Cube"), L("3DBenchy"), L("Autodesk FDM Test"),
|
||||
L("Voron Cube")}) {
|
||||
L("Voron Cube"), L("Bunny")}) {
|
||||
append_menu_item(
|
||||
sub_menu, wxID_ANY, _(item), "",
|
||||
[type, item](wxCommandEvent &) {
|
||||
|
@ -511,6 +530,8 @@ wxMenu* MenuFactory::append_submenu_add_generic(wxMenu* menu, ModelVolumeType ty
|
|||
file_name = "ksr_fdmtest_v4.stl";
|
||||
else if (file_name == L("Voron Cube"))
|
||||
file_name = "Voron_Design_Cube_v7.stl";
|
||||
else if (file_name == L("Bunny"))
|
||||
file_name = "bunny.stl";
|
||||
else
|
||||
return;
|
||||
input_files.push_back(
|
||||
|
@ -521,22 +542,9 @@ wxMenu* MenuFactory::append_submenu_add_generic(wxMenu* menu, ModelVolumeType ty
|
|||
"", menu);
|
||||
}
|
||||
|
||||
append_menu_item_add_text(sub_menu, type);
|
||||
append_menu_item_add_svg(sub_menu, type);
|
||||
|
||||
sub_menu->AppendSeparator();
|
||||
for (auto &item : {L("Cube"), L("Cylinder"), L("Sphere"), L("Cone")}) {
|
||||
append_menu_item(
|
||||
sub_menu, wxID_ANY, _(item), "",
|
||||
[type, item](wxCommandEvent &) {
|
||||
obj_list()->load_generic_subobject(item, type);
|
||||
},
|
||||
"", menu);
|
||||
}
|
||||
|
||||
return sub_menu;
|
||||
}
|
||||
|
||||
static void append_menu_itemm_add_(const wxString& name, GLGizmosManager::EType gizmo_type, wxMenu *menu, ModelVolumeType type, bool is_submenu_item) {
|
||||
auto add_ = [type, gizmo_type](const wxCommandEvent & /*unnamed*/) {
|
||||
const GLCanvas3D *canvas = plater()->canvas3D();
|
||||
|
@ -1163,12 +1171,17 @@ MenuFactory::MenuFactory()
|
|||
|
||||
void MenuFactory::create_default_menu()
|
||||
{
|
||||
wxMenu* sub_menu = append_submenu_add_generic(&m_default_menu, ModelVolumeType::INVALID);
|
||||
wxMenu* sub_menu_primitives = append_submenu_add_generic(&m_default_menu, ModelVolumeType::INVALID);
|
||||
wxMenu* sub_menu_handy = append_submenu_add_handy_model(&m_default_menu, ModelVolumeType::INVALID);
|
||||
#ifdef __WINDOWS__
|
||||
append_submenu(&m_default_menu, sub_menu, wxID_ANY, _L("Add Primitive"), "", "menu_add_part",
|
||||
append_submenu(&m_default_menu, sub_menu_primitives, wxID_ANY, _L("Add Primitive"), "", "menu_add_part",
|
||||
[]() {return true; }, m_parent);
|
||||
append_submenu(&m_default_menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "menu_add_part",
|
||||
[]() {return true; }, m_parent);
|
||||
#else
|
||||
append_submenu(&m_default_menu, sub_menu, wxID_ANY, _L("Add Primitive"), "", "",
|
||||
append_submenu(&m_default_menu, sub_menu_primitives, wxID_ANY, _L("Add Primitive"), "", "",
|
||||
[]() {return true; }, m_parent);
|
||||
append_submenu(&m_default_menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "",
|
||||
[]() {return true; }, m_parent);
|
||||
#endif
|
||||
|
||||
|
@ -1452,13 +1465,18 @@ void MenuFactory::create_plate_menu()
|
|||
|
||||
// add shapes
|
||||
menu->AppendSeparator();
|
||||
wxMenu* sub_menu = append_submenu_add_generic(menu, ModelVolumeType::INVALID);
|
||||
wxMenu* sub_menu_primitives = append_submenu_add_generic(menu, ModelVolumeType::INVALID);
|
||||
wxMenu* sub_menu_handy = append_submenu_add_handy_model(menu, ModelVolumeType::INVALID);
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
append_submenu(menu, sub_menu, wxID_ANY, _L("Add Primitive"), "", "menu_add_part",
|
||||
append_submenu(menu, sub_menu_primitives, wxID_ANY, _L("Add Primitive"), "", "menu_add_part",
|
||||
[]() {return true; }, m_parent);
|
||||
append_submenu(menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "menu_add_part",
|
||||
[]() {return true; }, m_parent);
|
||||
#else
|
||||
append_submenu(menu, sub_menu, wxID_ANY, _L("Add Primitive"), "", "",
|
||||
append_submenu(menu, sub_menu_primitives, wxID_ANY, _L("Add Primitive"), "", "",
|
||||
[]() {return true; }, m_parent);
|
||||
append_submenu(menu, sub_menu_handy, wxID_ANY, _L("Add Handy models"), "", "",
|
||||
[]() {return true; }, m_parent);
|
||||
#endif
|
||||
|
||||
|
@ -1940,7 +1958,7 @@ void MenuFactory::update_object_menu()
|
|||
|
||||
void MenuFactory::update_default_menu()
|
||||
{
|
||||
for (auto& name : { _L("Add Primitive") , _L("Show Labels") }) {
|
||||
for (auto& name : { _L("Add Primitive") , _L("Add Handy models"), _L("Show Labels") }) {
|
||||
const auto menu_item_id = m_default_menu.FindItem(name);
|
||||
if (menu_item_id != wxNOT_FOUND)
|
||||
m_default_menu.Destroy(menu_item_id);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue