Create smaller supports in problematic areas with established strategies

Completely remove the concept of CompactBridge.

Replace it with Heads having the same back radius as front radius. 

Try to apply the same rules for mini supports as in the route_to_model step.

Increased accuracy of bridge_mesh_intersect shot from support points


Refining mini support integration
This commit is contained in:
tamasmeszaros 2020-06-02 17:31:52 +02:00
parent 38239f09e3
commit 0622322146
8 changed files with 571 additions and 357 deletions

View file

@ -229,11 +229,6 @@ class SupportTreeBuildsteps {
double r_pin,
double r_back,
double width);
template<class...Args>
inline double pinhead_mesh_distance(Args&&...args) {
return pinhead_mesh_intersect(std::forward<Args>(args)...).distance();
}
// Checking bridge (pillar and stick as well) intersection with the model.
// If the function is used for headless sticks, the ins_check parameter
@ -247,7 +242,7 @@ class SupportTreeBuildsteps {
const Vec3d& s,
const Vec3d& dir,
double r,
bool ins_check = false);
double safety_d = std::nan(""));
template<class...Args>
inline double bridge_mesh_distance(Args&&...args) {
@ -268,8 +263,8 @@ class SupportTreeBuildsteps {
inline bool connect_to_ground(Head& head);
bool connect_to_model_body(Head &head);
bool search_pillar_and_connect(const Head& head);
bool search_pillar_and_connect(const Head& source);
// This is a proxy function for pillar creation which will mind the gap
// between the pad and the model bottom in zero elevation mode.