This commit is contained in:
bubnikv 2018-12-03 13:21:48 +01:00
commit 435163fb73
17 changed files with 479 additions and 146 deletions

View file

@ -699,6 +699,14 @@ void ModelObject::clear_volumes()
this->invalidate_bounding_box();
}
void ModelObject::reset_volumes_idxs()
{
for (ModelVolume *v : this->volumes)
{
v->set_new_unique_id();
}
}
ModelInstance* ModelObject::add_instance()
{
ModelInstance* i = new ModelInstance(this);

View file

@ -200,6 +200,9 @@ public:
void clear_volumes();
bool is_multiparts() const { return volumes.size() > 1; }
// set a new unique id to all volumes
void reset_volumes_idxs();
ModelInstance* add_instance();
ModelInstance* add_instance(const ModelInstance &instance);
ModelInstance* add_instance(const Vec3d &offset, const Vec3d &scaling_factor, const Vec3d &rotation);

View file

@ -2349,14 +2349,14 @@ void PrintConfigDef::init_sla_params()
def->tooltip = L("Width of the display");
def->cli = "display-width=f";
def->min = 1;
def->default_value = new ConfigOptionFloat(150.);
def->default_value = new ConfigOptionFloat(120.);
def = this->add("display_height", coFloat);
def->label = L("Display height");
def->tooltip = L("Height of the display");
def->cli = "display-height=f";
def->min = 1;
def->default_value = new ConfigOptionFloat(100.);
def->default_value = new ConfigOptionFloat(68.);
def = this->add("display_pixels_x", coInt);
def->full_label = L("Number of pixels in");
@ -2364,14 +2364,14 @@ void PrintConfigDef::init_sla_params()
def->tooltip = L("Number of pixels in X");
def->cli = "display-pixels-x=i";
def->min = 100;
def->default_value = new ConfigOptionInt(2000);
def->default_value = new ConfigOptionInt(2560);
def = this->add("display_pixels_y", coInt);
def->label = ("Y");
def->tooltip = L("Number of pixels in Y");
def->cli = "display-pixels-y=i";
def->min = 100;
def->default_value = new ConfigOptionInt(1000);
def->default_value = new ConfigOptionInt(1440);
def = this->add("printer_correction", coFloats);
def->full_label = L("Printer scaling correction");

View file

@ -948,8 +948,10 @@ bool SLAPrintObject::invalidate_state_by_config_options(const std::vector<t_conf
for (const t_config_option_key &opt_key : opt_keys) {
if (opt_key == "layer_height") {
steps.emplace_back(slaposObjectSlice);
} else if (opt_key == "supports_enable"
|| opt_key == "support_head_front_diameter"
} else if (opt_key == "supports_enable") {
steps.emplace_back(slaposSupportPoints);
} else if (
opt_key == "support_head_front_diameter"
|| opt_key == "support_head_penetration"
|| opt_key == "support_head_width"
|| opt_key == "support_pillar_diameter"
@ -1092,21 +1094,20 @@ TriangleMesh SLAPrintObject::get_mesh(SLAPrintObjectStep step) const
}
}
const TriangleMesh& SLAPrintObject::support_mesh() const
{
if(m_supportdata && m_supportdata->support_tree_ptr)
return m_supportdata->support_tree_ptr->merged_mesh();
if(m_config.supports_enable.getBool() && m_supportdata &&
m_supportdata->support_tree_ptr) return m_supportdata->support_tree_ptr->merged_mesh();
return EMPTY_MESH;
}
const TriangleMesh& SLAPrintObject::pad_mesh() const
{
if(!m_supportdata || !m_supportdata->support_tree_ptr) return EMPTY_MESH;
if(m_config.pad_enable.getBool() && m_supportdata && m_supportdata->support_tree_ptr)
return m_supportdata->support_tree_ptr->get_pad();
return m_supportdata->support_tree_ptr->get_pad();
return EMPTY_MESH;
}
const TriangleMesh &SLAPrintObject::transformed_mesh() const {