| ApossC SDK V01.15

SDK_Kinematics_Setup.mc
Go to the documentation of this file.
1
13 #pragma once
14
15 #include <SysDef.mh>
16 #include "SDK_Kinematics_Setup.mh"
17
36 long sdkSetupDeltaKinematics(long axis_0, long axis_1, long axis_2, long prms_A, long prms_B, long prms_C, long prms_D, long prms_minMotAng, long prms_maxMotAng)
37 {
38 long axes[3], handle;
39 double prms[6];
40
41 axes[0] = axis_0; // Define axis 0
42 axes[1] = axis_1; // Define axis 1
43 axes[2] = axis_2; // Define axis 2
44
45 prms[0] = prms_A; // Length A
46 prms[1] = prms_B; // Length B
47 prms[2] = prms_C; // Length C
48 prms[3] = prms_D; // Length D
49
50 prms[4] = rad(prms_minMotAng); // The arm must not move higher than "prms_minMotAng" (for safety).
51 prms[5] = rad(prms_maxMotAng); // The arm must not move lower than "prms_maxMotAng" (for safety).
52
53 handle = KinematicsSetup("Delta", axes, prms); // Get the kinematics handler
54
55 return(handle);
56 }
68 long sdkSetupCartesian2dKinematics(long axis_0, long axis_1)
69 {
70 long axes[2], handle;
71 double prms[1];
72
73 axes[0] = axis_0; // Define X axis
74 axes[1] = axis_1; // Define Y axis
75
76 prms[0] = 2; // Set 2-dimensional system
77
78 handle = KinematicsSetup("Cartesian", axes, prms); // Get the kinematics handler
79
80 return(handle);
81 }
82
95 long sdkSetupCartesian3dKinematics(long axis_0, long axis_1, long axis_2)
96 {
97 long axes[3], handle;
98 double prms[1];
99
100 axes[0] = axis_0; // Define X axis
101 axes[1] = axis_1; // Define Y axis
102 axes[2] = axis_2; // Define Z axis
103
104 prms[0] = 3; // Set 3-dimensional system
105
106 handle = KinematicsSetup("Cartesian", axes, prms); // Get the kinematics handler
107
108 return(handle);
109 }
110
122 long sdkSetupHBotCoreXYKinematics(long axis_0, long axis_1)
123 {
124 long axes[2], handle;
125 double prms[1];
126
127 axes[0] = axis_0; // Define axis 0
128 axes[1] = axis_1; // Define axis 1
129 prms[0] = 0; // Just to prevent a "Referenced but never assigned" warning.
130
131 handle = KinematicsSetup("Hbot", axes, prms); // Get the kinematics handler
132
133 return(handle);
134 }
135
150 long sdkSetupScara2dKinematics(long axis_0, long axis_1, long prms_A, long prms_B, long prms_orient)
151 {
152 long axes[2], handle;
153 double prms[4];
154
155 axes[0] = axis_0; // Define axis 0
156 axes[1] = axis_1; // Define axis 1
157
158 prms[0] = prms_A; // Length A
159 prms[1] = prms_B; // Length B
160 prms[2] = prms_orient; // Orientation of the System "Left" / "Right"
161 prms[3] = 2; // Set 2-dimensional system
162
163 handle = KinematicsSetup("Scara", axes, prms); // Get the kinematics handler
164
165 return(handle);
166 }
167
183 long sdkSetupScara3dKinematics(long axis_0, long axis_1, long axis_2, long prms_A, long prms_B, long prms_orient)
184 {
185 long axes[3], handle;
186 double prms[4];
187
188 axes[0] = axis_0; // Define axis 0
189 axes[1] = axis_1; // Define axis 1
190 axes[2] = axis_2; // Define axis 2
191
192 prms[0] = prms_A; // Length A
193 prms[1] = prms_B; // Length B
194 prms[2] = prms_orient; // Orientation of the System "Left" / "Right"
195 prms[3] = 3; // Set 3-dimensional system
196
197 handle = KinematicsSetup("Scara", axes, prms); // Get the kinematics handler
198
199 return(handle);
200 }
201
218 long sdkSetupDualScara2dKinematics(long axis_0, long axis_1, long prms_A, long prms_B, long prms_C, long prms_D, long prms_distance)
219 {
220 long axes[2], handle;
221 double prms[6];
222
223 axes[0] = axis_0; // Define axis 0
224 axes[1] = axis_1; // Define axis 1
225
226 prms[0] = prms_A; // Length A
227 prms[1] = prms_B; // Length B
228 prms[2] = prms_C; // Length C
229 prms[3] = prms_D; // Length D
230 prms[4] = prms_distance;// Separation distance
231 prms[5] = 2; // Set 2-dimensional system
232
233 handle = KinematicsSetup("DualScara", axes, prms); // Get the kinematics handler
234
235 return(handle);
236 }
237
255 long sdkSetupDualScara3dKinematics(long axis_0, long axis_1, long axis_2, long prms_A, long prms_B, long prms_C, long prms_D, long prms_distance)
256 {
257 long axes[3], handle;
258 double prms[6];
259
260 axes[0] = axis_0; // Define axis 0
261 axes[1] = axis_1; // Define axis 1
262 axes[2] = axis_2; // Define axis 2
263
264 prms[0] = prms_A; // Length A
265 prms[1] = prms_B; // Length B
266 prms[2] = prms_C; // Length C
267 prms[3] = prms_D; // Length D
268 prms[4] = prms_distance;// Separation distance
269 prms[5] = 3; // Set 3-dimensional system
270
271 handle = KinematicsSetup("DualScara", axes, prms); // Get the kinematics handler
272
273 return(handle);
274 }
275
300 transform sdkSetupWorkCoordKinematics(transform workToMachine, double originTranslate_X, double originTranslate_Y, double originTranslate_Z, double rotation_XY,double scale)
301 {
302 TransIdent(workToMachine);
303 TransScale(workToMachine, scale);
304 TransRotateXY(workToMachine,rotation_XY*PI/180.0);
305 TransTranslate(workToMachine, originTranslate_X, originTranslate_Y, originTranslate_Z);
306
307 print("Working coordinates are changed");
308 return(workToMachine);
309 }
sdkSetupDeltaKinematics
long sdkSetupDeltaKinematics(long axis_0, long axis_1, long axis_2, long prms_A, long prms_B, long prms_C, long prms_D, long prms_minMotAng, long prms_maxMotAng)
Setup a Delta multi-axis kinematics model.
Definition: SDK_Kinematics_Setup.mc:36
sdkSetupScara3dKinematics
long sdkSetupScara3dKinematics(long axis_0, long axis_1, long axis_2, long prms_A, long prms_B, long prms_orient)
Setup a Scara 3d multi-axis kinematics model.
Definition: SDK_Kinematics_Setup.mc:183
SDK_Kinematics_Setup.mh
Declaration of the kinematics setup function.
sdkSetupCartesian2dKinematics
long sdkSetupCartesian2dKinematics(long axis_0, long axis_1)
Setup a 2-dimensional cartesian multi-axis kinematics model.
Definition: SDK_Kinematics_Setup.mc:68
sdkSetupDualScara2dKinematics
long sdkSetupDualScara2dKinematics(long axis_0, long axis_1, long prms_A, long prms_B, long prms_C, long prms_D, long prms_distance)
Setup a Dual Scara 2d multi-axis kinematics model.
Definition: SDK_Kinematics_Setup.mc:218
sdkSetupHBotCoreXYKinematics
long sdkSetupHBotCoreXYKinematics(long axis_0, long axis_1)
Setup a HBot or CoreXY multi-axis kinematics model.
Definition: SDK_Kinematics_Setup.mc:122
sdkSetupScara2dKinematics
long sdkSetupScara2dKinematics(long axis_0, long axis_1, long prms_A, long prms_B, long prms_orient)
Setup a Scara 2d multi-axis kinematics model.
Definition: SDK_Kinematics_Setup.mc:150
sdkSetupWorkCoordKinematics
transform sdkSetupWorkCoordKinematics(transform workToMachine, double originTranslate_X, double originTranslate_Y, double originTranslate_Z, double rotation_XY, double scale)
Setup the working coordinates for a kinematics System.
Definition: SDK_Kinematics_Setup.mc:300
sdkSetupCartesian3dKinematics
long sdkSetupCartesian3dKinematics(long axis_0, long axis_1, long axis_2)
Setup a 3-dimensional cartesian multi-axis kinematics model.
Definition: SDK_Kinematics_Setup.mc:95
sdkSetupDualScara3dKinematics
long sdkSetupDualScara3dKinematics(long axis_0, long axis_1, long axis_2, long prms_A, long prms_B, long prms_C, long prms_D, long prms_distance)
Setup a Dual Scara 3d multi-axis kinematics model.
Definition: SDK_Kinematics_Setup.mc:255

Data Sheets | Released Software | Software Manuals | Hardware Manuals | Maxon Shop

Maxon Support Center