Commit graph

5328 commits

Author SHA1 Message Date
PavelMikus
8c290a2f85 Fix integration of curled filament avoidance -
Invalidate the estiamtion step on option switch
Also, improve cases where either start or end lays on curled edge.
2022-11-18 13:16:54 +01:00
Vojtech Bubnik
19e7c55a2a TreeSupports: Debugging the collision caches 2022-11-18 12:27:23 +01:00
Vojtech Bubnik
3713f09a8e Follow-up to 30fbdd1235
Fixed one more bug in Z chaining of layer islands.
2022-11-16 18:41:48 +01:00
Vojtech Bubnik
30fbdd1235 Fixed Z chaining of layer islands. 2022-11-16 18:14:42 +01:00
Vojtech Bubnik
70b1b4dfbf Fixed extrusion of gap fill of classic perimeter generator
after recent refactoring / sorting of extrusions into LayerIslands.
2022-11-16 15:27:17 +01:00
Vojtech Bubnik
fe51f77839 Improvements in performance of Medial Axis algorithm.
Fixes Slicing slows or hangs on "Generating Permiters 20%" cpu load is at 100% #8164
Fixes Slicing hangs on generating perimeters with thing:3565827 (30g) #3259
2022-11-16 12:03:31 +01:00
Pavel Mikuš
294839eb24
Improve performance of extra perimeters on overhangs (#9)
Use polygons instead of ExPolygons
remove unnecessary unions of expensive areas
Smoothen the anchors via opening and closing
2022-11-16 11:33:00 +01:00
Vojtech Bubnik
0a84421ea4 Fixing after recent refactoring: Missing forward declaration. 2022-11-15 19:20:16 +01:00
Vojtech Bubnik
8190eb4fe6 Fixed some compilation errors and warnings. 2022-11-15 18:44:38 +01:00
Vojtech Bubnik
1307fbf2f6 Fixed performance issues of PerimeterGenerator with
extremely detailed chain fabric models, for example
Fabric_of_Thyme_2.0_23x23
2022-11-15 18:28:56 +01:00
Vojtech Bubnik
babc8a88a1 clip_clipper_polygon_with_subject_bbox() and diff_clipped() extracted
from TreeSupports to ClipperUtils to be generally available.
diff_clipped() is an optimized version clipping the "clipping" polygon
using clip_clipper_polygon_with_subject_bbox().
To be used with complex clipping polygons, where majority
of the clipping polygons are outside of the source polygon.
2022-11-15 16:54:26 +01:00
Vojtech Bubnik
db3f696888 Fixed ExPolygon::overlaps(), which was not commutative.
Wrote unit tests for Clipper polyline clipping operations.
Rewrote ExPolygon unit tests from Perl to C++.
2022-11-15 15:32:16 +01:00
Vojtech Bubnik
f1c0c61895 Refactored Point / MultiPoint / Polyline / Polygon:
1) Removed virtual methods. There was not really need for them.
2) Some of the virtual methods were using conversion to Lines, which
   was unnecessary and expensive.
3) Removed some nearest element search methods from Point.
2022-11-14 19:01:17 +01:00
Vojtech Bubnik
9dca8403fe ClipperLib: Optimized PointInPolygon() to calculate cross products
with int64s instead of doubles.
Polygon / ExPolygon: contains() reworked to use ClipperLib::PointInPolygon().
	The Slic3r own implementation was not robust.
Fixed test_perimeters after recent refactoring (sorting of extrusions
	into LayerIslands)
2022-11-14 15:17:04 +01:00
PavelMikus
a0243affeb fix avoidance algorithm, improve curling filament estimation 2022-11-14 11:47:25 +01:00
Lukas Matena
b3183cb277 Measurement: Fixed a bug in circles detection (failing assert) 2022-11-09 15:00:59 +01:00
Filip Sykala - NTB T15p
c052ff403a Merge branch 'master' into fs_emboss 2022-11-09 14:07:26 +01:00
Pavel Mikuš
633ce8aa21
Pm jps path finding (#8)
New step - estimation of curling on both the model and the support extrusions.
Improvements in curled filament estimation algortihm
Implementation of Jump Point Search algorithm 
Use of JPS algorithm to avoid curled extrusions during travel moves in Gcode export
2022-11-09 13:33:58 +01:00
Filip Sykala - NTB T15p
02bfcc921a Merge branch 'master' into fs_emboss 2022-11-09 12:10:29 +01:00
Pavel Mikuš
06fbab12fe
Pm overhang extra perimeters (#7)
Implementation of extra perimeters on steep overhangs/flat unsupported parts
Also contains:
Principal components computation over polygon area
New fast bridge direction estimation which minimizes amount of unanchored bridge endpoints
2022-11-09 10:38:36 +01:00
Filip Sykala - NTB T15p
58c028d904 Add invalidation of wx font list when open combo box. Fix issue with new installed fonts 2022-11-08 14:54:46 +01:00
Filip Sykala - NTB T15p
fce4f1f24e Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Technologies.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
2022-11-08 13:28:43 +01:00
Filip Sykala - NTB T15p
aa00da1b7e Add log for not openable font file 2022-11-08 13:27:02 +01:00
Lukas Matena
a09c269584 Measurement: make the edge endpoint detection threshold smaller for short edges 2022-11-08 12:31:26 +01:00
enricoturri1966
8681770eaa Tech ENABLE_NEW_CAMERA_MOVEMENTS set as default 2022-11-08 09:05:57 +01:00
Vojtech Bubnik
5eaec515ba Follow-up to f24b4e86a9:
Refactoring of G-code export to LayerSlices / LayerIslands:
Fixed some bugs
2022-11-07 20:00:34 +01:00
Vojtech Bubnik
28f8997dd3 Follow-up to f24b4e86a9:
Fixed compilation on OSX
Fixed incorrect clear of LayerIslands.
2022-11-07 17:26:48 +01:00
Vojtech Bubnik
f24b4e86a9 Follow-up to f342bfae4e
as GCC did not like what MSVC was able to swallow.
2022-11-07 16:30:11 +01:00
Vojtech Bubnik
f342bfae4e Improved const correctness of ToolOrdering. 2022-11-07 16:00:13 +01:00
Filip Sykala - NTB T15p
c77f8373bd Merge branch 'master' into fs_emboss
# Conflicts:
#	src/libslic3r/Technologies.hpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/Gizmos/GLGizmosManager.cpp
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/Selection.hpp
2022-11-07 15:44:33 +01:00
Vojtech Bubnik
3cdacd700c Merged with master 2022-11-07 14:51:07 +01:00
Vojtech Bubnik
8858651bf4 WIP Refactoring of Layers: Reworked G-code export to make use
of Layer->LayerSlice->LayerIsland hierarchy. This should improve
tool path ordering of multiple parts within the same object #5511.

Some shells tests rewritten from Perl to C++.

FIXME: Gap fill extrusions are currently not handled by the initial
G-code preview!
2022-11-07 14:47:43 +01:00
enricoturri1966
5df2713010 Measuring - Fixed transformation of distance_xyz 2022-11-07 14:46:21 +01:00
Lukáš Hejl
411535ecdf Fixed undefined behavior (dereferencing std::unique_ptr pointing to nullptr) in the G-Code processing pipeline. 2022-11-07 10:09:49 +01:00
enricoturri1966
a0a0b0d253 Measuring - Keep showing dimensioning after scaling 2022-11-07 09:58:25 +01:00
Filip Sykala - NTB T15p
e531df6dbb Merge branch 'ys_emboss_with_master' into fs_emboss 2022-11-04 13:00:09 +01:00
Lukas Matena
0c88b5712a Measurement: Circles filtering (part 2) 2022-11-04 11:52:44 +01:00
Lukas Matena
d07537c1f0 Measurement: Merge adjacent edges 2022-11-04 11:52:44 +01:00
Lukas Matena
4b9630c23b Measurement: Circles filtering (part 1) 2022-11-04 11:52:44 +01:00
Filip Sykala - NTB T15p
d2da63db41 Fix of bad font glyph shape 2022-11-03 14:55:49 +01:00
enricoturri1966
7650be770c Measuring: tweak to calculation of edge-edge distance 2022-11-03 14:24:28 +01:00
enricoturri1966
05e82b1fc5 Measuring: validation for zero distance moved from backend to frontend 2022-11-03 13:20:35 +01:00
Lukas Matena
dda0b50b5c Fixed a crash in measuring backend when handling broken models 2022-11-03 12:14:27 +01:00
Vojtech Bubnik
6e653d9070 Merge remote-tracking branch 'remotes/origin/master' into vb_treesupports 2022-11-02 17:21:36 +01:00
Vojtech Bubnik
386cfae546 WIP Refactoring of Layers: Sorting of infill extrusions into LayerIslands.
FIXME: Gap fill extrusions are currently not handled!
2022-11-02 17:20:23 +01:00
Vojtech Bubnik
409fae6183 WIP Refactoring of Layers: LayerIslands filled in with perimeter
extrusions, gap fill extrusions and fill regions.
2022-11-02 12:59:31 +01:00
enricoturri1966
48e90be2bc Fixed conflicts after merge with master 2022-11-02 09:08:35 +01:00
enricoturri1966
da5a9277fa Tech ENABLE_MEASURE_GIZMO set as default 2022-11-02 08:50:12 +01:00
YuSanka
8914dfa1f6 Next fix, related to #8800
* PrintApply: Suppress to apply print when just a physical printer was changed, but printer preset stays the same
* Tab: Layout the buttons bar when switch from the physical printer to printer preset and vice versa
2022-11-01 14:57:19 +01:00
enricoturri1966
2c9d047520 Fixed conflicts after merge with master 2022-10-31 14:59:41 +01:00