NX/UG二次开发—CAM—用户自定义刀轨(UDOP)+ 螺旋铣用例教程 + 源码
用户定义刀轨是指:在需要一种无法由标准制造处理器完成的加工方法时,使用NX以外的处理器生成刀具路径的操作。这可能是你自己的或第三方的代码。入口函数udop。以下是程序框架,可以往里面添加你的代码
extern void udop(char *param, int *status, int parm_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_exit_id_t exit_id = (UF_CAM_exit_id_t)param;
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 == UF_UDOP_GENERATE )
{
“写刀轨”;
}
if (purpose==UF_UDOP_USER_PARAMS)
{
“打开对话框”;
}
}
//创建直线刀轨
UF_PATH_linear_motion_t line_motion,*line_motion_ptr = &line_motion;
line_motion_ptr->feed_value =1000.0;
line_motion_ptr->feed_unit =UF_PATH_FEED_UNIT_PER_MINUTE ;
line_motion_ptr->type = UF_PATH_MOTION_TYPE_RAPID;
UF_VEC3_copy(tool_axis, line_motion_ptr->tool_axis);
UF_VEC3_copy(startPt, line_motion_ptr-> position);
UF_PATH_create_linear_motion(path_id,line_motion_ptr);
UF_VEC3_copy(endPt, line_motion_ptr-> position);
UF_PATH_create_linear_motion(path_id,line_motion_ptr);
//创建圆弧刀轨
UF_PATH_circular_motion_t cir_motion,*cir_motion_ptr = &cir_motion;
cir_motion_ptr->feed_unit = UF_PATH_FEED_UNIT_PER_MINUTE;
cir_motion_ptr->type = UF_PATH_MOTION_TYPE_CUT;
UF_VEC3_copy(tool_axis,cir_motion_ptr->start_tool_axis);
UF_VEC3_copy(tool_axis,cir_motion_ptr-> end_tool_axis);
UF_VEC3_copy(tool_axis,cir_motion_ptr-> arc_axis);
cir_motion_ptr->tolerance = 0.005;
cir_motion_ptr->feed_value =curves[i].speed;
cir_motion_ptr->type = UF_PATH_MOTION_TYPE_CUT;
UF_VEC3_copy(point1,cir_motion_ptr-> start);
UF_VEC3_copy(point2,cir_motion_ptr-> arc_center);
UF_VEC3_copy(point2,cir_motion_ptr-> end);
UF_PATH_create_circular_motion( path_id, cir_motion_ptr);
//创建螺旋刀轨
UF_PATH_helical_motion_t helical_motion,*helical_motion_ptr=&helical_motion;
helical_motion_ptr->feed_unit=helical_motion_ptr->feed_unit=UF_PATH_FEED_UNIT_PER_MINUTE;
helical_motion_ptr->type=helical_motion_ptr->type=UF_PATH_MOTION_TYPE_CUT;
helical_motion_ptr->tolerance=helical_motion_ptr->tolerance=0.001;
helical_motion_ptr->feed_value =curves[i].speed;
helical_motion_ptr->arc_radius = curves[i].radius;
helical_motion_ptr->shape = UF_PATH_SHAPE_CIRCULAR_CW;
helical_motion_ptr->material_side = UF_PATH_SIDE_LEFT;
UF_VEC3_copy(point1, helical_motion_ptr-> start);
UF_VEC3_copy(point2, helical_motion_ptr-> arc_center);
UF_VEC3_copy(point3, helical_motion_ptr-> end);
UF_PATH_create_helical_motion( path_id, helical_motion_ptr);
以下为螺旋线刀轨的教程和源码示意图:
>>>>
NX/UG二次开发—CAM—用户自定义刀轨(UDOP)+ 螺旋铣用例教程 + 源码相关推荐
- NX/UG二次开发—CAM—获取加工环境下所有程序组、刀具组、加工坐标系并输出名称
以下代码为CAM所有程序组.刀具组.加工坐标系并输出名称 源文件在群共享文件中.(QQ群:1023204977)
- NX/UG二次开发—CAM—获取程式的刀具、加工坐标系、加工方法
tag_t oper=null; tag_t group; UF_OPER_ask_cutter_group(oper,&group);//获取程式的刀具 tag_t oper=null; t ...
- NX/UG二次开发—CAM—设置平面铣程序的切削底面(Floor)
- NX/UG二次开发创建曲面偏置体
NX/UG二次开发--创建曲面偏置体 创建曲面偏置体 1.曲面偏置 创建曲面偏置体 这里介绍了一种对模型曲面进行偏置来获得偏置体的方法. 1.曲面偏置 void OffsetFace(tag_t fa ...
- NX/UG二次开发—调用NX内部函数实现功能汇总(部分只有标题)
1.调用NX自身功能并返回开发工具界面UIFW_create_command: 2.C++与C#开发的dll互相调用且可以传参: 3.NX进度条的创建.显示.删除MT_create_progress_ ...
- NX/UG二次开发—菜单—ACTIONS的应用
NX二次开发菜单打开网站,打开程序,打开文件夹响应.以下是常用的几种方式,实际上如果你熟悉DOS命令,BAT的话基本上想要打开什么程序都可以! (1)网站的打开: ACTIONS "st ...
- NX/UG二次开发—装配—克隆相关知识总结
一.克隆部件或装配-七步法: 1. UF_CLONE_initialise 初始化克隆操作 2. UF_CLONE_add_assembly/UF_CLONE_add_part添加装配/部件文 ...
- NX/UG二次开发环境配置方法—史上最详细版(以NX11.0和Visual Studio 2017为例)
一.前言 本人之前在用NX12.0以及Visual Studio 2017进行NX二次开发时,进行过开发环境的配置,当时也遇到了一点问题,好在最后解决了.最近由于项目需求,我卸载了NX12.0,重装了 ...
- NX/UG二次开发—3D几何—包围盒相交检测(转载)
一:包围盒介绍 包围盒是指能够包容物体的三维立方体或者二维长方形,是包围体的一种,常常用于模型的碰撞检测.包围体主要包括球体.轴对齐包围盒(AABB).有向包围盒(OBB)和凸包(Convex Hul ...
最新文章
- 武汉大学计算机学院放假时间,计算机学院关于2019年学生放暑假的通知
- thttpd安装与调试
- LIGA Stereo:基于双目3D检测的Lidar几何感知表示学习(ICCV2021)
- textarea限制字符数_PAT乙级-1002 写出这个数
- Kubernetes 和 Docker,到底什么关系?
- 母版页嵌套子母版页通信
- java用scanner类_java中关于scanner类的详细介绍
- ACL访问控制列表【笔记|实验】
- Spring 使用AOP
- 计算机主机系统总线,全国2009年10月高等教育自学考试计算机应用基础试题及答案...
- 分享21个精美的博客网站设计案例
- Java 内存、HashMap、Hashtable面试题
- C++primer第五版课后答案参考
- java rxtx 64_win7 64为下使用rxtx串口通信
- 软件写注册表设置开机自启动
- gis与一般计算机应用系统有哪些异同,gis概论各章练习题..doc
- VCS/Questa SIM 使用流程及Makefile
- python根据关键词实现信息检索推荐(使用深度学习算法)
- Lab 2 Bomb Lab
- IntelliJ IDEA中项目的包和目录结构显示设置