diff --git a/dll/iodllD.dll b/dll/iodllD.dll index 5cb6185..23154f4 100644 Binary files a/dll/iodllD.dll and b/dll/iodllD.dll differ diff --git a/dll/mcctrdllD.dll b/dll/mcctrdllD.dll index 3f222a4..e7f813b 100644 Binary files a/dll/mcctrdllD.dll and b/dll/mcctrdllD.dll differ diff --git a/dll/secsgemdllD.dll b/dll/secsgemdllD.dll index c2a7324..c3877ef 100644 Binary files a/dll/secsgemdllD.dll and b/dll/secsgemdllD.dll differ diff --git a/iodll/Include/MotionPath.h b/iodll/Include/MotionPath.h index 5f6e4d4..5b98b86 100644 --- a/iodll/Include/MotionPath.h +++ b/iodll/Include/MotionPath.h @@ -1,7 +1,25 @@ #pragma once +#include #include +constexpr double degToRad(double degrees) +{ + return degrees * (3.14159265 / 180.0); +} + +using stHelixPosition = struct _stHelixPosition +{ + // MUST be 3 elements: X, Y, Z + std::array arrCenterPosition; + std::array arrNormal; + double AngleDegree{ 0. }; // angle in degree + double deltaHeight{ 0. }; // height change + double endRadius{ 0. }; // end radius + // + unsigned long ulDwell{ 0 }; // dwell time in ms +}; + using stPointPosition = struct _stPointPosition { // axis position for each point (number of position MUST match number of axis) @@ -26,6 +44,7 @@ using stMotionPath = struct _stMotionPath // point path std::vector vecAxisId; // list of axis id std::vector vecPointPath; // list of axis position for each point + std::vector vecHelixPath; // list of helix position for each point // speed profile stAxSpeed AxSpeed; // speed for each axis int nId{}; // Point Table Id for ECAT