nx二次开发之齿轮快速建模
相对其他的开发方法是最简单的,思路大概就是:
01 在nx中间表达式,生成渐开线,之后拉伸齿根圆,拉伸齿部分,阵列;
02 做交互界面
03 写代码了,vs创建代码模板,获取界面值,转换参数,导入部件,表达式赋值,编辑表达式
04 编译,调试
大概就是这样子。
做之前,在网上也看了很多论文,技术文稿;有使用,API与grip结合的,这个难度不算太大;也有纯grip; 貌似没有纯api 和 nx open做的; nx再带的齿轮工具箱,看了一下,大概是,生成曲线之后离散点,在拟合起来;这个难度最大;
代码
//获取NX的安装路径
char *translation;
UF_translate_variable("UGII_BASE_DIR", &translation);
CString s1 = translation;
CString s2 = "\\SYTool\\application\\CHILUN.prt";
CString s3 = s1+s2;
char mm[200];
CString2Char(s3 ,mm); //CString转char
//获取UI参数
// 获取 UI 的参数
UF_STYLER_item_value_type_t data[5];
double Mvalue,Zvalue,ARFvalue,Bvalue,DDvalue;
data[0].item_attr=UF_STYLER_VALUE;
data[0].item_id = CHANGE_M;
UF_STYLER_ask_value(dialog_id,&data[0]);
data[1].item_attr=UF_STYLER_VALUE;
data[1].item_id = CHANGE_Z;
UF_STYLER_ask_value(dialog_id,&data[1]);
data[2].item_attr=UF_STYLER_VALUE;
data[2].item_id = CHANGE_ARF;
UF_STYLER_ask_value(dialog_id,&data[2]);
data[3].item_attr=UF_STYLER_VALUE;
data[3].item_id = CHANGE_B;
UF_STYLER_ask_value(dialog_id,&data[3]);
data[4].item_attr=UF_STYLER_VALUE;
data[4].item_id = CHANGE_REAL_5;
UF_STYLER_ask_value(dialog_id,&data[4]);
Mvalue = data[0].value.real;
Zvalue = data[1].value.real;
ARFvalue = data[2].value.real;
Bvalue = data[3].value.real;
DDvalue = data[4].value.real;
//创建字符串数组,用来存放转换后的值
char M1[300],Z1[300],ARF1[300],BB1[300],DD1[300];
//浮点型 转换 字符串型
sprintf(M1, "m'2=%f",Mvalue);
sprintf(Z1, "z'2=%f",Zvalue);
sprintf(ARF1, "arf'2=%f",ARFvalue);
sprintf(BB1, "B'2=%f",Bvalue);
sprintf(DD1, "dd=%f",DDvalue);
//导入部件
UF_import_part_modes_t modes;
modes.layer_mode = 0;
modes.group_mode = 0;
modes.view_mode = 0;
modes.cam_mode = false;
double dest_csys[6] = {1.0, 0.0, 0.0, 0.0, 1.0, 0.0};
double dest_point[3] = {0.0, 0.0, 0.0};
tag_t group = NULL_TAG;
UF_PART_import(mm, &modes, dest_csys, dest_point, 1.0, &group);
//编辑表达式
UF_MODL_edit_exp (M1);
UF_MODL_edit_exp (Z1);
UF_MODL_edit_exp (ARF1);
UF_MODL_edit_exp (BB1);
UF_MODL_edit_exp (DD1);
UF_MODL_update();
我认为这个还有许多优化的地方,等在学习几天,做的更完美一些
nx二次开发之齿轮快速建模相关推荐
- UG NX二次开发(C#)-建模-图层操作
图层简介 通俗地讲,图层就像是含有文字或图形等元素的胶片,一张张按顺序叠放在一起,组合起来形成页面的最终效果.图层可以将页面上的元素精确定位.图层中可以加入文本.图片.表格.插件,也可以在里面再嵌套图 ...
- UG NX二次开发(C#)-建模-反向片体(SheetBody)的法向矢量
文章目录 1.前言 2.在UG NX中构建一个片体 3.在UG NX中查看片体的法向矢量 4.采用UFun函数来实现法向反向 5.代码实现 6.测试效果 1.前言 在UG NX中,一张曲面获取其所属的 ...
- UG NX二次开发(C#)-建模-获取曲面的法矢
文章目录 1.前言 2.曲面的法矢示例 3.获取曲面的法矢 3.1 采用 uFModl.AskFaceProps实现 3.2采用 uFSo实现 4.结论 1.前言 在UG NX二次开发过程中,我们想获 ...
- UG NX二次开发(C#)-建模-创建填充曲面(CreateFillHoleBuilder)
文章目录 1.前言 2.UG NX操作下的填充曲面生成 3.采用NXOpen.net(C#)创建填充曲面 1.前言 在UG NX中对于曲面的生成,有一个不常用的功能,就是根据曲线填充成一张曲面.在做项 ...
- UG NX二次开发(C#)--建模--识别曲面类型(圆柱面)
获取所有圆柱面 简介 我们以一个获取所有圆柱面的例子来说明如何获取某一类型的曲面.圆柱面是比较典型的曲面,比如倒圆曲面就是圆柱面,如果想删除自动识别倒圆曲面并删除这个曲面,则必须要识别出圆柱面.我们设 ...
- UG NX二次开发(C#)-建模-判断一条曲线是不是封闭
在UG NX二次开发(c#)时,判断一个边(曲线)是不是封闭的,采用两个端点是不是相同来判断.其代码如下: Point3d point3D1;Point3d point3D2;bool isClose ...
- UG/NX二次开发-阿飞博客专栏目录(九块九抄代码)
九块九抄代码,小例子,随时用,随时查,ctrl+c to ctrl+v 方便大家抄代码 博客园免费试看部分UF函数 https://www.cnblogs.com/nxopen2018/ 全部内容请九 ...
- PLM之家 -- NX二次开发从入门到精通全套视频
这部视频是二次开发实例的入门视频,通过环境配置开始,典型的讲解了一些常见的开发案例,实话讲,也是我们日常项目中经常遇到的,从基础的消息,信息交互开始,到最后通过Block UI的方式进行功能的创建,通 ...
- UG NX二次开发(C#)-CAM-加工模板、程序、方法、刀具和几何体的读取
1.前言 在UG NX的CAM模块中,加工程序是根据UG NX设置的加工模板来编程的,本人是针对CAM模块的UG NX二次开发,获取加工模板.程序名称.加工方法.刀具和几何体的字符串. 2.进入加工模 ...
最新文章
- 给你一些点与线,只用动画就能看懂张量乘法,还能证明迹循环定理
- ecs使用脚本安装oracle
- C#中泛型在Class上的实现
- [转载] python跨行 print:多用(),换行符\要小心,少用+或者不用(其它程序代码跨行用\就行,不能用括号)
- MATLAB中的Hough变换
- 电脑控制手机 易语言也可以实现颜色比较功能哦
- TM1640数码管控制器移植STM32HAL库
- 应用统计学学什么科目_应用统计学考研科目及总数
- 基于小梅哥AC620开发板的NIOS II LWIP百兆以太网例程
- 7-2 单位年会聚餐时的座次C位
- 升级 | 联想Y430p更换SSD、增加8G内存条
- 计算机经典书籍介绍及下载站点
- 海思Hi351X相关
- 反向传播 - 李宏毅机器学习笔记
- HDU6581 Vacation (HDU2019多校第一场1004)
- lms消噪声matlab,关于LMS去噪声的仿真
- 总结易错点:java格式,标识符与关键字(小白也想学好java)
- 双通道幅频相可调DDS 信号发生器
- 利用SecureCrt实现自动化脚本
- 编译一个MaNGOS芒果服务端(转)