Update the SLA slices at the print preview once the index is calculated.
This commit is contained in:
parent
6f2695366e
commit
d6b409d0d9
3 changed files with 13 additions and 3 deletions
|
@ -272,6 +272,7 @@ public:
|
||||||
NO_RELOAD_SCENE = 0,
|
NO_RELOAD_SCENE = 0,
|
||||||
RELOAD_SCENE = 1 << 1,
|
RELOAD_SCENE = 1 << 1,
|
||||||
RELOAD_SLA_SUPPORT_POINTS = 1 << 2,
|
RELOAD_SLA_SUPPORT_POINTS = 1 << 2,
|
||||||
|
RELOAD_SLA_PREVIEW = 1 << 3,
|
||||||
};
|
};
|
||||||
// Bitmap of FlagBits
|
// Bitmap of FlagBits
|
||||||
unsigned int flags;
|
unsigned int flags;
|
||||||
|
|
|
@ -821,7 +821,7 @@ void SLAPrint::process()
|
||||||
|
|
||||||
// We have the layer polygon collection but we need to unite them into
|
// We have the layer polygon collection but we need to unite them into
|
||||||
// an index where the key is the height level in discrete levels (clipper)
|
// an index where the key is the height level in discrete levels (clipper)
|
||||||
auto index_slices = [ilhd](SLAPrintObject& po) {
|
auto index_slices = [this, ilhd](SLAPrintObject& po) {
|
||||||
po.m_slice_index.clear();
|
po.m_slice_index.clear();
|
||||||
auto sih = LevelID(scale_(ilhd));
|
auto sih = LevelID(scale_(ilhd));
|
||||||
|
|
||||||
|
@ -890,6 +890,9 @@ void SLAPrint::process()
|
||||||
sr.support_slices_idx = SLAPrintObject::SliceRecord::Idx(i);
|
sr.support_slices_idx = SLAPrintObject::SliceRecord::Idx(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Using RELOAD_SLA_PREVIEW to tell the Plater to pass the update status to the 3D preview to load the SLA slices.
|
||||||
|
report_status(*this, -2, "", SlicingStatus::RELOAD_SLA_PREVIEW);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Rasterizing the model objects, and their supports
|
// Rasterizing the model objects, and their supports
|
||||||
|
|
|
@ -2434,8 +2434,10 @@ void Plater::priv::on_select_preset(wxCommandEvent &evt)
|
||||||
|
|
||||||
void Plater::priv::on_slicing_update(SlicingStatusEvent &evt)
|
void Plater::priv::on_slicing_update(SlicingStatusEvent &evt)
|
||||||
{
|
{
|
||||||
this->statusbar()->set_progress(evt.status.percent);
|
if (evt.status.percent >= -1) {
|
||||||
this->statusbar()->set_status_text(_(L(evt.status.text)) + wxString::FromUTF8("…"));
|
this->statusbar()->set_progress(evt.status.percent);
|
||||||
|
this->statusbar()->set_status_text(_(L(evt.status.text)) + wxString::FromUTF8("…"));
|
||||||
|
}
|
||||||
if (evt.status.flags & PrintBase::SlicingStatus::RELOAD_SCENE) {
|
if (evt.status.flags & PrintBase::SlicingStatus::RELOAD_SCENE) {
|
||||||
switch (this->printer_technology) {
|
switch (this->printer_technology) {
|
||||||
case ptFFF:
|
case ptFFF:
|
||||||
|
@ -2453,6 +2455,10 @@ void Plater::priv::on_slicing_update(SlicingStatusEvent &evt)
|
||||||
// Update SLA gizmo (reload_scene calls update_gizmos_data)
|
// Update SLA gizmo (reload_scene calls update_gizmos_data)
|
||||||
q->canvas3D()->reload_scene(true);
|
q->canvas3D()->reload_scene(true);
|
||||||
}
|
}
|
||||||
|
if (evt.status.flags & PrintBase::SlicingStatus::RELOAD_SLA_PREVIEW) {
|
||||||
|
// Update the SLA preview
|
||||||
|
this->preview->reload_print();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Plater::priv::on_slicing_completed(wxCommandEvent &)
|
void Plater::priv::on_slicing_completed(wxCommandEvent &)
|
||||||
|
|
Loading…
Reference in a new issue