Fixed 'Export plate as STL including supports' command
This commit is contained in:
parent
d6e040c282
commit
f5c7034f47
1 changed files with 11 additions and 3 deletions
|
@ -4847,25 +4847,33 @@ void Plater::export_stl(bool extended, bool selection_only)
|
||||||
? Transform3d::Identity()
|
? Transform3d::Identity()
|
||||||
: object->model_object()->instances[instance_idx]->get_transformation().get_matrix();
|
: object->model_object()->instances[instance_idx]->get_transformation().get_matrix();
|
||||||
|
|
||||||
|
TriangleMesh inst_mesh;
|
||||||
|
|
||||||
if (has_pad_mesh)
|
if (has_pad_mesh)
|
||||||
{
|
{
|
||||||
TriangleMesh inst_pad_mesh = pad_mesh;
|
TriangleMesh inst_pad_mesh = pad_mesh;
|
||||||
inst_pad_mesh.transform(inst_transform, is_left_handed);
|
inst_pad_mesh.transform(inst_transform, is_left_handed);
|
||||||
mesh.merge(inst_pad_mesh);
|
inst_mesh.merge(inst_pad_mesh);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (has_supports_mesh)
|
if (has_supports_mesh)
|
||||||
{
|
{
|
||||||
TriangleMesh inst_supports_mesh = supports_mesh;
|
TriangleMesh inst_supports_mesh = supports_mesh;
|
||||||
inst_supports_mesh.transform(inst_transform, is_left_handed);
|
inst_supports_mesh.transform(inst_transform, is_left_handed);
|
||||||
mesh.merge(inst_supports_mesh);
|
inst_mesh.merge(inst_supports_mesh);
|
||||||
}
|
}
|
||||||
|
|
||||||
TriangleMesh inst_object_mesh = object->get_mesh_to_print();
|
TriangleMesh inst_object_mesh = object->get_mesh_to_print();
|
||||||
inst_object_mesh.transform(mesh_trafo_inv);
|
inst_object_mesh.transform(mesh_trafo_inv);
|
||||||
inst_object_mesh.transform(inst_transform, is_left_handed);
|
inst_object_mesh.transform(inst_transform, is_left_handed);
|
||||||
|
|
||||||
mesh.merge(inst_object_mesh);
|
inst_mesh.merge(inst_object_mesh);
|
||||||
|
|
||||||
|
// ensure that the instance lays on the bed
|
||||||
|
inst_mesh.translate(0.0f, 0.0f, -inst_mesh.bounding_box().min[2]);
|
||||||
|
|
||||||
|
// merge instance with global mesh
|
||||||
|
mesh.merge(inst_mesh);
|
||||||
|
|
||||||
if (one_inst_only)
|
if (one_inst_only)
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue