mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-14 18:27:58 -06:00
move model
This commit is contained in:
parent
72f23ed5a8
commit
a5891fa097
1 changed files with 20 additions and 71 deletions
|
@ -7874,38 +7874,6 @@ void Plater::calib_pa(bool bowden) {
|
|||
p->background_process.fff_print()->is_calib_mode() = bowden ? Calib_PA_Bowden : Calib_PA_DDE;
|
||||
|
||||
}
|
||||
//
|
||||
//void Plater::calib_flowrate(int pass) {
|
||||
// if (pass != 1 && pass != 2)
|
||||
// return;
|
||||
// const auto calib_name = "Flowrate Test";
|
||||
// new_project(false, false, calib_name);
|
||||
// if (pass == 1) {
|
||||
// std::vector<size_t> res = load_files(std::vector<std::string>{
|
||||
// Slic3r::resources_dir() + "/calib/flowrate_0.stl",
|
||||
// Slic3r::resources_dir() + "/calib/flowrate_5.stl",
|
||||
// Slic3r::resources_dir() + "/calib/flowrate_15.stl",
|
||||
// Slic3r::resources_dir() + "/calib/flowrate_20.stl",
|
||||
// Slic3r::resources_dir() + "/calib/flowrate_m5.stl",
|
||||
// Slic3r::resources_dir() + "/calib/flowrate_m10.stl",
|
||||
// Slic3r::resources_dir() + "/calib/flowrate_m15.stl",
|
||||
// Slic3r::resources_dir() + "/calib/flowrate_m20.stl"
|
||||
// }, LoadStrategy::LoadModel | LoadStrategy::Silence);
|
||||
// //add_model(false, Slic3r::resources_dir() + "/calib/flowrate_0.stl" );
|
||||
// //add_model(false, Slic3r::resources_dir() + "/calib/flowrate_5.stl" );
|
||||
// //add_model(false, Slic3r::resources_dir() + "/calib/flowrate_15.stl" );
|
||||
// //add_model(false, Slic3r::resources_dir() + "/calib/flowrate_20.stl" );
|
||||
// //add_model(false, Slic3r::resources_dir() + "/calib/flowrate_m5.stl" );
|
||||
// //add_model(false, Slic3r::resources_dir() + "/calib/flowrate_m10.stl");
|
||||
// //add_model(false, Slic3r::resources_dir() + "/calib/flowrate_m15.stl");
|
||||
// //add_model(false, Slic3r::resources_dir() + "/calib/flowrate_m20.stl");
|
||||
//
|
||||
// }
|
||||
// wxGetApp().mainframe->select_tab(size_t(MainFrame::tp3DEditor));
|
||||
// CallAfter([this] {this->arrange(); });
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
||||
ModelObject* Plater::add_part(ModelObject* model_object, std::string input_file, Vec3d move, Vec3d scale) {
|
||||
Model model;
|
||||
|
@ -7937,7 +7905,7 @@ ModelObject* Plater::add_part(ModelObject* model_object, std::string input_file,
|
|||
//volumes_info.push_back(std::make_pair(from_u8(new_volume->name), new_volume->get_mesh_errors_count() > 0));
|
||||
|
||||
// set a default extruder value, since user can't add it manually
|
||||
// new_volume->config.set_key_value("extruder", new ConfigOptionInt(0));
|
||||
new_volume->config.set_key_value("extruder", new ConfigOptionInt(0));
|
||||
// new_volume->config.set_key_value("first_layer_extruder", new ConfigOptionInt(0));
|
||||
|
||||
//move to bed
|
||||
|
@ -7960,7 +7928,7 @@ void Plater::calib_flowrate(int pass) {
|
|||
const auto calib_name = "Flowrate Test";
|
||||
new_project(false, false, calib_name);
|
||||
|
||||
wxGetApp().mainframe->select_tab(size_t(MainFrame::tp3DEditor));
|
||||
//wxGetApp().mainframe->select_tab(size_t(MainFrame::tp3DEditor));
|
||||
float start = 80.0f;
|
||||
float delta = 10.f;
|
||||
if (pass == 1) {
|
||||
|
@ -7977,7 +7945,7 @@ void Plater::calib_flowrate(int pass) {
|
|||
(boost::filesystem::path(Slic3r::resources_dir()) / "calib" / "filament_flow" / "filament_flow_test_cube.amf").string(),
|
||||
(boost::filesystem::path(Slic3r::resources_dir()) / "calib" / "filament_flow" / "filament_flow_test_cube.amf").string(),
|
||||
(boost::filesystem::path(Slic3r::resources_dir()) / "calib" / "filament_flow" / "filament_flow_test_cube.amf").string(),
|
||||
(boost::filesystem::path(Slic3r::resources_dir()) / "calib" / "filament_flow" / "filament_flow_test_cube.amf").string()}, LoadStrategy::LoadModel | LoadStrategy::Silence);
|
||||
(boost::filesystem::path(Slic3r::resources_dir()) / "calib" / "filament_flow" / "filament_flow_test_cube.amf").string()}, LoadStrategy::LoadModel);
|
||||
|
||||
|
||||
assert(objs_idx.size() == 5);
|
||||
|
@ -8034,20 +8002,20 @@ void Plater::calib_flowrate(int pass) {
|
|||
|
||||
/// --- translate ---;
|
||||
bool has_to_arrange = false;
|
||||
////const ConfigOptionFloat* extruder_clearance_radius = print_config->option<ConfigOptionFloat>("extruder_clearance_radius");
|
||||
//float extruder_clearance_radius = 0.0f;
|
||||
////const ConfigOptionPoints* bed_shape = printerConfig->option<ConfigOptionPoints>("printable_area");
|
||||
//auto bed_area = printerConfig->option<ConfigOptionPoints>("printable_area")->values;
|
||||
//const double brim_width = nozzle_diameter * 3.5;
|
||||
//Vec2d bed_size = BoundingBoxf(bed_area).size();
|
||||
//Vec2d bed_min = BoundingBoxf(bed_area).min;
|
||||
//float offsetx = 3 + 20 * xyScale + extruder_clearance_radius + brim_width + (brim_width > extruder_clearance_radius ? brim_width - extruder_clearance_radius : 0);
|
||||
//float offsety = 3 + 20 * xyScale + extruder_clearance_radius+ brim_width + (brim_width > extruder_clearance_radius ? brim_width - extruder_clearance_radius : 0);
|
||||
//model().objects[objs_idx[0]]->translate({ bed_min.x() + bed_size.x() / 2 - offsetx / 2, bed_min.y() + bed_size.y() / 2 - offsety, zscale / 2 });
|
||||
//model().objects[objs_idx[1]]->translate({ bed_min.x() + bed_size.x() / 2 - offsetx / 2, bed_min.y() + bed_size.y() / 2 , zscale / 2 });
|
||||
//model().objects[objs_idx[2]]->translate({ bed_min.x() + bed_size.x() / 2 - offsetx / 2, bed_min.y() + bed_size.y() / 2 + offsety, zscale / 2 });
|
||||
//model().objects[objs_idx[3]]->translate({ bed_min.x() + bed_size.x() / 2 + offsetx / 2, bed_min.y() + bed_size.y() / 2 - offsety, zscale / 2 });
|
||||
//model().objects[objs_idx[4]]->translate({ bed_min.x() + bed_size.x() / 2 + offsetx / 2, bed_min.y() + bed_size.y() / 2 + offsety, zscale / 2 });
|
||||
//const ConfigOptionFloat* extruder_clearance_radius = print_config->option<ConfigOptionFloat>("extruder_clearance_radius");
|
||||
float extruder_clearance_radius = 0.0f;
|
||||
//const ConfigOptionPoints* bed_shape = printerConfig->option<ConfigOptionPoints>("printable_area");
|
||||
auto bed_area = printerConfig->option<ConfigOptionPoints>("printable_area")->values;
|
||||
const double brim_width = nozzle_diameter * 3.5;
|
||||
Vec2d bed_size = BoundingBoxf(bed_area).size();
|
||||
Vec2d bed_min = BoundingBoxf(bed_area).min;
|
||||
float offsetx = 3 + 20 * xyScale + extruder_clearance_radius + brim_width + (brim_width > extruder_clearance_radius ? brim_width - extruder_clearance_radius : 0);
|
||||
float offsety = 3 + 20 * xyScale + extruder_clearance_radius+ brim_width + (brim_width > extruder_clearance_radius ? brim_width - extruder_clearance_radius : 0);
|
||||
model().objects[objs_idx[0]]->translate({ bed_min.x() + bed_size.x() / 2 - offsetx / 2, bed_min.y() + bed_size.y() / 2 - offsety, zscale / 2 });
|
||||
model().objects[objs_idx[1]]->translate({ bed_min.x() + bed_size.x() / 2 - offsetx / 2, bed_min.y() + bed_size.y() / 2 , zscale / 2 });
|
||||
model().objects[objs_idx[2]]->translate({ bed_min.x() + bed_size.x() / 2 - offsetx / 2, bed_min.y() + bed_size.y() / 2 + offsety, zscale / 2 });
|
||||
model().objects[objs_idx[3]]->translate({ bed_min.x() + bed_size.x() / 2 + offsetx / 2, bed_min.y() + bed_size.y() / 2 - offsety, zscale / 2 });
|
||||
model().objects[objs_idx[4]]->translate({ bed_min.x() + bed_size.x() / 2 + offsetx / 2, bed_min.y() + bed_size.y() / 2 + offsety, zscale / 2 });
|
||||
|
||||
/// --- custom config ---
|
||||
for (size_t i = 0; i < 5; i++) {
|
||||
|
@ -8069,15 +8037,9 @@ void Plater::calib_flowrate(int pass) {
|
|||
model().objects[objs_idx[i]]->config.set_key_value("print_flow_ratio", new ConfigOptionPercent(start + (float)i * delta));
|
||||
}
|
||||
|
||||
//update plater
|
||||
//GLCanvas3D::set_warning_freeze(false);
|
||||
//wxGetApp().get_tab(Preset::TYPE_PRINT)->load_config(new_print_config);
|
||||
//on_config_change(new_print_config);
|
||||
changed_objects(objs_idx);
|
||||
wxGetApp().get_tab(Preset::TYPE_PRINT)->update_dirty();
|
||||
//update everything, easier to code.
|
||||
//ObjectList* obj = wxGetApp().obj_list();
|
||||
//obj->update_after_undo_redo();
|
||||
|
||||
// automatic selection of added objects
|
||||
if (!objs_idx.empty() && p->view3D != nullptr) {
|
||||
// update printable state for new volumes on canvas3D
|
||||
|
@ -8091,26 +8053,13 @@ void Plater::calib_flowrate(int pass) {
|
|||
|
||||
// BBS: update object list selection
|
||||
p->sidebar->obj_list()->update_selections();
|
||||
|
||||
selection.notify_instance_update(-1, -1);
|
||||
if (p->view3D->get_canvas3d()->get_gizmos_manager().is_enabled())
|
||||
// this is required because the selected object changed and the flatten on face an sla support gizmos need to be updated accordingly
|
||||
p->view3D->get_canvas3d()->update_gizmos_on_off_state();
|
||||
}
|
||||
// arrange if needed, after new settings, to take them into account
|
||||
if (has_to_arrange) {
|
||||
//update print config (done at reslice but we need it here)
|
||||
if (printer_technology() == ptFFF)
|
||||
fff_print().apply(model(), *config());
|
||||
arrange();
|
||||
}
|
||||
|
||||
//reslice();
|
||||
|
||||
//if (autocenter) {
|
||||
// //re-enable auto-center after this calibration.
|
||||
// wxGetApp().app_config->set("autocenter", "1");
|
||||
//}
|
||||
//
|
||||
wxGetApp().mainframe->select_tab(size_t(MainFrame::tp3DEditor));
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue