PavelMikus
62c3ca5e99
gui integration, overhang angle hack
2022-08-22 11:01:58 +02:00
PavelMikus
14f109e703
refactored local issues to use overhang distance
2022-08-22 11:01:58 +02:00
PavelMikus
ea76977602
Quick fix for invalidation of support spots search
2022-08-22 11:01:58 +02:00
PavelMikus
1d4f41a2fd
improved option logic, custom setting for object soe that it uses the painted supports
2022-08-22 11:01:58 +02:00
PavelMikus
2401556193
most extreme fiber is now taken from the current island.. this is not correct, but
...
from all aproximations it gives best results
2022-08-22 11:01:58 +02:00
PavelMikus
ff73cd253e
fix extreme fibre distance calculation
2022-08-22 11:01:58 +02:00
PavelMikus
a6cf309020
updated weakest connection strength estimation,
...
fixed various issues
2022-08-22 11:01:58 +02:00
PavelMikus
dbe864ea8a
refactor to use covariance to best estimate XY variance of the connection and thus second moment of area
2022-08-22 11:01:58 +02:00
PavelMikus
9cfde724f1
fix numerical issues in stability calculations
2022-08-22 11:01:58 +02:00
PavelMikus
90e77f9135
integration into FDM supports painter gizmo
2022-08-22 11:01:58 +02:00
PavelMikus
cdf68039f7
fixed bug with zero area section modulus returning nans
2022-08-22 11:01:58 +02:00
PavelMikus
2808e41238
reworked bed adhesion model to use elastic section modulus
...
fixed units
updated bed adhesion value
2022-08-22 11:01:58 +02:00
PavelMikus
3f7f5ec0ed
Lowered default extrusion conflict force - it probably needs more adjusting,
...
after the bed adhesion is reworked with elastic section modulus
2022-08-22 11:01:58 +02:00
PavelMikus
50e7cc9d4c
fix bug with removed object parts which were still referenced by other islands
2022-08-22 11:01:58 +02:00
PavelMikus
9ff0d49fae
Implemented calculation of elastic section modulus
2022-08-22 11:01:58 +02:00
PavelMikus
ed1c4d99a7
Weakest connection break check also implemented.
...
Tensile force however might be too low approximation.
2022-08-22 11:01:58 +02:00
PavelMikus
3b029cef05
another bulk of fixes
...
GLOBAL STABILITY check works
2022-08-22 11:01:58 +02:00
PavelMikus
07049b849e
fixed various bugs
2022-08-22 11:01:58 +02:00
PavelMikus
8723fb22bb
add pivot tree into ObjectPart struct
2022-08-22 11:01:58 +02:00
PavelMikus
3d1f2f0cb6
implemented graph traversal, keeping the segments and the location of the weakest point for each island
2022-08-22 11:01:58 +02:00
PavelMikus
9afb350cdd
remove noisy debug info
2022-08-22 11:01:58 +02:00
PavelMikus
1e4b56cc85
fix crashing when extrusion is not assigned island
...
Add voxel filter grid for supports padding
2022-08-22 11:01:58 +02:00
Pavel Mikus
f311ccbc4c
basic implementation should be complete, bugs not fixed, last iteration copied
2022-08-22 11:01:58 +02:00
PavelMikus
3e47b19b86
added computation of stability accors the object graph, but not finished yet
2022-08-22 11:01:58 +02:00
PavelMikus
7743bf2502
store pointer to original extrusion in each line
2022-08-22 11:01:58 +02:00
PavelMikus
619309a1a4
bug fix - external extrusions were cleaned out before use
2022-08-22 11:01:58 +02:00
PavelMikus
0a8f70c1ba
inital phase of refactoring, segmentation should now build graph of connected sections
2022-08-22 11:01:58 +02:00
PavelMikus
263e16ca92
draft mode of recon_thin_islands, but not working properly
2022-08-22 11:01:58 +02:00
PavelMikus
91ec455fa3
remove unnecesary randomization
2022-08-22 11:01:58 +02:00
PavelMikus
0187ed855e
do not consider concave angles for curling, they actually improve the issue
2022-08-22 11:01:58 +02:00
PavelMikus
8e5cdf29ba
improve curling model parameters,
...
other small improvements
2022-08-22 11:01:58 +02:00
PavelMikus
cf94c44fd5
add voxel grid cache to suppress accumulation of stability support points
2022-08-22 11:01:58 +02:00
PavelMikus
6a971b462d
estimation of malformed and curled segments, increase extruder conflict power accordingly
2022-08-22 11:01:58 +02:00
PavelMikus
8e2e4154bd
description of the functions
2022-08-22 11:01:58 +02:00
PavelMikus
864c85d47e
replace convex hull computation with KDTree, improve sticking centroid estimation
2022-08-22 11:01:58 +02:00
PavelMikus
9294d5e604
improved triangle tracking in triangle selector - if not hit registered, nearest triangle is taken instead
2022-08-22 11:01:58 +02:00
PavelMikus
d5a584a2c2
fixed bug with base layers merging to single accumulator
2022-08-22 11:01:58 +02:00
PavelMikus
eaffb14921
Improved stability supports - now accounts for base convex hull, decreases area of points if too close.
2022-08-22 11:01:58 +02:00
PavelMikus
8dc3956b64
bug fixes, raycasting to find good support spot
2022-08-22 11:01:58 +02:00
PavelMikus
bef26fee2b
Bugfixing and refactoring
2022-08-22 11:01:58 +02:00
PavelMikus
08071d85ee
integration of the simple physical model into the refactored version
2022-08-22 11:01:58 +02:00
PavelMikus
30f072457f
Refactored version without voxel grid, init commit
2022-08-22 11:01:58 +02:00
PavelMikus
51d738c564
refactored algorithm to use AABB tree instead of edge grid
2022-08-22 11:01:58 +02:00
PavelMikus
ad4502d96e
implemented AABBTree version for lines
2022-08-22 11:01:58 +02:00
PavelMikus
e39d14bf98
finished base for curling stability tests
...
added comments
2022-08-22 11:01:58 +02:00
PavelMikus
4144b73ccd
curling estimation improvements
2022-08-22 11:01:58 +02:00
PavelMikus
609f42fb18
refactoring, pressure points extracted but not accounted for
2022-08-22 11:01:58 +02:00
PavelMikus
68243edc65
vastly improved computational time by optimizing the convex hull computations
2022-08-22 11:01:58 +02:00
PavelMikus
49e6d15a67
vastly improved curling detection, 3d histogram of curled height now corresponds
...
with real prints
2022-08-22 11:01:58 +02:00
Godrak
9b290bd211
debug info, problem with random freezing, also support point downward projection still has issues
2022-08-22 11:01:58 +02:00
Godrak
91a4047586
Fixed various problems with support placement.
2022-08-22 11:01:58 +02:00
PavelMikus
6f6a0e7efd
Another bulk of bug fixes. Some problems however persist, support points are still placed on weird spots
2022-08-22 11:01:58 +02:00
PavelMikus
6caec6926c
TON of bugfixes, balancing still does not work
2022-08-22 11:01:58 +02:00
Godrak
824e3f111e
extended model with balance checking - centroids of segments, bed adhesion, supports adhesion, model stability
2022-08-22 11:01:58 +02:00
Godrak
5cc9bd380b
Compilation fixes after rebase
2022-08-22 11:01:58 +02:00
Godrak
148b24bd93
accumulators given base height;
...
object base split to separate islands by connectivity
2022-08-22 11:01:58 +02:00
PavelMikus
d9bd1080da
UNFINISHED!
...
refactoring of algorithm to bottom up propagation of support islands
Added CentroidAccumulators for balance issues checking
2022-08-22 11:01:58 +02:00
PavelMikus
f0bdf2760c
improved voxelization - fixed bugs with sinking objects.
...
testing version of flooding the weight matrix
2022-08-22 11:01:58 +02:00
PavelMikus
cfe9b27a6d
refactoring,
...
initial work on weight distribution matrix
2022-08-22 11:01:58 +02:00
PavelMikus
a46e1dc79c
initial works on EdgeGrid alternative
2022-08-22 11:01:58 +02:00
PavelMikus
c14b4a5d2e
quick search simplified, removed expensive layer estimators
...
added explanations and comments
2022-08-22 11:01:58 +02:00
PavelMikus
1955cd066e
include external_perimeters_first option, change paramters accordingly
2022-08-22 11:01:58 +02:00
PavelMikus
d41b20547d
greatly upgraded the algorithm for support placement -
...
added dynamic splitting of long paths,
included flow width of current and previous layer,
refactored and renamed parameters
2022-08-22 11:01:58 +02:00
PavelMikus
e516ba0dd0
Moved TriangleSelectorWrapper methods to cpp file, added comment describing problems with FacetsAnnotations/TriangleSelector
...
structure
2022-08-22 11:01:58 +02:00
PavelMikus
706cd63e61
Beta version of the algorithm
...
Implemented long unsupported segments detection, which considers also curvature
Implemented detection of curved segments at the edge of the previous layer - danger of warping/curling
2022-08-22 11:01:57 +02:00
PavelMikus
adf39805bc
work in progress:
...
hooked in new step: posSupportableIssuesSearch
created layout of the processing
2022-08-22 11:01:57 +02:00
Lukáš Hejl
8c0db761c1
Fix #8716 , #8717 , and #8718 : The pressure equalizer was producing a malformed GCode that caused underextrusion.
2022-08-19 15:07:11 +02:00
Vojtech Bubnik
781a9535db
Fixed performance issue at backgorund processing update
...
with a large number of modifier meshes:
Bounding box of a chain of modifier meshes overlapping with
an object bounding box was not correctly calculated (bounding boxes
were unioned instead of intersected).
2022-08-19 15:03:39 +02:00
Lukáš Hejl
f95a6e3d33
Follow-up to 263b23fb46
: Fixed an assert.
2022-08-19 09:09:59 +02:00
Lukáš Hejl
263b23fb46
Follow-up to 6f5813a849
: Recalculate infill surfaces when infill_only_where_needed is enabled while switching from the Lightning infill to another infill or vice versa.
2022-08-18 21:17:39 +02:00
PavelMikus
be9cae74a0
Random seam fix - pseudorandom generator instead of rand()
2022-08-18 17:19:58 +02:00
PavelMikus
d746ece41a
fix performance problem in seam placer - do not generate merged islands for each layer; use lslices insted
...
affects also overhang estiamtion and thus other params
2022-08-18 17:19:58 +02:00
Lukáš Hejl
952a6c882c
Fixed an issue that the wipe was shorter when it was located where extrusion width was changing.
2022-08-18 17:00:28 +02:00
Vojtech Bubnik
55835aa050
Optimization of GCodeViewer vertex buffer generator:
...
Rounding by round_to_bin() is now 2x faster on MSVC.
2022-08-18 13:32:30 +02:00
enricoturri1966
c497306a60
Disabled tech ENABLE_OPENGL_ES before merging branch et_opengl_es_rebase into master
2022-08-18 13:22:10 +02:00
enricoturri1966
2b996158d2
Merge branch 'master' of https://github.com/Prusa-Development/PrusaSlicerPrivate into et_opengl_es_rebase
2022-08-18 12:51:55 +02:00
Lukáš Hejl
499c2253bb
Fix of #8704 - Travels in spiral vase mode when Arachne is used.
...
Now Arachne is used just for bottom layers, and for spiralizer layers is used Classic perimeter generator.
2022-08-18 11:22:47 +02:00
Lukáš Hejl
6f5813a849
Fix of #8648 - Lightning infill wasn't connected to perimeters when it was combined with the option "Only infill where needed".
...
Now Lightning infill will ignore this setting and treat it as off. Because Lightning infill and "Only infill where needed" do a similar thing, and their combination doesn't make much sense.
2022-08-18 11:22:45 +02:00
Lukáš Hejl
2115b40728
Fixed incorrectly computed starting position in Concentric infill when Arachne is used.
2022-08-18 11:22:39 +02:00
Vojtech Bubnik
c03085a1f6
Performance improvement in G-code export for support material
...
in suppression of retracts when traveling over support regions.
2022-08-18 10:45:18 +02:00
Vojtech Bubnik
a93620621d
Performance improvement of GCodeProcessor:
...
Replaced std::string with std::string_view for constant parameters
Replaced boost:istarts_with() with boost::starts_with()
2022-08-18 10:33:26 +02:00
Vojtech Bubnik
01031779b7
Performance improvement of GCodeProcessor:
...
Replaced std::string with std::string_view for constant parameters
Replaced boost:istarts_with() with boost::starts_with()
2022-08-18 10:30:20 +02:00
Lukas Matena
e9f0f4bd0d
Fix error message (related to #8703 )
2022-08-17 22:21:09 +02:00
Vojtech Bubnik
42b546ae9c
WIP TreeSupports: Refactored TreeModelVolumes for clarity
2022-08-16 11:54:30 +02:00
Lukas Matena
43315fc1a1
Fixed missing retractions for travels crossing support islands
...
The bug was introduced in 576c167
(GCode.cpp)
2022-08-15 17:22:45 +02:00
Lukas Matena
deac513faa
Fixed conflicts after merge
2022-08-15 15:23:59 +02:00
Lukas Matena
bce2b148f4
Merged 2.5.0-beta1 into master (NO CONFLICTS FIXED)
2022-08-15 13:41:40 +02:00
Vojtech Bubnik
85e9ae75bb
WIP Tree Supports: Enabled support enforcers / blockers
2022-08-15 10:16:16 +02:00
Vojtech Bubnik
0cdc482615
Optimization: Replaced lrint() with round() as lrint() cannot be
...
inlined, at least not on MSVC.
2022-08-15 08:42:25 +02:00
Vojtech Bubnik
af7108f792
WIP Tree Supports: Bunch of fixes and optimizations
2022-08-15 08:41:24 +02:00
Lukáš Hejl
17e7b182ee
Follow-up to 0161a59a93
: Too big epsilon created tiny unconnected extrusions, so epsilon was changed to the smallest value that allows resolving rounding issues after division by two.
2022-08-12 09:48:34 +02:00
Lukáš Hejl
4fa76b2d8b
Reconnected endpoints of closed polyline when PolylineStitcher produced an open polyline mark as closed.
2022-08-12 09:48:34 +02:00
Lukáš Hejl
f60b88ba3e
Fix of #8597 - Assert on Windows about decrementing of std::vector::begin() in a specific case.
2022-08-12 09:48:34 +02:00
Lukáš Hejl
e838acdcd1
Added a lot of debugging outputs (SVG) into SkeletalTrapezoidation.
2022-08-12 09:48:34 +02:00
Lukas Matena
661bb522cf
Fixed compiler warnings
2022-08-12 09:40:19 +02:00
Lukas Matena
ea0a68a073
Merge branch lm_tm_step_sq into master_250
2022-08-11 16:51:32 +02:00
Lukas Matena
41f5bd006a
STEP: Improved error reporting on Linux
2022-08-11 16:49:13 +02:00
Lukas Matena
620b89d1c6
Add STEP into menu label, enable drag and drop
2022-08-11 16:49:13 +02:00
tamasmeszaros
aff337067b
Switch to statically linked OCCTWrapper on Apple.
...
Due to dmg notarization issues
2022-08-11 16:49:13 +02:00
tamasmeszaros
3f8979c95f
Use prusa-slicer executable dir to search for occt shared lib
2022-08-11 16:49:13 +02:00
tamasmeszaros
1fd4659f0e
Use resources dir for occt shared lib
2022-08-11 16:49:13 +02:00
Prusa Research a.s
7d3f0b4b32
Fixes on MacOS
2022-08-11 16:49:13 +02:00
tamasmeszaros
88ba89dbbc
STEP: Implementation ported from BambuStudio:
...
CMake handling is different
STEP: Removed preprocessing stage
STEP: Small refactoring
STEP: Bigger refactoring
STEP: Changed naming on loaded object and volumes:
If the STEP contains exactly one named volume, the object and its first
volume will both have that name. Otherwise, filename w/o suffix is used
as object name and volumes are named using names from the STEP (if there
is none, untranslated "PartN" string is used).
STEP: Load the libraries dynamically on Win
wip
2022-08-11 16:49:13 +02:00
PavelMikus
d39d35cc83
better curling fix, removed resamping, fixed the feature disable from previous commit
2022-08-11 15:30:51 +02:00
PavelMikus
8812036c25
slowly decreasing angle seam placement feature disabled
2022-08-11 15:30:51 +02:00
PavelMikus
0479387b20
reduce wavy seams for all layer heights, improve painting
2022-08-11 15:30:51 +02:00
PavelMikus
06084b0bc5
lower segment count on smooth parts
2022-08-11 15:30:51 +02:00
PavelMikus
3f36187101
increase segments count for smooth long strings
2022-08-11 15:30:51 +02:00
PavelMikus
52b9325f7c
improving dynamic segmentation, simplifications in snapping angle logic
2022-08-11 15:30:51 +02:00
PavelMikus
44a388d560
prefer enforcers over blockers, lower the threshold distance,
...
dynamic modification of segments count in alignment based on smoothnes
2022-08-11 15:30:51 +02:00
PavelMikus
a41435d044
fixed overhang estimation correclty
2022-08-11 15:30:51 +02:00
PavelMikus
af95b6ecbd
fix issue with enforced patches
...
refactor end_index to mark index after the last point
hackfix issue with overhang seem placement
2022-08-11 15:30:51 +02:00
PavelMikus
cb3678e1e2
fix bug in seam string weight - use seam string length as quality score
2022-08-11 15:30:51 +02:00
Lukáš Hejl
7dac30714b
Follow-up to 394494b3ac
: Fixed deceleration/acceleration issue also for gap-fill. Also, deceleration before bridge infill is now working.
2022-08-09 13:59:56 +02:00
Lukáš Hejl
c9ddf7315e
Replaced parameters wall_add_middle_threshold and wall_split_middle_threshold with automatic computation based on extrusion width.
...
That allows computed better values in cases when the extrusion width of the first layer or for the infill differs from the extrusion width for perimeters.
Parameters min_feature_size and wall_transition_length now can be set in percentages, and then they will be calculated based on nozzle size. Old profiles with default values are forced to replace old default values with new default values in percentages.
2022-08-08 10:21:55 +02:00
Vojtech Bubnik
b0af552455
WIP TreeSupports: Little optimization - don't use std::function,
...
don't make unnecessary copies of Polygons
2022-08-03 09:40:30 +02:00
Vojtech Bubnik
fd0c84319e
WIP Tree Supports: Fixed one integer overflow.
2022-08-02 14:09:44 +02:00
Vojtech Bubnik
167125a813
Fixed disabling of TBB parallelization on newer TBB
2022-08-02 13:39:20 +02:00
Vojtech Bubnik
f971c392fe
WIP TreeSupports: Some fixes, some clang specific workarounds,
...
some debugging code.
2022-08-02 13:36:05 +02:00
Vojtech Bubnik
6bf335409f
FillBase: Use logging instead of printf
2022-08-02 13:23:30 +02:00
Lukáš Hejl
1b934518b3
Modified text drawing methods in debugging visualization (SVG) to support changing font size.
2022-08-02 13:21:39 +02:00
Lukáš Hejl
caf3e258b8
Fixed compiler warnings.
2022-08-02 13:21:39 +02:00
Lukáš Hejl
0161a59a93
Fix of #8472 : The middle perimeter was missing for some specific configurations due to numeric rounding errors.
2022-08-02 13:21:39 +02:00
Lukáš Hejl
756eaeeb6d
Updated the comment about the missing twin edge in the post-processed Voronoi diagram.
2022-08-02 13:21:39 +02:00
Lukáš Hejl
7060f3d1b3
Fixed an issue that when wall_transition_filter_deviation contained a non-percent value, then it contained the wrong value.
2022-08-02 13:21:39 +02:00
Lukáš Hejl
2317e9c2b9
Added information that the concentric infill is also affected by the selected perimeter generator.
2022-08-02 13:21:39 +02:00
Vojtech Bubnik
5868028a7e
WIP Tree supports: It compiles and it produced first trees.
2022-07-29 13:15:01 +02:00
tamasmeszaros
b45bb84fa6
Another fix to find_merge_pt
2022-07-29 13:05:39 +02:00
tamasmeszaros
a55be29568
Fix failing tests for merge point search
...
Improvements and comments to find_merge_pt
2022-07-29 13:05:39 +02:00
tamasmeszaros
f3d4a90721
Fixes to compile on MSVC
2022-07-29 13:05:39 +02:00
tamasmeszaros
bf1303b9cf
Fix double parallelization
2022-07-29 13:05:39 +02:00
tamasmeszaros
064e9935d1
Fix dangling pinheads
2022-07-29 13:05:39 +02:00
tamasmeszaros
2cb74013be
Remove junk
2022-07-29 13:05:39 +02:00
tamasmeszaros
de3cbd483d
Try to increase query size with each failed attempt
...
TODO: check performance gain
2022-07-29 13:05:39 +02:00
tamasmeszaros
e6d49b75de
Make branching tree algorithm cancellable
2022-07-29 13:05:39 +02:00
tamasmeszaros
725f5c05e3
Change build_tree return value to void as its not used anywhere
2022-07-29 13:05:39 +02:00
tamasmeszaros
36ec731adf
Replace KDTreeIndirect with boost::rtree for queries of PointCloud
...
- rtree can be populated with junction points gradually
- Use repeated queries of 5 nearest reachable points in branching tree alg
2022-07-29 13:05:39 +02:00
tamasmeszaros
d7c5243300
Further increase widening scale
2022-07-29 13:05:39 +02:00
tamasmeszaros
1a8cf3b029
Change UNQUEUED to Unqueued to keep convensions
2022-07-29 13:05:39 +02:00
tamasmeszaros
63a58ce1ad
Require higher values for widening factor to have the same effect
2022-07-29 13:05:39 +02:00
tamasmeszaros
95374f9ed4
Fix some crashes
...
Fix minor bugs
2022-07-29 13:05:39 +02:00
tamasmeszaros
688c9c644f
Prevent merging with node being lower than closest point
2022-07-29 13:05:39 +02:00
tamasmeszaros
91c0741f61
Minor performance optimization
2022-07-29 13:05:39 +02:00
tamasmeszaros
8a78428d10
Add tests to find_merge_pt and make them pass
2022-07-29 13:05:39 +02:00
tamasmeszaros
371da354a0
Adjust configuration layer to better reflect tree strategies.
2022-07-29 13:05:39 +02:00
tamasmeszaros
6523bfdf99
Enable ground facing only option for branching tree
...
Essentially discards mesh nodes
2022-07-29 13:05:39 +02:00
tamasmeszaros
5d6d1f5234
Apply branch length setting from UI for branching tree
2022-07-29 13:05:39 +02:00
tamasmeszaros
4c3ba3f6bf
Fix tree struts piercing model body
...
Free path between the anchor and the last bridge was not verified
2022-07-29 13:05:39 +02:00
tamasmeszaros
7705ecd5aa
Fix indexing of heads after duplicate removal
2022-07-29 13:05:39 +02:00
tamasmeszaros
792779f2de
Fix creation of unchecked diffbridge in branching tree
2022-07-29 13:05:39 +02:00