今天是情人节,单身狗晚上闲着无聊,研究了一下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头文件里的。
找到创建块的函数
使用介绍

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

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

将不需要的代码删掉,只保留需要的代码。(不知道哪个是保留的,就一行一行试)
代码
//获取当前工作部件
NXOpen.Part workPart = theSession.Parts.Work;
//面向对象编程,先声明一个类的对象,然后在使用类里面的方法去定义参数
//定义blockFeatureBuilder类
NXOpen.Features.Feature nullNXOpen_Features_Feature = null;
NXOpen.Features.BlockFeatureBuilder blockFeatureBuilder1;
//在工作部件创建块
blockFeatureBuilder1 = workPart.Features.CreateBlockFeatureBuilder(nullNXOpen_Features_Feature);
//定义原点坐标点,长宽高
NXOpen.Point3d originPoint1 = new NXOpen.Point3d(10.0, 10.0, 10.0);
blockFeatureBuilder1.SetOriginAndLengths(originPoint1, "100", "50", "100");
//生成特征
NXOpen.Features.Feature feature1;
feature1 = blockFeatureBuilder1.CommitFeature();
//销毁
blockFeatureBuilder1.Destroy();
Caesar卢尚宇
2020年2月14日

4.如何查找NXOPEN C#(NXOPEN方法写的代码)帮助
打开上面下载的net_ref.chm那个文档
通过上面录制的代码,我们知道块特征是在NXOpen.Features.BlockFeatureBuilder blockFeatureBuilder1;这里
我们去帮助里找到对应的命名空间
点进去之后,在找到对应的类
点进去之后,我们可以看到类里面的很多方法(返回值获得块特征的长宽高原点等等)

举个例子,例如使用获得块的原点这个方法
点击进去这个方法,查看返回值,是Point3d类型


代码
//获取当前工作部件
NXOpen.Part workPart = theSession.Parts.Work;
//面向对象编程,先声明一个类的对象,然后在使用类里面的方法去定义参数
//定义blockFeatureBuilder类
NXOpen.Features.Feature nullNXOpen_Features_Feature = null;
NXOpen.Features.BlockFeatureBuilder blockFeatureBuilder1;
//在工作部件创建块
blockFeatureBuilder1 = workPart.Features.CreateBlockFeatureBuilder(nullNXOpen_Features_Feature);
//定义原点坐标点,长宽高
NXOpen.Point3d originPoint1 = new NXOpen.Point3d(10.0, 10.0, 10.0);
blockFeatureBuilder1.SetOriginAndLengths(originPoint1, "100", "50", "100");
//生成特征
NXOpen.Features.Feature feature1;
feature1 = blockFeatureBuilder1.CommitFeature();
//获得块的原点xyz坐标
Point3d ori = blockFeatureBuilder1.Origin;
//销毁
blockFeatureBuilder1.Destroy();
//转换(double转string)
string oriX = Convert.ToString(ori.X);
string oriY = Convert.ToString(ori.Y);
string oriZ = Convert.ToString(ori.Z);
//字符串拼接
string str = oriX + "," + oriY + "," + oriZ;
//打印
theUI.NXMessageBox.Show("1", NXMessageBox.DialogType.Error, str);
Caesar卢尚宇
202年2月14日

以上就是对NXOPEN C#帮助的使用方法
Caesar卢尚宇
2020年2月14日
(今天是2月14日情人节,没女朋友也蛮好的,可以有更多时间写写博客,做做自己开心的事~)
(花开花落年年有,可人过青春不再来。)
2020年4月20日
补充说明
C#的两个帮助文件下载方式:
1.安装本地版NX11帮助和NX11 API帮助
2.按照博客去操作
不要在问我去哪下载了,也别直接留言找我要了。
2021年10月12日补充
文章中CHM帮助的下载地址
https://docs.plm.automation.siemens.com/tdoc/nx/11/nx_api#uid:xid1162445:index_xid969099:xid961278
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删