- Separate the 3 bands -- dangling, sloping and full overhanging -- regions and handle them with different support force deficits.
- Use a heuristic for overhanging edges to increase the number of support points generated for them
- Try to make overhangs and slopes deficit depend on stable area.
Drain holes reference position was saved slightly above the mesh to avoid problem when the hole is placed on flat or nearly flat surface
The depth of the hole was internally bigger than what the user has set to compensato for it
However, this leads to problem with scaling and makes reprojection of the holes on the mesh complicated
This commit changes the reference point to the point on the mesh and the extra elevation is handled when rendering and drilling the hole.
The change is reflected in 3MF drain holes versioning so that old 3MFs are loaded correctly.
Reprojection on the mesh after reload from disk/fix through netfabb has been enabled.
enumerate is unusual and would only work effectively with random access iterators
this for_each takes advantage of tbb blocked_range
replace ccr_::enumerate with flexible for_each
enumerate is unusual and would only work effectively with random access iterators
this for_each takes advantage of tbb blocked_range
Fixed fatal bug with anchors for mini supports
Make the optimization cleaner in support generatior
Much better widening behaviour
Add an optimizer interface and the NLopt implementation into libslic3r
New optimizer based only on nlopt C interfase
Fix build and tests
* Fix support heads floating in air
* Fix failing tests for the bridge mesh intersection
* Fix failing assertions
WIP refactoring support tree gen, as its a mess.
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
- removed define USE_AABB_INDIRECT (which switched between old and new AABB implementation)
- removed define SLIC3R_SLA_NEEDS_WINDTREE (relied on igl and was not used anyway)
- new define SLIC3R_HOLE_RAYCASTER (hides currently unused code)
- slight include cleanup
- removed obsolete source file SupportTreeIGL.cpp
Fix compilation on Windows
Fix array subscript out of range error in MarchingSquares
Fix normals of mesh constructed from slices
Improve performance of mesh construction from slices
Fixes Connecting / expanding Bottom Layers to Vase Perimeter #253
Fixes Slicing error in vase mode #452
Fixes Slicing Issue (Vase Mode, 0.6mm dmr nozzle) #1887
Fixes Top fill pattern isn't used in spiral vase mode #2533
Fixes Cisar's vase doesn't slice correctly, creates artefacts #3595
When the model is sliced, all the contours are newly oriented
counter-clockwise (even holes), merged and then only the largest area
contour is retained. In perimeter generator, if the largest contour
splits into multiple perimeters, newly only the largest area perimeter
is retained in spiral vase mode. These two changes solve #3595 and similar.
The infill is newly calculated only for the bottom solid layers
if the spiral vase mode is active (removes various unwanted infill
along the vase walls), and the last bottom solid layer is switched
to a top solid pattern (solves #2533).
The thin walls are newly enforced to be disabled in spiral vase mode,
and the "ensure vertical shell wall" is enforced in spiral vase mode
to extend the bottom of the vase to the vase hull (fixes#253).