Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
193 commits
Select commit Hold shift + click to select a range
108238f
Add feature to better support pointy overhangs. Will create a pull re…
ThomasRahm May 7, 2023
c7b6aaa
Fix support_skin_line_distance setting not working.
ThomasRahm May 7, 2023
0997c3b
Fix support being sprinkled on top of angled interface when tree supp…
ThomasRahm May 7, 2023
12f2572
Fix Tree Support Cradle generation causing a crash.
ThomasRahm May 7, 2023
624991d
Fix crash when support blockers are used.
ThomasRahm May 8, 2023
59531dc
Fix Cradle Tip generation behaving unexpectedly when support interfac…
ThomasRahm May 13, 2023
dc64f93
Improved Tree Support Support Skin Generation and fixed bug causing t…
ThomasRahm May 16, 2023
7e0191e
Fix Support Floor being activated to sometimes cause slicing to freeze.
ThomasRahm Jul 13, 2023
810d6ea
Fix Minimum support area not working always when X/Y overrides Z or i…
ThomasRahm Jul 15, 2023
2538d86
Fix branches being wrongly regarded as an error (and removed because …
ThomasRahm Jul 25, 2023
0d0c841
Merge remote-tracking branch 'upstream/5.6' into tree_support_2
ThomasRahm Nov 18, 2023
f3ff9f4
Fix issues cause by merge and fix issue caused by previous refactor.
ThomasRahm Nov 18, 2023
e0e19ab
Change the way settings are retrieved to enable using a fake plugin t…
ThomasRahm Nov 19, 2023
1a7f9c3
Add first version of support_tree_cradle_xy_distance setting.
ThomasRahm Nov 19, 2023
c216424
Update Conan and GitHub workflows
jellespijker Dec 14, 2023
b7d7316
Revert update of fmt and spdlog
jellespijker Dec 14, 2023
dffcecf
Fix fractional roof not working correctly with cradles
ThomasRahm Dec 17, 2023
8cefce5
Fix cradle xy distance
ThomasRahm Dec 18, 2023
36db8a2
Fix cradle sometimes not being supported correctly
ThomasRahm Dec 18, 2023
c9cda5a
Merge branch '5.6' into tree_support_2
ThomasRahm Dec 24, 2023
b16c159
More cradle fixes
ThomasRahm Dec 25, 2023
1ae92f2
Some fixes to support skin
ThomasRahm Dec 25, 2023
9e61337
Fix crashes caused by tree support.
ThomasRahm Dec 24, 2023
81eff9e
Fix compile error caused by previous commit
ThomasRahm Jan 1, 2024
d357561
Made cradle xy distance a vector to enable more flexibility
ThomasRahm Jan 6, 2024
b25a88e
Changed support skin pattern to ZigZag and reduced support skin wall …
ThomasRahm Jan 6, 2024
c983b58
Fix bug related to cradle and fractional roof again
ThomasRahm Jan 9, 2024
5867e20
Cradle refactoring
ThomasRahm Feb 12, 2024
7eb33bb
Cradle fixes
ThomasRahm Feb 19, 2024
91f6fd5
Work im progress refactoring to enable removing cradle-lines while th…
ThomasRahm Mar 12, 2024
4787452
Fix first and last vertex created by makeCircle being close together,…
ThomasRahm Mar 13, 2024
a533391
Fix branches not merging below anti preferred areas
ThomasRahm Mar 13, 2024
39d2a91
Cradle fixes related to cradle roof type and a bit refactoring
ThomasRahm Mar 14, 2024
20f2755
Ensure cradle lines have no overhang if possible, also performance im…
ThomasRahm Mar 14, 2024
0cfba23
Prevent potential issues with applying anti preferred areas to cause …
ThomasRahm Mar 14, 2024
3d84b94
More cradle fixes.
ThomasRahm Mar 15, 2024
302657c
Made center of the cradle move slightly with the object it supports
ThomasRahm Mar 16, 2024
f275c9c
Some parallelization and performance improvements
ThomasRahm Mar 17, 2024
64f8ef7
More cradle fixes
ThomasRahm Mar 17, 2024
0f4a602
Fix crash causes by missing lock.
ThomasRahm Mar 17, 2024
82835b4
Fix increaseSingleArea bug caused by a previous optimisation
ThomasRahm Mar 17, 2024
ccf229b
Fix another crash caused by missing lock
ThomasRahm Mar 17, 2024
ea35c28
More cradle fixes
ThomasRahm Mar 17, 2024
e2a2833
Shorten cradle lines again if lines were removed that made them longer.
ThomasRahm Mar 17, 2024
79c7e36
Prevent invalid cradle lines from generating and fix for cradle relat…
ThomasRahm Mar 18, 2024
3cbf074
Commit code missing from previous commit and fix some comments
ThomasRahm Mar 18, 2024
2a7aefa
Merge remote-tracking branch 'upstream/5.7' into tree_support_2
ThomasRahm Mar 18, 2024
6966fa0
Merge part 2: Fixing variable names/usage.
ThomasRahm Mar 18, 2024
aa00d60
Fix wrong type name.
ThomasRahm Mar 18, 2024
27dd92c
Removed performance optimisation causing cradle line tips of removed …
ThomasRahm Mar 18, 2024
f08100f
Removed some unused variables
ThomasRahm Mar 19, 2024
d7cb1aa
Fix cradle calculation for 1 line not terminating
ThomasRahm Mar 21, 2024
9a95d4b
Improving fractional support for tree supports
ThomasRahm Mar 25, 2024
25acb8c
Fix bug causing roof to not properly generate when using tree supports
ThomasRahm Mar 25, 2024
01b10c0
Merge branch 'improved-fractional-tree-support' into tree_support_2
ThomasRahm Mar 31, 2024
74c8bd4
Fix issues with cradle lines including issues occurring when the crad…
ThomasRahm Apr 4, 2024
75d2dff
Merge remote-tracking branch 'upstream/5.7' into tree_support_2
ThomasRahm Apr 4, 2024
5f57b8e
Fix cradle line distance being wrong sometimes for angled parts of th…
ThomasRahm Apr 6, 2024
9ef6698
Fix fractional support bug related to tree support caused by merging …
ThomasRahm Apr 6, 2024
96d023a
Fix fractional support skin for cradle base areas.
ThomasRahm Apr 6, 2024
50c57ce
First refactoring to add setting to ensure initial layer diameter can…
ThomasRahm Apr 9, 2024
f9e0bc7
Fix initial layer diameter not working
ThomasRahm Apr 9, 2024
6d44415
Fix using wrong fillInfillParts to add tree support areas.
ThomasRahm Apr 10, 2024
057ed36
Enable different amount of roof wall counts for tree support.
ThomasRahm Apr 20, 2024
8f2ccdd
Improve interaction between cradle base and lines if both are roofs a…
ThomasRahm Apr 20, 2024
1309df4
Fix possible crash caused by cradle code.
ThomasRahm Apr 20, 2024
6a2f662
Fix large cradle tip calculations
ThomasRahm Apr 21, 2024
2214365
Fix rounding errors with anti-preferred avoidance.
ThomasRahm Apr 21, 2024
2e5d928
Remove support areas around lines missing because of cradle z distanc…
ThomasRahm Apr 21, 2024
872e8e7
Fix "Removing already placed tip" when a cradle roof base is only val…
ThomasRahm Apr 21, 2024
879ecb1
Prevent roof from generating close to the cradle as any overhang ther…
ThomasRahm Apr 21, 2024
f5186eb
Fix regressions with fractional tree support. Also ensure fractional …
ThomasRahm Apr 22, 2024
14f8f3d
Improve anti-preferred handling in increaseSingleArea.
ThomasRahm Apr 22, 2024
73313c6
Fixes and refactoring related to cradle line generation.
ThomasRahm Apr 23, 2024
d17b2d5
Fix cradle roof type "Cradle and Base"
ThomasRahm Apr 23, 2024
5153fe0
Improved formatting
ThomasRahm Apr 24, 2024
e329928
Fix roof cradle lines missing if roof wall line count is larger than 0
ThomasRahm Apr 24, 2024
abcf5ce
Improve branches avoiding cradle lines.
ThomasRahm Apr 24, 2024
aed739c
Added performance logging to generateInitialAreas
ThomasRahm Apr 25, 2024
1a7db83
Improved performance and fixed regression that could cause branches b…
ThomasRahm Apr 25, 2024
93f53f1
Fix issue causing force initial layer diameter to be always applied f…
ThomasRahm Apr 25, 2024
9637267
Merge remote-tracking branch 'upstream/5.7' into tree_support_2
ThomasRahm Apr 25, 2024
ba8208d
Refactoring to enable adding cradle to regular support later
ThomasRahm May 1, 2024
2cec577
Fix roof cradle base calculation creating non-supportable bases
ThomasRahm May 2, 2024
a79c0de
Fix rounding errors in handleCradleLineValidity.
ThomasRahm May 2, 2024
b07e7fd
Fix support of cradle lines by fixing the reduction
ThomasRahm May 2, 2024
9aa2fad
Fix cradle roof base z distance if no fractional roof is present and …
ThomasRahm May 2, 2024
5efba20
Fix tip density for cradle lines if cradle tips size is small.
ThomasRahm May 2, 2024
b7405e2
Fix roof generating for areas that are handled by cradle bases or lin…
ThomasRahm May 2, 2024
aece378
Ensure that cradle lines can not intersect with already added roof. P…
ThomasRahm May 3, 2024
38050cb
Fix guaranteed line below large cradle base.
ThomasRahm May 3, 2024
8eccb43
Fix missing cradle lines if cradle line count is odd
ThomasRahm May 24, 2024
2731a2b
Showcase for viability of deformation support using cradle using dumm…
ThomasRahm May 28, 2024
fbbf9fa
Fix roof generating for areas that are handled by cradle bases or lin…
ThomasRahm Jun 3, 2024
9d1ebf2
Ensure that cradle lines can not intersect with already added roof. P…
ThomasRahm May 3, 2024
60d8b95
Fix guaranteed line below large cradle base.
ThomasRahm May 3, 2024
d77e87b
Fix missing cradle lines if cradle line count is odd
ThomasRahm May 24, 2024
ae25532
Fix issue causing support lines to overlap with the model
ThomasRahm Jun 3, 2024
fba4d7b
Fix issue causing support skin lines to overlap with the model
ThomasRahm Jun 3, 2024
798ad56
Ensure support skin is generated below holes that can not be removed
ThomasRahm Jun 3, 2024
cc8147b
Merge remote-tracking branch 'upstream/5.7' into tree_support_2
ThomasRahm Jun 3, 2024
11b4a76
Fix regression causing hole removal to not work correctly.
ThomasRahm Jun 4, 2024
6664a4f
Change non-removable hole detection, to prevent potential issues with…
ThomasRahm Jun 4, 2024
ebd3255
Merge branch 'refs/heads/tree_support_2' into cradle_deformation_support
ThomasRahm Jun 15, 2024
4e3b961
Make deformation determination linear.
ThomasRahm Jul 3, 2024
3a175f3
Refactoring and initial handling of horizontal movement.
ThomasRahm Jul 5, 2024
5e03048
Fix crash occurring when cradle z distance is smaller than z distance.
ThomasRahm Jul 5, 2024
4bacc1b
Merge branch 'refs/heads/tree_support_2' into cradle_deformation_support
ThomasRahm Jul 5, 2024
8bb3e50
MFEM initial testing.
ThomasRahm Jul 23, 2024
f26a916
Merge remote-tracking branch 'refs/remotes/upstream/5.8' into tree_su…
ThomasRahm Jul 24, 2024
c0e46cb
Adapt to new Shape and LinesSets after merge. Also add back all funct…
ThomasRahm Jul 25, 2024
ae63e19
Fix cradle lines stopping because of too long jumps caused by xy dist…
ThomasRahm Jul 26, 2024
30ea4f3
Merge branch 'refs/heads/tree_support_2' into cradle_deformation_support
ThomasRahm Jul 26, 2024
2195fd7
Improve performance of deformation estimation heuristic.
ThomasRahm Aug 2, 2024
ee6236b
Settings for deformation heuristic. User facing name: Side Cradle
ThomasRahm Aug 2, 2024
38be093
Fixes in toMfemMesh demo
ThomasRahm Aug 2, 2024
a249dc0
Add rasterized toMfemMesh
ThomasRahm Aug 16, 2024
4b9a595
Merge remote-tracking branch 'refs/remotes/upstream/5.8' into tree_su…
ThomasRahm Aug 16, 2024
bd48518
Merge branch 'refs/heads/tree_support_2' into cradle_deformation_support
ThomasRahm Aug 16, 2024
f67fa9f
Added z scan height experimentally, set mu and lambda to PLA values a…
ThomasRahm Aug 28, 2024
ad51551
Fix for issue https://github.com/Ultimaker/Cura/issues/19586 in the c…
ThomasRahm Aug 28, 2024
2cd5fef
Improve heuristic a bit
ThomasRahm Aug 31, 2024
6e73eb8
Add ability to manually place cradles, refactor the way support modif…
ThomasRahm Sep 6, 2024
5a7a068
Add initial support for cradles if normal support is used.
ThomasRahm Sep 11, 2024
bf69b1b
Merge branch 'refs/heads/tree_support_2' into cradle_deformation_support
ThomasRahm Sep 11, 2024
85bca65
Fix cradle generation wrongly being called twice if tree support is used
ThomasRahm Sep 13, 2024
06c6488
Improve resiliency if TreeModelVolumes is used without precalculating…
ThomasRahm Sep 17, 2024
340e70f
Fix support for cradle being placed to far up if the cradle is roof.
ThomasRahm Sep 18, 2024
3a4fd0d
Improve manual side cradle handling
ThomasRahm Sep 18, 2024
6d315ce
Merge branch 'refs/heads/tree_support_2' into cradle_deformation_support
ThomasRahm Sep 18, 2024
189e0a7
Improve automatic side cradle generation
ThomasRahm Oct 15, 2024
66eb035
Fix angle calculation in the deformation estimation
ThomasRahm Oct 16, 2024
e22fb50
Fix layer height influencing side cradle placement again
ThomasRahm Oct 16, 2024
1d93981
Remove mfem from this branch. Comparing it to this will be done in an…
ThomasRahm Oct 16, 2024
a9d75ef
Initial refactoring of deformation estimation when parts of the model…
ThomasRahm Oct 18, 2024
276ebfc
Add unit test showcasing bug in convex hull
casperlamboo Oct 19, 2024
f118567
Fix issue with convex hull
casperlamboo Oct 19, 2024
39ed2a0
Applied clang-format.
casperlamboo Oct 19, 2024
fb163d6
A lot of fixes for the deformation estimation.
ThomasRahm Oct 21, 2024
d7d1f71
Implement functionality to select whether cradle lines should be prin…
ThomasRahm Nov 4, 2024
3150496
Fix issue caused by previous refactoring and remove not needed code
ThomasRahm Nov 28, 2024
6bdfa84
Fix simulated connections for deformation estimation not being correc…
ThomasRahm Dec 7, 2024
457c0c3
Implement functionality to select whether cradle lines should be prin…
ThomasRahm Nov 4, 2024
df2000f
Changes to automatic side cradle estimation, to better follow simulat…
ThomasRahm Dec 12, 2024
090128c
Fix bug causing wrong avoidance area precalculations later.
ThomasRahm Jan 17, 2025
5fcf18f
Remove not working code, intended to estimate stability of elements n…
ThomasRahm Jan 17, 2025
9ae2c84
Improve formatting of a log-message
ThomasRahm Jan 17, 2025
b231fa7
Some refactoring of deformation estimation
ThomasRahm Feb 1, 2025
2963a3d
Merge remote-tracking branch 'refs/remotes/upstream/5.9' into cradle_…
ThomasRahm Feb 1, 2025
be73ea2
Some fixed of errors caused by previous merge
ThomasRahm Feb 1, 2025
aa1c577
Tree support cradle fixes
ThomasRahm Feb 2, 2025
a31716e
Another attempt at detecting nested parallel_for calls, as the previo…
ThomasRahm Feb 3, 2025
b7f629e
Remove not needed code in deformation estimation
ThomasRahm Feb 20, 2025
24fd56e
Use npmpackage 1.0.0
jellespijker Feb 27, 2025
236f1e8
Remove indirect conan dependencies
wawanbreton Mar 3, 2025
56de092
Bump boost version
wawanbreton Mar 3, 2025
8f186ca
Add early-out for when no support is required
wawanbreton Mar 4, 2025
181c5d9
CURA-12438 Add early-out for when no support is required (#2207)
HellAholic Mar 5, 2025
dd74a65
Give priority to briding when both flooring and bridging are possible
wawanbreton Mar 7, 2025
348ec2d
Apply clang-format
wawanbreton Mar 7, 2025
7ae0531
CURA-12450 Flooring settings override bridging settings (#2208)
HellAholic Mar 10, 2025
3706d0a
Fix race condition sometimes causing a crash
ThomasRahm Mar 10, 2025
c8b78b7
Add cradle line direction setting
ThomasRahm Mar 11, 2025
8ded644
Use call_once instead of locking in TreeSupportBaseCircle
ThomasRahm Mar 12, 2025
0247ed5
Fix Cradle Line Direction setting not working correctly
ThomasRahm Mar 12, 2025
8e42641
Improve vertical smoothness of cradle lines
ThomasRahm Mar 12, 2025
48fe2f8
Ensure correct cradle_xy_distance when cradle direction direct is used
ThomasRahm Mar 13, 2025
2bdff74
Merge remote-tracking branch 'refs/remotes/upstream/5.10' into cradle…
ThomasRahm Mar 13, 2025
c5eeccc
Fix wrong returned index
wawanbreton Mar 17, 2025
8f95cdc
Fix wrong returned index (#2211)
HellAholic Mar 17, 2025
3bf923f
Set conan package version 5.10.0
HellAholic Mar 17, 2025
b3668fc
Fix early-out also skipping support-meshes.
rburema Mar 18, 2025
9a7cc3c
Apply clang-format
rburema Mar 18, 2025
e00efa2
Add relevant header for 'assert'.
rburema Mar 19, 2025
237e413
[CURA-12478] Fix early-out also skipping support-meshes. (#2212)
HellAholic Mar 19, 2025
39482a9
Use bridging settings for walls over flooring
wawanbreton Mar 20, 2025
f688087
Use bridging settings for walls over flooring (#2217)
HellAholic Mar 21, 2025
db5350c
Reduced chance for a cradle connection (If direction setting is close…
ThomasRahm Mar 22, 2025
05937f7
Fix crash when displacement estimation is active.
ThomasRahm Mar 22, 2025
404a9da
Merge remote-tracking branch 'refs/remotes/upstream/5.10' into cradle…
ThomasRahm Mar 25, 2025
682dda8
Fix crash caused by new support blocker implementation
ThomasRahm Apr 2, 2025
056c7d9
Merge branch 'refs/heads/cradle_deformation_support' into tree_support_2
ThomasRahm Apr 2, 2025
2657473
Tagged most remaining todos in tree support/cradle code.
ThomasRahm Apr 22, 2025
34193ef
Simplified simulated connection width in the automatic cradle placeme…
ThomasRahm Apr 28, 2025
402c006
Deduplicated a small piece of code in tree support code.
ThomasRahm Apr 29, 2025
effb8b6
Added missing todo tags to TreeSupportCradle.h
ThomasRahm Apr 29, 2025
1a9456f
Move hardcoded tree support settings into TreeSupportSettings.h to pr…
ThomasRahm Apr 29, 2025
3b973dc
Renaming settings names and class names as Cradle functionality is no…
ThomasRahm May 1, 2025
6740737
Refactored getFirstAntiPreferredLayerIdx into getMaxLayerIdxWithoutAn…
ThomasRahm May 1, 2025
9506158
Removed old debug printf
ThomasRahm May 1, 2025
d5587cd
Some formatting improvements in cradle code.
ThomasRahm May 1, 2025
7a049d8
More code quality improvements.
ThomasRahm May 2, 2025
525b35a
Prevented vertical gap in roof cradle line when Cradle Roof Type is C…
ThomasRahm May 2, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ set(engine_SRCS # Except main.cpp.
src/geometry/Polyline.cpp
src/geometry/ClosedPolyline.cpp
src/geometry/MixedLinesSet.cpp
src/SupportCradle.cpp
)

add_library(_CuraEngine STATIC ${engine_SRCS} ${engine_PB_SRCS})
Expand Down
4 changes: 2 additions & 2 deletions conandata.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "5.10.0-beta.1"
version: "5.10.0"
commit: "unknown"
requirements:
- "scripta/[>=1.1.0]@ultimaker/testing"
Expand All @@ -7,4 +7,4 @@ requirements_arcus:
requirements_plugins:
- "curaengine_grpc_definitions/0.3.1"
requirements_cura_resources:
- "cura_resources/5.10.0-beta.1"
- "cura_resources/5.10.0"
9 changes: 2 additions & 7 deletions conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class CuraEngineConan(ConanFile):
exports = "LICENSE*"
settings = "os", "compiler", "build_type", "arch"
package_type = "application"
python_requires = "sentrylibrary/1.0.0", "npmpackage/[>=1.0.0]@ultimaker/np_637"
python_requires = "sentrylibrary/1.0.0", "npmpackage/[>=1.0.0]"
python_requires_extend = "sentrylibrary.SentryLibrary"

options = {
Expand Down Expand Up @@ -108,8 +108,6 @@ def validate(self):

def build_requirements(self):
self.test_requires("standardprojectsettings/[>=0.2.0]")
if self.options.enable_arcus or self.options.enable_plugins:
self.tool_requires("protobuf/3.21.12")
if not self.conf.get("tools.build:skip_test", False, check_type=bool):
self.test_requires("gtest/1.14.0")
if self.options.enable_benchmarks:
Expand All @@ -126,16 +124,13 @@ def requirements(self):
self.requires(req)
if self.options.enable_plugins:
self.requires("neargye-semver/0.3.0")
self.requires("asio-grpc/2.9.2")
for req in self.conan_data["requirements_plugins"]:
self.requires(req)
if self.options.with_cura_resources:
for req in self.conan_data["requirements_cura_resources"]:
self.requires(req)
if self.options.enable_arcus or self.options.enable_plugins:
self.requires("protobuf/3.21.12")
self.requires("clipper/6.4.2@ultimaker/stable")
self.requires("boost/1.83.0")
self.requires("boost/1.86.0")
self.requires("rapidjson/cci.20230929")
self.requires("stb/cci.20230920")
self.requires("spdlog/1.12.0")
Expand Down
10 changes: 5 additions & 5 deletions include/FffGcodeWriter.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include "FanSpeedLayerTime.h"
#include "GCodePathConfig.h"
#include "LayerPlanBuffer.h"
#include "SupportInfillPart.h"
#include "gcodeExport.h"
#include "utils/LayerVector.h"
#include "utils/NoCopy.h"
Expand Down Expand Up @@ -377,7 +378,7 @@ class FffGcodeWriter : public NoCopy
const SliceMeshStorage& mesh,
const size_t extruder_nr,
const MeshPathConfigs& mesh_config,
const SliceLayerPart& part,
SliceLayerPart& part,
LayerPlan& gcode_layer) const;

/*!
Expand Down Expand Up @@ -448,7 +449,7 @@ class FffGcodeWriter : public NoCopy
const SliceMeshStorage& mesh,
const size_t extruder_nr,
const MeshPathConfigs& mesh_config,
const SliceLayerPart& part) const;
SliceLayerPart& part) const;

/*!
* Generate the a spiralized wall for a given layer part.
Expand Down Expand Up @@ -649,12 +650,11 @@ class FffGcodeWriter : public NoCopy
* layer.
*
* \param[in] storage Where the slice data is stored.
* \param[in] support_roof_outlines which polygons to generate roofs for.
* \param[in] current_roof_config config to be used.
* \param[in] support_roof_outlines Collection of polygons to generate roofs for.
* \param gcodeLayer The initial planning of the g-code of the layer.
* \return Whether any support skin was added to the layer plan.
*/
bool addSupportRoofsToGCode(const SliceDataStorage& storage, const Shape& support_roof_outlines, const GCodePathConfig& current_roof_config, LayerPlan& gcode_layer) const;
bool addSupportRoofsToGCode(const SliceDataStorage& storage, const std::vector<SupportInfillPart>& support_roof_outlines, LayerPlan& gcode_layer) const;

/*!
* Add the support bottoms to the layer plan \p gcodeLayer of the current
Expand Down
11 changes: 10 additions & 1 deletion include/PathOrderOptimizer.h
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,7 @@ class PathOrderOptimizer

// For some Z seam types the start position can be pre-computed.
// This is faster since we don't need to re-compute the start position at each step then.
precompute_start &= seam_config_.type_ == EZSeamType::RANDOM || seam_config_.type_ == EZSeamType::USER_SPECIFIED || seam_config_.type_ == EZSeamType::INTERNAL_SPECIFIED || seam_config_.type_ == EZSeamType::SHARPEST_CORNER;
if (precompute_start)
{
for (auto& path : paths_)
Expand Down Expand Up @@ -622,7 +623,7 @@ class PathOrderOptimizer
}

const bool precompute_start = path->seam_config_.type_ == EZSeamType::RANDOM || path->seam_config_.type_ == EZSeamType::USER_SPECIFIED
|| path->seam_config_.type_ == EZSeamType::SHARPEST_CORNER;
|| path->seam_config_.type_ == EZSeamType::INTERNAL_SPECIFIED || seam_config_.type_ == EZSeamType::SHARPEST_CORNER;
if (! path->is_closed_ || ! precompute_start) // Find the start location unless we've already precomputed it.
{
path->start_vertex_ = findStartLocation(*path, start_position);
Expand Down Expand Up @@ -714,6 +715,14 @@ class PathOrderOptimizer
{
if (! path.is_closed_)
{
if (seam_config_.type_ == EZSeamType::INTERNAL_SPECIFIED)
{
if(getDirectDistance(path.converted_->back(), seam_config_.pos_) < getDirectDistance(path.converted_->front(), seam_config_.pos_))
{
return path.converted_->size() - 1; // Back end is closer.
}
return 0;
}
// For polylines, the seam settings are not applicable. Simply choose the position closest to target_pos then.
const coord_t back_distance
= (combing_boundary_ == nullptr) ? getDirectDistance(path.converted_->back(), target_pos) : getCombingDistance(path.converted_->back(), target_pos);
Expand Down
1 change: 1 addition & 0 deletions include/SkeletalTrapezoidationEdge.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#ifndef SKELETAL_TRAPEZOIDATION_EDGE_H
#define SKELETAL_TRAPEZOIDATION_EDGE_H

#include <cassert>
#include <list>
#include <memory> // smart pointers
#include <vector>
Expand Down
Loading