ENH: enable arachne for wall

Refer to prusa and enable arachne for wall.

Arachne also has corner case and cause strange
slicing result and bad quality when print, while
class engine is much better for these cases.

Provide option for user to choose.

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ieb3a1c6a457ca610561f8734de4a122d74165afd
This commit is contained in:
salt.wei 2022-11-30 21:14:55 +08:00 committed by Lane.Wei
parent 4419703f41
commit 6551b86230
10 changed files with 703 additions and 6 deletions

View file

@ -66,13 +66,15 @@ public:
m_ext_mm3_per_mm(-1), m_mm3_per_mm(-1), m_mm3_per_mm_overhang(-1), m_ext_mm3_per_mm_smaller_width(-1)
{}
void process();
void process_classic();
void process_arachne();
double ext_mm3_per_mm() const { return m_ext_mm3_per_mm; }
double mm3_per_mm() const { return m_mm3_per_mm; }
double mm3_per_mm_overhang() const { return m_mm3_per_mm_overhang; }
//BBS
double smaller_width_ext_mm3_per_mm() const { return m_ext_mm3_per_mm_smaller_width; }
Polygons lower_slices_polygons() const { return m_lower_slices_polygons; }
private:
std::map<int, Polygons> generate_lower_polygons_series(float width);
@ -85,6 +87,7 @@ private:
double m_mm3_per_mm_overhang;
//BBS
double m_ext_mm3_per_mm_smaller_width;
Polygons m_lower_slices_polygons;
};
}