欢迎来到天天文库
浏览记录
ID:39469077
大小:29.50 KB
页数:4页
时间:2019-07-04
《UG二次开发 刀路生成》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、UG二次开发刀路生成 此段是可以生成程序的完整代码,只有从坐标(10,10,10)到(500,500,500)一根刀轨。motion_ptr->feed_value的值为0时生成G00,非0时生成G01。此代码只有直线,生成圆弧的方法类似,可参考open-api函数库里的ufd_cam_udop.c文件。加工CAM的入口函数是udop,此入口函数和常用的UG二次开发入口函数ufusr并列,不需要在ufusr中调用,直接在ufusr所在的CPP文件中写入udop函数即可,或者将udop放在一单独的.c文件中,
2、在ufusr所在的CPP文件中包含也可以,#include"path.c"。编译出来的dll文件不能像普通的二次开发文件一样直接用Crtl+U调用,必须先在ugii_env.dat文件中定义好变量,例如abs=d:path.dll。此abc即是变量,然后使用UG的自定义加工模板调用此变量就OK了。 #include#include#include#include#include#include3、h>#include#includeexternvoidudop(char*param,int*status,intparm_len){ char op_name[UF_OPER_OPNAME_LEN]; UF_UDOP_id_t udop_id; UF_UDOP_purpose_t purpose; UF_OPER_id_t oper_id; UF_PATH_id_t path_id; UF_CAM_exi4、t_id_t exit_id=(UF_CAM_exit_id_t)param; UF_initialize(); UF_UDOP_ask_udop(exit_id,&udop_id); UF_UDOP_ask_oper(udop_id,&oper_id); UF_UDOP_ask_purpose(udop_id,&purpose); UF_OPER_ask_name(oper_id,op_name); UF_OPER_ask_path(oper_id,&path_id); if(purpose5、==UF_UDOP_GENERATE) { /************ ToinputGOTO/motion*************/ UF_PATH_linear_motion_t motion,*motion_ptr=&motion; motion_ptr->feed_value=0.0; motion_ptr->feed_unit=UF_PATH_FEED_UNIT_NONE; motion_ptr->type=UF_PATH_MOTION_TYPE_CUT; 6、 motion_ptr->tool_axis[0]=0.0; motion_ptr->tool_axis[1]=0.0; motion_ptr->tool_axis[2]=1.0; motion_ptr->position[0]=10.0; motion_ptr->position[1]=10.0; motion_ptr->position[2]=10.0; UF_PATH_create_linear_motion(path_id,motion_ptr); 7、 motion_ptr->position[0]=500.0; motion_ptr->position[1]=500.0; motion_ptr->position[2]=500.0; UF_PATH_create_linear_motion(path_id,motion_ptr); UF_PATH_cutcom_t cutcom_data; cutcom_data.cutcom_mode=UF_PATH_CUTCOM_ON; cutcom_data.plane_t8、ype=UF_PATH_PLANE_TYPE_XY; cutcom_data.cutcom_on_status= UF_PATH_CUTCOM_ON_BEFORE_ENGAGE; cutcom_data.cutcom_off_status= UF_PATH_CUTCOM_OFF_AFTER_RETRACT; cutcom_data.adjust_regi
3、h>#include#includeexternvoidudop(char*param,int*status,intparm_len){ char op_name[UF_OPER_OPNAME_LEN]; UF_UDOP_id_t udop_id; UF_UDOP_purpose_t purpose; UF_OPER_id_t oper_id; UF_PATH_id_t path_id; UF_CAM_exi
4、t_id_t exit_id=(UF_CAM_exit_id_t)param; UF_initialize(); UF_UDOP_ask_udop(exit_id,&udop_id); UF_UDOP_ask_oper(udop_id,&oper_id); UF_UDOP_ask_purpose(udop_id,&purpose); UF_OPER_ask_name(oper_id,op_name); UF_OPER_ask_path(oper_id,&path_id); if(purpose
5、==UF_UDOP_GENERATE) { /************ ToinputGOTO/motion*************/ UF_PATH_linear_motion_t motion,*motion_ptr=&motion; motion_ptr->feed_value=0.0; motion_ptr->feed_unit=UF_PATH_FEED_UNIT_NONE; motion_ptr->type=UF_PATH_MOTION_TYPE_CUT;
6、 motion_ptr->tool_axis[0]=0.0; motion_ptr->tool_axis[1]=0.0; motion_ptr->tool_axis[2]=1.0; motion_ptr->position[0]=10.0; motion_ptr->position[1]=10.0; motion_ptr->position[2]=10.0; UF_PATH_create_linear_motion(path_id,motion_ptr);
7、 motion_ptr->position[0]=500.0; motion_ptr->position[1]=500.0; motion_ptr->position[2]=500.0; UF_PATH_create_linear_motion(path_id,motion_ptr); UF_PATH_cutcom_t cutcom_data; cutcom_data.cutcom_mode=UF_PATH_CUTCOM_ON; cutcom_data.plane_t
8、ype=UF_PATH_PLANE_TYPE_XY; cutcom_data.cutcom_on_status= UF_PATH_CUTCOM_ON_BEFORE_ENGAGE; cutcom_data.cutcom_off_status= UF_PATH_CUTCOM_OFF_AFTER_RETRACT; cutcom_data.adjust_regi
此文档下载收益归作者所有