mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-06-06 03:52:58 +00:00
Added parameter for pillar connection mode
This commit is contained in:
@@ -1249,8 +1249,13 @@ bool SLASupportTree::generate(const PointSet &points,
|
||||
if(chkd >= bridge_distance) {
|
||||
result.add_bridge(sj, ej, pillar.r);
|
||||
|
||||
auto pcm = cfg.pillar_connection_mode;
|
||||
|
||||
// double bridging: (crosses)
|
||||
if(pillar_dist > 2*cfg.base_radius_mm) {
|
||||
if( pcm == PillarConnectionMode::cross ||
|
||||
(pcm == PillarConnectionMode::dynamic &&
|
||||
pillar_dist > 2*cfg.base_radius_mm))
|
||||
{
|
||||
// If the columns are close together, no need to
|
||||
// double bridge them
|
||||
Vec3d bsj(ej(X), ej(Y), sj(Z));
|
||||
|
||||
@@ -28,6 +28,12 @@ using SlicedSupports = std::vector<SliceLayer>;
|
||||
|
||||
namespace sla {
|
||||
|
||||
enum class PillarConnectionMode {
|
||||
zigzag,
|
||||
cross,
|
||||
dynamic
|
||||
};
|
||||
|
||||
struct SupportConfig {
|
||||
// Radius in mm of the pointing side of the head.
|
||||
double head_front_radius_mm = 0.2;
|
||||
@@ -46,6 +52,9 @@ struct SupportConfig {
|
||||
// headless pillars will have half of this value.
|
||||
double headless_pillar_radius_mm = 0.4;
|
||||
|
||||
// How to connect pillars
|
||||
PillarConnectionMode pillar_connection_mode = PillarConnectionMode::dynamic;
|
||||
|
||||
// TODO: unimplemented at the moment. This coefficient will have an impact
|
||||
// when bridges and pillars are merged. The resulting pillar should be a bit
|
||||
// thicker than the ones merging into it. How much thicker? I don't know
|
||||
|
||||
Reference in New Issue
Block a user