UG二次开发刀路生成
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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文件中,在ufusr所在的CPP文件中包含也可以,#include "path.c"。编译出来的dll文件不能像普通的二次开发文件一样直接用Crtl + U调用,必须先在ugii_env.dat文件中定义好变量,例如
abs=d:\path.dll。此abc即是变量,然后使用UG的自定义加工模板调用此变量就0K 了。
#i nclude
#in clude
#in clude
#in clude
#in clude
#in clude
#in elude
#i nclude
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_exit_id_t exit_id =( UF_CAM_exit_id_t) param
UF_i nitialize ();
UF UDOP ask udopexit id , &udop id);
UF UDOP ask operudop id , &oper id );
UF UDOP ask purpo$eudop id , &purpose);
UF OPER ask nameper id , op nam©;
UF_OPER_ask_pa(hoper_id , &path」d );
if ( purpose == UF UDOP GENERA)TE {
To i nput GOTO/ moti on *************/
motion ,* motion_ptr = &motion ;
UF PATH linear motion t
motion_ptr ->feed_value = 0.0;
motion_ptr ->feed_unit = UF_PATH_FEED_UNIT_NONE motion ptr -> type = UF PATH MOTION TYPE CUT 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」d , motion ptr );
motion ptr -> position [ 0] =500.0 ;
motion_ptr -> position [1] =500.0 ;
motion ptr -> position [ 2] =500.0 ;
UF PATH create linear motion ( path」d , motion ptr );
UF PATH cutcom t cutcom data;
cutcom_data. cutcom_mode = UF_PATH_CUTCOM_ON cutcom_data. plane_type = 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_register = 2;
cutcom data. full cutcom output = TRUE
cutcom data. adjust flag = TRUE
UF PATH create cutcon( path」d , &cutcom data, NULL );
UF_PATH_e nd_tool_path( path」d );
}
UF term in ate ();
}