git clone https://github.com/FormerLurker/ArcWelderLib.git
mkdir build
cd build
cmake ..
make
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
cd /home/us/1/5/ArcWelderLib/build && /r/bin/cmake -E cmake_depends "Unix Makefiles" /home/us/1/5/ArcWelderLib /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor /home/us/1/5/ArcWelderLib/build /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/DependInfo.cmake "--color="
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make -f ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build.make ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build
make[2]: вход в каталог «/home/us/1/5/ArcWelderLib/build»
[ 58%] Building CXX object ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o
cd /home/us/1/5/ArcWelderLib/build/ArcWelderInverseProcessor && /r/bin/c++ -DHAS_GENERATED_VERSION -I/home/us/1/5/ArcWelderLib/build/GcodeProcessorLib/generated -I/home/us/1/5/ArcWelderLib/GcodeProcessorLib -I/home/us/1/5/ArcWelderLib/TCLAP -I/tclap -O3 -DNDEBUG -std=gnu++11 -fPIE -O2 -MD -MT ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o -MF CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o.d -o CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o -c /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/arc_interpolation.cpp
In file included from /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/arc_interpolation.cpp:37:
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:96:15: ошибка: «uint16_t» не был декларирован
96 | void NOLESS(uint16_t& x, uint16_t y);
| ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:1:1: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
+++ |+#include <cstdint>
1 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:96:28: ошибка: «uint16_t» не был декларирован
96 | void NOLESS(uint16_t& x, uint16_t y);
| ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_1.h:96:28: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
In file included from /home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/arc_interpolation.cpp:38:
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:49:8: ошибка: использование перечисления «AxisEnum» без предыдущей декларации
49 | enum AxisEnum : uint8_t {
| ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:49:19: ошибка: нет декларации «uint8_t» в этой области видимости
49 | enum AxisEnum : uint8_t {
| ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:1:1: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
+++ |+#include <cstdint>
1 | ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:49:27: ошибка: default member initializer for unnamed bit-field
49 | enum AxisEnum : uint8_t {
| ^
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:73:11: ошибка: «uint8_t» не является именем типа
73 | const uint8_t circles // Take the scenic route
| ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:73:11: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:80:11: ошибка: «uint8_t» не является именем типа
80 | const uint8_t circles // Take the scenic route
| ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:80:11: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:86:11: ошибка: «uint8_t» не является именем типа
86 | const uint8_t circles // Take the scenic route
| ^~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:86:11: замечание: «uint8_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:15: ошибка: «uint16_t» не был декларирован
94 | void NOLESS(uint16_t& x, uint16_t y);
| ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:15: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:28: ошибка: «uint16_t» не был декларирован
94 | void NOLESS(uint16_t& x, uint16_t y);
| ^~~~~~~~
/home/us/1/5/ArcWelderLib/ArcWelderInverseProcessor/marlin_2.h:94:28: замечание: «uint16_t» is defined in header «<cstdint>»; this is probably fixable by adding «#include <cstdint>»
make[2]: *** [ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/build.make:82: ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/arc_interpolation.cpp.o] Ошибка 1
make[2]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make[1]: *** [CMakeFiles/Makefile2:321: ArcWelderInverseProcessor/CMakeFiles/ArcWelderInverseProcessor.dir/all] Ошибка 2
make[1]: выход из каталога «/home/us/1/5/ArcWelderLib/build»
make: *** [Makefile:139: all] Ошибка 2
~/1/5/ArcWelderLib/build/ArcWelderConsole$ ./ArcWelder -r=0.5 /home/us/linuxcnc/nc_files/текущие/ad2.ngc ad2_arcs.ngc
2025-05-08 16:21:45.004 - arc_welder.gcode_conversion - INFO - Processing GCode.
2025-05-08 16:21:45.004 - arc_welder.gcode_conversion - INFO - Arc Welder Arguments
Source File Path : /home/us/linuxcnc/nc_files/текущие/ad2.ngc
Target File Path : ad2_arcs.ngc
Resolution : 0.50mm (+-0.25000mm)
Path Tolerance : 5.000%
Maximum Arc Radius : 9999.0mm
Firmware Compensation : False
Allow 3D Arcs : False
Allow Travel Arcs : False
Allow Dynamic Precision : False
Default XYZ Precision : 3
Default E Precision : 5
Extrusion Rate Variance : 5%
G90/G91 Influences Extruder : False
Max Gcode Length : Unlimited
Log Level : INFO
Hide Progress Updates : False
Progress Notification Period : 0.50 seconds
Progress: 00.0% complete - Estimating remaining time.
Progress: 100.0% complete - 0.039076 seconds total.
2025-05-08 16:21:45.044 - arc_welder.gcode_conversion - INFO -
+---------------------------------------------+
| Target File Extrusion Statistics |
+---------------------------------------------+
| Min Max Source Target Change|
+---------------------------------------------+
| 0.000mm to 0.002mm 0 0 0.0%|
| 0.002mm to 0.005mm 0 0 0.0%|
| 0.005mm to 0.010mm 0 0 0.0%|
| 0.010mm to 0.050mm 0 0 0.0%|
| 0.050mm to 0.100mm 0 0 0.0%|
| 0.100mm to 0.500mm 0 0 0.0%|
| 0.500mm to 1.000mm 0 0 0.0%|
| 1.000mm to 5.000mm 0 0 0.0%|
| 5.000mm to 10.000mm 0 0 0.0%|
| 10.000mm to 20.000mm 0 0 0.0%|
| 20.000mm to 50.000mm 0 0 0.0%|
| 50.000mm to 100.000mm 0 0 0.0%|
| >= 100.000mm 0 0 0.0%|
+---------------------------------------------+
| Total distance:................0.000mm|
| Total count source:......................0|
| Total count target:......................0|
| Total percent change:...................0.0%|
+---------------------------------------------+
2025-05-08 16:21:45.044 - arc_welder.gcode_conversion - INFO - Arc Welder process completed successfully.
us@WAU:~/1/5/ArcWelderLib/build/ArcWelderConsole$
./ArcWelder -r=0.5 ad2.ngc ad2_arcs.ngc
получает такой результат -
|Total distance source:............122072.386mm|
|Total distance target:............122075.020mm|
| Total count source:...................42583|
| Total count target:....................1665|
| Total percent change:..................-96.1%|