BambuStudio/src/libslic3r
Arthur Tang c07dcffe16 ENH: use print volume to clip tree support
So tree supports won't go outside the bed.

Known issue:
1. moving won't trigger support re-calculating, so if you want to
  clip the supports in a different way after moving, you need to change
  the support settings (eg change threshold angle to 31 degrees).
2. clipping with the occlusion region is not complete, and an error
  message of "outside toolpath" will still be popped because we use
  convex hull to detection confliction.

Jira: STUDIO-2036

Change-Id: I643b14618eb18ffa9825072c44f677e51b0ff937
(cherry picked from commit a6217824dc0f490027e16f80f810d176dec6004b)
2023-02-01 16:24:44 +08:00
..
Arachne ENH: sync some code change from prusa 2022-10-20 19:34:37 +08:00
Execution Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Fill ENH: sync the different codes 2022-12-15 04:38:15 -05:00
Format NEW: pass design info to PrintJob 2023-02-01 16:24:44 +08:00
GCode ENH: use gcode processer to get precise layer number 2023-02-01 16:24:44 +08:00
Geometry ENH: sync some code change from prusa 2022-10-20 19:34:37 +08:00
Optimize Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
SLA Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Shape ENH: font preview 2022-12-15 04:38:15 -05:00
AABBTreeIndirect.hpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
AABBTreeLines.hpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
AppConfig.cpp FIX: [STUDIO-1510] recent project order in app config 2022-12-15 04:38:15 -05:00
AppConfig.hpp NEW:added dark mode 2022-12-15 04:38:15 -05:00
ArcFitter.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ArcFitter.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Arrange.cpp ENH: improve auto arranging and by-object printing 2022-12-26 05:31:54 -05:00
Arrange.hpp ENH: improve auto-arrange compactness around wipe tower 2022-12-15 04:38:15 -05:00
BlacklistedLibraryCheck.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
BlacklistedLibraryCheck.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
BoundingBox.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
BoundingBox.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
BridgeDetector.cpp ENH: optimize bridge detect to choose short direction 2022-12-15 04:38:15 -05:00
BridgeDetector.hpp ENH: optimize bridge detect to choose short direction 2022-12-15 04:38:15 -05:00
Brim.cpp FIX: brim croping in mulit-plate case 2023-01-10 19:08:26 +08:00
Brim.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
BuildVolume.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
BuildVolume.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
CMakeLists.txt NEW: add build time in about dialog 2023-01-10 19:08:26 +08:00
Channel.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Circle.cpp Update the codes to 01.01.00.10 for the formal release 2022-07-22 20:35:34 +08:00
Circle.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Clipper2Utils.cpp ENH: add clipper2 for preparing 2022-12-15 04:33:48 -05:00
Clipper2Utils.hpp ENH: add clipper2 for preparing 2022-12-15 04:33:48 -05:00
ClipperUtils.cpp ENH: add arachne engine for narrow internal solid infill 2022-08-26 09:25:59 +08:00
ClipperUtils.hpp ENH: add arachne engine for narrow internal solid infill 2022-08-26 09:25:59 +08:00
Config.cpp ENH: start normally when deal with unknown enumeration value 2022-12-15 04:38:15 -05:00
Config.hpp ENH: start normally when deal with unknown enumeration value 2022-12-15 04:38:15 -05:00
CurveAnalyzer.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
CurveAnalyzer.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
CustomGCode.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
CustomGCode.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
EdgeGrid.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
EdgeGrid.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ElephantFootCompensation.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ElephantFootCompensation.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ExPolygon.cpp ENH: optimize speed of exporting gcode 2022-12-15 04:33:48 -05:00
ExPolygon.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ExPolygonCollection.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ExPolygonCollection.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Exception.hpp ENH: [STUDIO-1185] jump to object in slice error notification 2022-12-15 04:33:48 -05:00
Extruder.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Extruder.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ExtrusionEntity.cpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
ExtrusionEntity.hpp ENH: slicing: add cache data load/export for slicing 2022-12-15 04:38:15 -05:00
ExtrusionEntityCollection.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ExtrusionEntityCollection.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ExtrusionSimulator.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ExtrusionSimulator.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
FaceDetector.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
FaceDetector.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
FileParserError.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Flow.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Flow.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
GCode.cpp ENH: use gcode processer to get precise layer number 2023-02-01 16:24:44 +08:00
GCode.hpp ENH: fix z hop error issue 2023-01-10 19:08:26 +08:00
GCodeReader.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
GCodeReader.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
GCodeSender.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
GCodeSender.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
GCodeWriter.cpp ENH: refine global bed type config logic 2022-12-15 04:38:15 -05:00
GCodeWriter.hpp ENH: use spiral lift only when it is needed 2023-01-10 19:08:26 +08:00
Geometry.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Geometry.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
I18N.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Int128.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
InternalBridgeDetector.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
InternalBridgeDetector.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
KDTreeIndirect.hpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
Layer.cpp ENH: optimize area of top surface 2023-01-10 19:08:26 +08:00
Layer.hpp ENH: use spiral lift only when it is needed 2023-01-10 19:08:26 +08:00
LayerRegion.cpp ENH: optimize area of top surface 2023-01-10 19:08:26 +08:00
Line.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Line.hpp ENH: add arachne engine for narrow internal solid infill 2022-08-26 09:25:59 +08:00
LocalesUtils.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
LocalesUtils.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MTUtils.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MacUtils.hpp Update the codes to 01.01.00.10 for the formal release 2022-07-22 20:35:34 +08:00
MacUtils.mm Update the codes to 01.01.00.10 for the formal release 2022-07-22 20:35:34 +08:00
MarchingSquares.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MeshBoolean.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MeshBoolean.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MeshSplitImpl.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MinAreaBoundingBox.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MinAreaBoundingBox.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MinimumSpanningTree.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MinimumSpanningTree.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Model.cpp FIX: repair: fix the state not correct issue after repair 2023-01-10 19:08:26 +08:00
Model.hpp ENH: support text modify 2023-01-10 19:08:26 +08:00
ModelArrange.cpp FIX: Auto brim will not be considered during model arrange 2022-12-15 04:38:15 -05:00
ModelArrange.hpp FIX: auto-arrange ignores wipe tower due to supports 2022-12-15 04:38:15 -05:00
MultiMaterialSegmentation.cpp FIX: special model slice color is incorrect 2022-12-15 04:38:15 -05:00
MultiMaterialSegmentation.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MultiPoint.cpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
MultiPoint.hpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
MutablePolygon.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MutablePolygon.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
MutablePriorityQueue.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
NormalUtils.cpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
NormalUtils.hpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
ObjectID.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ObjectID.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
OpenVDBUtils.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
OpenVDBUtils.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Orient.cpp FIX: Fix the benchy orientation bug 2022-12-15 04:38:15 -05:00
Orient.hpp FIX: fix the bugs related to bottom area and flip 2022-12-15 04:38:15 -05:00
PNGReadWrite.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
PNGReadWrite.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
PerimeterGenerator.cpp ENH: inner-out-inner wal seq 2023-02-01 16:24:44 +08:00
PerimeterGenerator.hpp ENH: enable arachne for wall 2022-12-15 04:38:15 -05:00
PlaceholderParser.cpp ENH: add preset of voron 2022-10-20 19:34:37 +08:00
PlaceholderParser.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Platform.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Platform.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Point.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Point.hpp ENH: improve sharp tail detection 2023-01-10 19:08:26 +08:00
Polygon.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Polygon.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
PolygonTrimmer.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
PolygonTrimmer.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Polyline.cpp ENH: fix one typo 2022-10-20 19:34:37 +08:00
Polyline.hpp ENH: enable arachne for concentric pattern 2022-09-29 11:16:43 +08:00
Preset.cpp ENH: [STUDIO-1871] merge changes of user presets from other sessions 2023-01-10 19:08:26 +08:00
Preset.hpp ENH: modify diff for github 2022-12-15 04:38:15 -05:00
PresetBundle.cpp FIX: crush when slicer multi-color model 2023-02-01 16:24:44 +08:00
PresetBundle.hpp ENH: [STUDIO-1871] merge changes of user presets from other sessions 2023-01-10 19:08:26 +08:00
Print.cpp ENH: optimize the copy description format 2023-01-10 19:08:26 +08:00
Print.hpp ENH: use spiral lift only when it is needed 2023-01-10 19:08:26 +08:00
PrintApply.cpp ENH: allow generate wipe tower when print ByObject 2023-01-10 19:08:26 +08:00
PrintBase.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
PrintBase.hpp ENH: slicing: add cache data load/export for slicing 2022-12-15 04:38:15 -05:00
PrintConfig.cpp ENH: use print volume to clip tree support 2023-02-01 16:24:44 +08:00
PrintConfig.hpp ENH: use print volume to clip tree support 2023-02-01 16:24:44 +08:00
PrintObject.cpp FIX: spiral mode couldn't be enabled 2023-02-01 16:24:44 +08:00
PrintObjectSlice.cpp ENH: add back even-odd mode 2022-12-15 04:33:48 -05:00
PrintRegion.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ProjectTask.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ProjectTask.hpp NEW: add ams mapping info when sending a job 2022-10-20 19:34:37 +08:00
QuadricEdgeCollapse.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
QuadricEdgeCollapse.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
SLAPrint.cpp ENH: slicing: add cache data load/export for slicing 2022-12-15 04:38:15 -05:00
SLAPrint.hpp ENH: slicing: add cache data load/export for slicing 2022-12-15 04:38:15 -05:00
SLAPrintSteps.cpp ENH: add slice_closing_radius back 2022-09-08 21:49:36 +08:00
SLAPrintSteps.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
SVG.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
SVG.hpp Update the codes to 01.01.00.10 for the formal release 2022-07-22 20:35:34 +08:00
Semver.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Semver.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ShortEdgeCollapse.cpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
ShortEdgeCollapse.hpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
ShortestPath.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
ShortestPath.hpp ENH: reroder the path seq for concentric fill pattern 2022-12-15 04:33:48 -05:00
SlicesToTriangleMesh.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
SlicesToTriangleMesh.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Slicing.cpp NEW: add new tree support style "Tree Slim" 2022-12-26 05:31:54 -05:00
Slicing.hpp ENH: some change to support layer height edit 2022-12-15 04:33:48 -05:00
SlicingAdaptive.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
SlicingAdaptive.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
SupportMaterial.cpp ENH: improve sharp tail detection 2023-01-10 19:08:26 +08:00
SupportMaterial.hpp NEW: Add "Support xy expansion distance" setting 2022-12-15 04:38:15 -05:00
Surface.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Surface.hpp ENH: slicing: add cache data load/export for slicing 2022-12-15 04:38:15 -05:00
SurfaceCollection.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
SurfaceCollection.hpp ENH: improve archor of internal bridge 2022-12-15 04:33:48 -05:00
Technologies.hpp ENH: add reload from disk and replace with stl 2022-09-14 17:39:11 +08:00
Tesselate.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Tesselate.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Thread.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Thread.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Time.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Time.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
TreeSupport.cpp ENH: use print volume to clip tree support 2023-02-01 16:24:44 +08:00
TreeSupport.hpp ENH: use print volume to clip tree support 2023-02-01 16:24:44 +08:00
TriangleMesh.cpp NEW:Add progress bar for large file loading (3mf,stl,step) 2022-09-02 12:52:18 +08:00
TriangleMesh.hpp add the logic to reduce slicing time between shared-mesh objects 2022-09-02 12:52:18 +08:00
TriangleMeshSlicer.cpp ENH: sync the different codes 2022-12-15 04:38:15 -05:00
TriangleMeshSlicer.hpp ENH: add paint-on support on vertical faces 2022-12-15 04:38:15 -05:00
TriangleSelector.cpp FIX: fix color painting bugs 2022-09-02 12:52:18 +08:00
TriangleSelector.hpp FIX: fix color painting bugs 2022-09-02 12:52:18 +08:00
TriangleSetSampling.cpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
TriangleSetSampling.hpp ENH: new seam strategy from prusa2.5 2022-09-02 12:52:18 +08:00
TriangulateWall.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
TriangulateWall.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
TryCatchSignal.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
TryCatchSignal.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
TryCatchSignalSEH.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
TryCatchSignalSEH.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Utils.hpp ENH: CLI: some refines on compatible logic 2022-12-15 04:38:15 -05:00
VariableWidth.cpp ENH: add arachne engine for narrow internal solid infill 2022-08-26 09:25:59 +08:00
VariableWidth.hpp ENH: add arachne engine for narrow internal solid infill 2022-08-26 09:25:59 +08:00
Zipper.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Zipper.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
clipper.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
clipper.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
clonable_ptr.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
enum_bitmask.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
format.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
libslic3r.h ENH: improve auto-arrange in several ways 2022-12-15 04:33:48 -05:00
libslic3r_version.h.in NEW: add build time in about dialog 2023-01-10 19:08:26 +08:00
miniz_extension.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
miniz_extension.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
pchheader.cpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
pchheader.hpp Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
utils.cpp Use fstream from boost::nowide 2022-12-16 22:51:07 -05:00