You are not logged in.
Pages: 1
Goodmorning,
I send this post to ask how to use the following Vericut's API: void cmeapi_get_rapid_traversal(comp_register_name, subsystem, pos_priority, neg_priority, rapid_feedrate, pos_interpolated, neg_interpolated). It would return a series of information associated with RAPID motion, but using the fuction printf, I dindn't return anything!
Can anyone help me?
Thank you.
This is the code that I wrote:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cmeapi_defines.h"
#include "cmeapi_import.h"
#include "cmeapi_types.h"
void cmeapi_get_rapid_traversal(char *comp_register_name,char *subsystem,double *pos_priority,double *neg_priority,double *rapid_feedrate,double *pos_interpolated,double *neg_interpolated)
{
comp_register_name="X";
printf("comp_register_name: %s \n", comp_register_name);
printf("subsystem: %s \n", subsystem);
printf("rapid_feedrate: %f \n", rapid_feedrate);
printf("pos_priority: %f \n", pos_priority);
}
#ifdef WIN_NT
#define DllExport _declspec(dllexport)
DllExport void cmeapi_init(void)
{
printf("cmeapi_init() Success!\n");
cmeapi_register_macro("AnewUserAxisFeedrate", cmeapi_get_rapid_traversal);
}
#endif
Offline
A lot of errors, I think - your example cannot be compiled, cannot work.
1. {
printf("cmeapi_init() Success!\n");
cmeapi_register_macro("AnewUserAxisFeedrate", cmeapi_get_rapid_traversal);
}
Change to
{
printf("cmeapi_init() Success!\n");
cmeapi_register_macro("AnewUserAxisFeedrate", Thanks_Mr_Chigishev); // FOR EXAMPLE, name of function may be any.
}
2. void cmeapi_get_rapid_traversal(char *comp_register_name,char *subsystem,double *pos_priority,double *neg_priority,double *rapid_feedrate,double *pos_interpolated,double *neg_interpolated)
{
change to
void Thanks_Mr_Chigishev ( see arguments from example, I cannot remember exactly )
{
3. comp_register_name="X"; - You cannot define string var such way - you no need this var
just use cmeapi_get_rapid_traversal("X",......) inside function Thanks_Mr_Chigishev
4. Tomorrow I can help you with working code, of course - name of function for
Offline
1. Registration of your MACRO
DllExport void cmeapi_init(void)
{
printf("DLL loaded...\n");
cmeapi_register_macro("Alice_Macro", cms_For_Alice);
}
2. Function:
void cms_For_Alice(char *word, char *textstr, double value)
{
double pos_priority;
double neg_priority;
double rapid_feedrate;
double pos_interpolated;
double neg_interpolated;
cmeapi_get_rapid_traversal("X", "1", &pos_priority, &neg_priority, &rapid_feedrate, &pos_interpolated,&neg_interpolated);
printf("pos_priority %f\n", pos_priority);
printf("neg_priority %f\n", neg_priority);
printf("rapid_feedrate %f\n", rapid_feedrate);
printf("pos_interpolated %f\n", pos_interpolated);
printf("neg_interpolated %f\n", neg_interpolated);
}
Gentleman will walk but never run.
http://www.postprocessor.ru
Offline
Pages: 1