UG二次开发刀路生成

UG二次开发刀路生成
UG二次开发刀路生成

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 extern void udop(char *param, int *status , int parm len) { char op_nameUF_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_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 ();

}

相关主题
相关文档
最新文档