相对其他的开发方法是最简单的,思路大概就是:

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二次开发之齿轮快速建模相关推荐

  1. UG NX二次开发(C#)-建模-图层操作

    图层简介 通俗地讲,图层就像是含有文字或图形等元素的胶片,一张张按顺序叠放在一起,组合起来形成页面的最终效果.图层可以将页面上的元素精确定位.图层中可以加入文本.图片.表格.插件,也可以在里面再嵌套图 ...

  2. UG NX二次开发(C#)-建模-反向片体(SheetBody)的法向矢量

    文章目录 1.前言 2.在UG NX中构建一个片体 3.在UG NX中查看片体的法向矢量 4.采用UFun函数来实现法向反向 5.代码实现 6.测试效果 1.前言 在UG NX中,一张曲面获取其所属的 ...

  3. UG NX二次开发(C#)-建模-获取曲面的法矢

    文章目录 1.前言 2.曲面的法矢示例 3.获取曲面的法矢 3.1 采用 uFModl.AskFaceProps实现 3.2采用 uFSo实现 4.结论 1.前言 在UG NX二次开发过程中,我们想获 ...

  4. UG NX二次开发(C#)-建模-创建填充曲面(CreateFillHoleBuilder)

    文章目录 1.前言 2.UG NX操作下的填充曲面生成 3.采用NXOpen.net(C#)创建填充曲面 1.前言 在UG NX中对于曲面的生成,有一个不常用的功能,就是根据曲线填充成一张曲面.在做项 ...

  5. UG NX二次开发(C#)--建模--识别曲面类型(圆柱面)

    获取所有圆柱面 简介 我们以一个获取所有圆柱面的例子来说明如何获取某一类型的曲面.圆柱面是比较典型的曲面,比如倒圆曲面就是圆柱面,如果想删除自动识别倒圆曲面并删除这个曲面,则必须要识别出圆柱面.我们设 ...

  6. UG NX二次开发(C#)-建模-判断一条曲线是不是封闭

    在UG NX二次开发(c#)时,判断一个边(曲线)是不是封闭的,采用两个端点是不是相同来判断.其代码如下: Point3d point3D1;Point3d point3D2;bool isClose ...

  7. UG/NX二次开发-阿飞博客专栏目录(九块九抄代码)

    九块九抄代码,小例子,随时用,随时查,ctrl+c to ctrl+v 方便大家抄代码 博客园免费试看部分UF函数 https://www.cnblogs.com/nxopen2018/ 全部内容请九 ...

  8. PLM之家 -- NX二次开发从入门到精通全套视频

    这部视频是二次开发实例的入门视频,通过环境配置开始,典型的讲解了一些常见的开发案例,实话讲,也是我们日常项目中经常遇到的,从基础的消息,信息交互开始,到最后通过Block UI的方式进行功能的创建,通 ...

  9. UG NX二次开发(C#)-CAM-加工模板、程序、方法、刀具和几何体的读取

    1.前言 在UG NX的CAM模块中,加工程序是根据UG NX设置的加工模板来编程的,本人是针对CAM模块的UG NX二次开发,获取加工模板.程序名称.加工方法.刀具和几何体的字符串. 2.进入加工模 ...

最新文章

  1. 给你一些点与线,只用动画就能看懂张量乘法,还能证明迹循环定理
  2. ecs使用脚本安装oracle
  3. C#中泛型在Class上的实现
  4. [转载] python跨行 print:多用(),换行符\要小心,少用+或者不用(其它程序代码跨行用\就行,不能用括号)
  5. MATLAB中的Hough变换
  6. 电脑控制手机 易语言也可以实现颜色比较功能哦
  7. TM1640数码管控制器移植STM32HAL库
  8. 应用统计学学什么科目_应用统计学考研科目及总数
  9. 基于小梅哥AC620开发板的NIOS II LWIP百兆以太网例程
  10. 7-2 单位年会聚餐时的座次C位
  11. 升级 | 联想Y430p更换SSD、增加8G内存条
  12. 计算机经典书籍介绍及下载站点
  13. 海思Hi351X相关
  14. 反向传播 - 李宏毅机器学习笔记
  15. HDU6581 Vacation (HDU2019多校第一场1004)
  16. lms消噪声matlab,关于LMS去噪声的仿真
  17. 总结易错点:java格式,标识符与关键字(小白也想学好java)
  18. 双通道幅频相可调DDS 信号发生器
  19. 利用SecureCrt实现自动化脚本
  20. 编译一个MaNGOS芒果服务端(转)

热门文章

  1. WPF登录界面demo
  2. 物联网——完全开源物联网基础平台
  3. TLS协议分析 与 现代加密通信协议设计
  4. 基于 STM32+FPGA 的多轴运动控制器的设计
  5. Matplotlib进阶教程:颜色讲解
  6. Python 3 色情图片识别
  7. 1+x web前端开发初级选择题整理(html+css+jquery)
  8. QQ网页微信、QQ二维码登录原理分析(整理)
  9. mysql主键自增策略_MySQL 自增主键机制
  10. IP地址扫描程序/扫描工具