tag_t CreatCircle(double Center[3], double dim ,double vecX[3], double vecY[3])
{
UF_initialize();
double mtx[9] = { 0.0 };
tag_t matrix_id = NULL_TAG;
tag_t csys_id = NULL_TAG;
UF_MTX3_initialize(vecX, vecY, mtx);
UF_CSYS_create_matrix(mtx, &matrix_id);
UF_CSYS_create_temp_csys(Center, matrix_id, &csys_id);
UF_CSYS_set_wcs(csys_id);
UF_CURVE_arc_t arc_coords;
arc_coords.matrix_tag = matrix_id;
arc_coords.start_angle = 0 ;
arc_coords.end_angle = 2 * PI;
arc_coords.radius = dim / 2;
arc_coords.arc_center[0] = Center[0];
arc_coords.arc_center[1] = Center[1];
arc_coords.arc_center[2] = Center[2];
tag_t arc = NULL_TAG;
UF_CURVE_create_arc(&arc_coords, &arc);
UF_terminate();
return arc;
}