12 Commits

Author SHA1 Message Date
Jan Bařtipán
2a593e6d29 Tests: added missing headers 2025-02-06 16:59:53 +01:00
Jan Bařtipán
2b01d14f7b Catch2 updated to v3.8, all tests migrated 2025-02-06 15:55:09 +01:00
Lukáš Hejl
fc0feed553 SPE-2597: Fix clipping logic for clipping arcs with negative radius.
When we are clipping the arc with a negative radius (we are taking the longer angle here), we have to check if we still need to take the longer angle after clipping.
Otherwise, we must flip the radius sign to take the shorter angle.
2024-12-13 10:29:23 +01:00
Lukáš Hejl
dfdc407fd6 Distill a test case for failing assert(p != prev) inside GCodeGenerator::_extrude(). 2024-11-04 15:13:18 +01:00
Lukáš Hejl
a27aea4598 Remove the unused variable new_radius in Arc Welder tests. 2024-01-04 10:22:27 +01:00
Vojtech Bubnik
5fede09c13 Fixing compilation on GCC 2023-10-02 10:32:48 +02:00
Vojtech Bubnik
a0441dac14 ArcWelder:
Reducing the chance of creating segments shorter than G-code quantization
distance.
Improving fitting by non-linear least squares.
2023-10-02 09:59:06 +02:00
Vojtech Bubnik
3d439c617c ArcWelder: Fixed warnings in unit tests. 2023-07-17 19:12:10 +02:00
Vojtech Bubnik
594e36c70a ArcWelder bugfixes 2023-07-17 14:18:56 +02:00
Vojtech Bubnik
9fe36fc300 WIP Arc interpolation bugfixes 2023-07-15 12:31:55 +02:00
Vojtech Bubnik
3df8da662e WIP Arc discretization, arc interpolation and unit tests. 2023-07-14 11:20:55 +02:00
Vojtech Bubnik
19062b4d5f ArcWelder path interpolation based on the work by Brad Hochgesang @FormerLurker.
WIP GCode/SmoothPath.cpp,hpp cache for interpolating extrusion path with arches.
Removed Perl test t/geometry.t, replaced with C++ tests.
Refactored ExtrusionEntity and derived classes to hold extrusion attributes in new ExtrusionFlow/ExtrusionAttributes classes.
Reworked path ordering in G-code export to never copy polylines, but to work with a new "flipped" attribute.
Reworked G-code export to interpolate extrusion paths with smooth paths and to extrude those smooth paths.
New parameters: arc_fitting, arc_fitting_tolerance
Renamed GCode class to GCodeGenerator
Moved GCodeWriter.cpp/hpp to GCode/
Moved Wipe from from GCode.cpp,hpp to GCode/Wipe.cpp,hpp
Moved WipeTowerIntegration from GCode.cpp,hpp to GCode/WipeTowerIntegration.cpp,hpp
New variant of douglas_peucker() to simplify range of iterators in place.
Refactored wipe in general and wipe on perimeters / hiding seams.

WIP: Convert estimate_speed_from_extrusion_quality() and its application to smooth paths.
WIP: Cooling buffer to process G2G3, disable arc fitting for filters that cannot process it.
2023-07-13 11:54:42 +02:00