Center volumes after split to parts
This commit is contained in:
parent
ca868fcaf1
commit
3d4e37ceb6
1 changed files with 10 additions and 4 deletions
|
@ -1244,16 +1244,22 @@ size_t ModelVolume::split(unsigned int max_extruders)
|
||||||
std::string name = this->name;
|
std::string name = this->name;
|
||||||
|
|
||||||
Model::reset_auto_extruder_id();
|
Model::reset_auto_extruder_id();
|
||||||
|
#if ENABLE_MODELVOLUME_TRANSFORM
|
||||||
|
Vec3d offset = this->get_offset();
|
||||||
|
#endif // ENABLE_MODELVOLUME_TRANSFORM
|
||||||
|
|
||||||
for (TriangleMesh *mesh : meshptrs) {
|
for (TriangleMesh *mesh : meshptrs) {
|
||||||
mesh->repair();
|
mesh->repair();
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
this->mesh = std::move(*mesh);
|
this->mesh = std::move(*mesh);
|
||||||
else
|
else
|
||||||
this->object->volumes.insert(this->object->volumes.begin() + (++ ivolume), new ModelVolume(object, *this, std::move(*mesh)));
|
this->object->volumes.insert(this->object->volumes.begin() + (++ivolume), new ModelVolume(object, *this, std::move(*mesh)));
|
||||||
char str_idx[64];
|
|
||||||
sprintf(str_idx, "_%d", idx + 1);
|
#if ENABLE_MODELVOLUME_TRANSFORM
|
||||||
this->object->volumes[ivolume]->name = name + str_idx;
|
this->object->volumes[ivolume]->center_geometry();
|
||||||
|
this->object->volumes[ivolume]->translate(offset);
|
||||||
|
#endif // ENABLE_MODELVOLUME_TRANSFORM
|
||||||
|
this->object->volumes[ivolume]->name = name + "_" + std::to_string(idx + 1);
|
||||||
this->object->volumes[ivolume]->config.set_deserialize("extruder", Model::get_auto_extruder_id_as_string(max_extruders));
|
this->object->volumes[ivolume]->config.set_deserialize("extruder", Model::get_auto_extruder_id_as_string(max_extruders));
|
||||||
delete mesh;
|
delete mesh;
|
||||||
++ idx;
|
++ idx;
|
||||||
|
|
Loading…
Reference in a new issue