• NX二次开发-使用NXOPEN C#向导模板做开发以及如何查看C#帮助文档写代码


    今天是情人节,单身狗晚上闲着无聊,研究了一下NXOPEN C#开发,

    我发现有UFUN C和NXOPEN C++的基础在转做NXOPEN C#开发,上手还是蛮快的,开发套路原理都是一样的。

    在补充点C#的语法知识,基本上就可以去做项目了(当然了,我连C++都还没学明白,这里也只是兴趣爱好,现学现卖,写了写博客,有不对的地方,还请各位留言纠正)。

    NX11+VS2013

    1.使用NXOPEN C#向导模板

     

    如果我们想要使用C#封装的C UFUN函数,就勾选这里。

     

     

    2.查看NXOPEN C#帮助

     下载两个帮助文档

     打开net_ref_uf.chm那个文档

     进入UF的命名空间,使用封装的UF函数,以创建块为例,学会如何查找函数。

    根据以前使用UFUN C的经验,知道创建块是在modl头文件里的。

    找到创建块的函数

     

     使用介绍

     代码

    1 FeatureSigns sign = FeatureSigns.Nullsign;//定义布尔
    2 double[] cornet_pt = { 100.0, 0.0, 0.0 };//定义原点
    3 string[] edge_len = { "100.0", "100.0", "100.0" };//定义长宽高
    4 Tag blk_obj_id = Tag.Null;
    5 theUfSession.Modl.CreateBlock1(sign, cornet_pt, edge_len, out blk_obj_id);
    6 
    7 Caesar卢尚宇
    8 2020年2月14日

     3.使用NXOPEN C#方式创建块

    一般使用NXOPEN创建特征的时候,不会去查看帮助。直接用录制功能去录代码,改代码来实现。

    录C#创建块的代码

     将不需要的代码删掉,只保留需要的代码。(不知道哪个是保留的,就一行一行试)

     代码

     1 //获取当前工作部件
     2 NXOpen.Part workPart = theSession.Parts.Work;
     3 
     4 //面向对象编程,先声明一个类的对象,然后在使用类里面的方法去定义参数
     5 //定义blockFeatureBuilder类
     6 NXOpen.Features.Feature nullNXOpen_Features_Feature = null;
     7 NXOpen.Features.BlockFeatureBuilder blockFeatureBuilder1;
     8 //在工作部件创建块
     9 blockFeatureBuilder1 = workPart.Features.CreateBlockFeatureBuilder(nullNXOpen_Features_Feature);
    10 //定义原点坐标点,长宽高
    11 NXOpen.Point3d originPoint1 = new NXOpen.Point3d(10.0, 10.0, 10.0);
    12 blockFeatureBuilder1.SetOriginAndLengths(originPoint1, "100", "50", "100");
    13 //生成特征
    14 NXOpen.Features.Feature feature1;
    15 feature1 = blockFeatureBuilder1.CommitFeature();
    16 //销毁
    17 blockFeatureBuilder1.Destroy();
    18 
    19 Caesar卢尚宇
    20 2020年2月14日

    4.如何查找NXOPEN C#(NXOPEN方法写的代码)帮助

    打开上面下载的net_ref.chm那个文档

     通过上面录制的代码,我们知道块特征是在NXOpen.Features.BlockFeatureBuilder blockFeatureBuilder1;这里

    我们去帮助里找到对应的命名空间

     点进去之后,在找到对应的类

     点进去之后,我们可以看到类里面的很多方法(返回值获得块特征的长宽高原点等等)

     举个例子,例如使用获得块的原点这个方法

    点击进去这个方法,查看返回值,是Point3d类型

     代码

     1 //获取当前工作部件
     2 NXOpen.Part workPart = theSession.Parts.Work;
     3 
     4 //面向对象编程,先声明一个类的对象,然后在使用类里面的方法去定义参数
     5 //定义blockFeatureBuilder类
     6 NXOpen.Features.Feature nullNXOpen_Features_Feature = null;
     7 NXOpen.Features.BlockFeatureBuilder blockFeatureBuilder1;
     8 //在工作部件创建块
     9 blockFeatureBuilder1 = workPart.Features.CreateBlockFeatureBuilder(nullNXOpen_Features_Feature);
    10 //定义原点坐标点,长宽高
    11 NXOpen.Point3d originPoint1 = new NXOpen.Point3d(10.0, 10.0, 10.0);
    12 blockFeatureBuilder1.SetOriginAndLengths(originPoint1, "100", "50", "100");
    13 //生成特征
    14 NXOpen.Features.Feature feature1;
    15 feature1 = blockFeatureBuilder1.CommitFeature();
    16 
    17 //获得块的原点xyz坐标
    18 Point3d ori = blockFeatureBuilder1.Origin;
    19 
    20 //销毁
    21 blockFeatureBuilder1.Destroy();
    22 
    23 //转换(double转string)
    24 string oriX = Convert.ToString(ori.X);
    25 string oriY = Convert.ToString(ori.Y);
    26 string oriZ = Convert.ToString(ori.Z);
    27 //字符串拼接
    28 string str = oriX + "," + oriY + "," + oriZ;
    29 //打印
    30 theUI.NXMessageBox.Show("1", NXMessageBox.DialogType.Error, str);
    31 
    32 Caesar卢尚宇
    33 202年2月14日

     以上就是对NXOPEN C#帮助的使用方法

    Caesar卢尚宇

    2020年2月14日

    (今天是2月14日情人节,没女朋友也蛮好的,可以有更多时间写写博客,做做自己开心的事~)

    (花开花落年年有,可人过青春不再来。)

    2020年4月20日

    补充说明

    C#的两个帮助文件下载方式:

    1.安装本地版NX11帮助和NX11 API帮助

    2.按照博客去操作

    不要在问我去哪下载了,也别直接留言找我要了。

  • 相关阅读:
    python协程爬取某网站的老赖数据
    python异步回调顺序?是否加锁?
    go语言循环变量
    使用memory_profiler异常
    安装python性能检测工具line_profiler
    等我!
    pytorch代码跟着写
    Python异常类型总结
    Python项目代码阅读【不断更新】
    夏令营体会
  • 原文地址:https://www.cnblogs.com/nxopen2018/p/12310032.html
Copyright © 2020-2023  润新知