NEW:step mesh add 'Split compound and compsolid'

Optimize getting STEP node names.
Fix load_same_type_files()

GITHUB: #5214
Change-Id: I7d1035c122f21e3b08305509489bce415634ae80
(cherry picked from commit 76a401bfca1897994795cb37ffa9cbcbdaca8b6c)
(cherry picked from commit a0669137ec7e698320d0bc50ee986cb3f0e85164)
This commit is contained in:
Mack 2024-11-28 12:23:59 +08:00 committed by Noisyfox
parent 1e75686221
commit 588f42e2e2
8 changed files with 56 additions and 21 deletions

View file

@ -181,9 +181,10 @@ Model Model::read_from_step(const std::string&
LoadStrategy options,
ImportStepProgressFn stepFn,
StepIsUtf8Fn stepIsUtf8Fn,
std::function<int(Slic3r::Step&, double&, double&)> step_mesh_fn,
std::function<int(Slic3r::Step&, double&, double&, bool&)> step_mesh_fn,
double linear_defletion,
double angle_defletion)
double angle_defletion,
bool is_split_compound)
{
Model model;
bool result = false;
@ -192,12 +193,12 @@ Model Model::read_from_step(const std::string&
Step step_file(input_file);
step_file.load();
if (step_mesh_fn) {
if (step_mesh_fn(step_file, linear_defletion, angle_defletion) == -1) {
if (step_mesh_fn(step_file, linear_defletion, angle_defletion, is_split_compound) == -1) {
Model empty_model;
return empty_model;
}
}
result = load_step(input_file.c_str(), &model, is_cb_cancel, linear_defletion, angle_defletion, stepFn, stepIsUtf8Fn);
result = load_step(input_file.c_str(), &model, is_cb_cancel, linear_defletion, angle_defletion, is_split_compound, stepFn, stepIsUtf8Fn);
if (is_cb_cancel) {
Model empty_model;
return empty_model;