UF是默认绝对坐标的我们需要转换工作坐标
//点坐标转换,点数据从一个坐标转换到另一个坐标
UF_CSYS_map_point
//将模型点位转换成视图点位
UF_VIEW_map_model_to_drawing
//将视图点位转换成模型点位
UF_VIEW_map_drawing_to_model
UF_MTX4_csys_to_csys //坐标1 到 坐标2 形成4x4矩阵
UF_MTX4_vec3_multiply //变化的实现
double point[ 3 ]={0,0,0};
//将工作坐标转换成绝对坐标
UF_CSYS_map_point(UF_CSYS_ROOT_WCS_COORDS,point,UF_CSYS_WORK_COORDS,point);
//将绝对坐标转换成工作坐标
UF_CSYS_map_point(UF_CSYS_WORK_COORDS,point,UF_CSYS_ROOT_WCS_COORDS,point);
点 从坐标1 转换到 坐标2,
[replyview]
double from_origin[3] = {0.0, 0.0, 0.0};
double from_x_axis[3] = {1.0, 0.0, 0.0};
double from_y_axis[3] = {0.0, 1.0, 0.0};
double to_origin[3] = {10.0, 10.0, 10.0};
double to_x_axis[3] = {0.0, 1.0, 0.0};
double to_y_axis[3] = {1.0, 0.0, 0.0};
double target[3] = { 20.0, 10.0, 5.0};
double new_target[3];
double transform[16];
[/replyview]
//坐标1 到 坐标2 形成4x4矩阵
UF_MTX4_csys_to_csys( from_origin, from_x_axis, from_y_axis,to_origin, to_x_axis, to_y_axis, transform );
UF_MTX4_vec3_multiply( target, transform, new_target );//变化的实现
char mei_msg[64]="";
UF_UI_open_listing_window(); //打开窗口
UF_UI_write_listing_window("\n");
sprintf(mei_msg, "点坐标,%.2f,%.2f,%.2f",target[0],target[1],target[2]);
UF_UI_write_listing_window( mei_msg );
UF_UI_write_listing_window("\n");
sprintf(mei_msg, "点坐标,%.2f,%.2f,%.2f",new_target[0],new_target[1],new_target[2]);
UF_UI_write_listing_window( mei_msg );
UG二次开发培训,可面授、远程视频指导、手把手教使用NXopen C++ 、UFun进行UG二次开发,入门开始,不懂C语言没有关系,但UG NX软件要会用,系统性的教,深度学会UG二次开发的原理与细节,让你完全可以独立完成复杂的项目开发。有意可联系胡君QQ:85585969
胡君UG二次开发技术论坛: http://www.ugapi.com/