Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/libslic3r/SLAPrint.cpp')
-rw-r--r--src/libslic3r/SLAPrint.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp
index f45d805b6..1383acc40 100644
--- a/src/libslic3r/SLAPrint.cpp
+++ b/src/libslic3r/SLAPrint.cpp
@@ -407,6 +407,14 @@ sla::SupportConfig make_support_cfg(const SLAPrintObjectConfig& c) {
scfg.tilt = c.support_critical_angle.getFloat() * PI / 180.0 ;
scfg.max_bridge_length_mm = c.support_max_bridge_length.getFloat();
scfg.headless_pillar_radius_mm = 0.375*c.support_pillar_diameter.getFloat();
+ switch(c.support_pillar_connection_mode.getInt()) {
+ case slapcmZigZag:
+ scfg.pillar_connection_mode = sla::PillarConnectionMode::zigzag; break;
+ case slapcmCross:
+ scfg.pillar_connection_mode = sla::PillarConnectionMode::cross; break;
+ case slapcmDynamic:
+ scfg.pillar_connection_mode = sla::PillarConnectionMode::dynamic; break;
+ }
scfg.pillar_widening_factor = c.support_pillar_widening_factor.getFloat();
scfg.base_radius_mm = 0.5*c.support_base_diameter.getFloat();
scfg.base_height_mm = c.support_base_height.getFloat();
@@ -630,7 +638,7 @@ void SLAPrint::process()
sla::PoolConfig pcfg(wt, h, md, er);
ExPolygons bp;
- double pad_h = sla::get_pad_elevation(pcfg);
+ double pad_h = sla::get_pad_fullheight(pcfg);
auto&& trmesh = po.transformed_mesh();
// This call can get pretty time consuming
@@ -724,9 +732,7 @@ void SLAPrint::process()
po.m_supportdata->level_ids.reserve(sslices.size());
for(int i = 0; i < int(sslices.size()); ++i) {
- int a = i == 0 ? 0 : 1;
- int b = i == 0 ? 0 : i - 1;
- LevelID h = sminZ + a * sih + b * slh;
+ LevelID h = sminZ + sih + i * slh;
po.m_supportdata->level_ids.emplace_back(h);
float fh = float(double(h) * SCALING_FACTOR);
@@ -1058,6 +1064,7 @@ bool SLAPrintObject::invalidate_state_by_config_options(const std::vector<t_conf
|| opt_key == "support_head_penetration"
|| opt_key == "support_head_width"
|| opt_key == "support_pillar_diameter"
+ || opt_key == "support_pillar_connection_mode"
|| opt_key == "support_base_diameter"
|| opt_key == "support_base_height"
|| opt_key == "support_critical_angle"