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.按照博客去操作

不要在問我去哪下載了,也別直接留言找我要了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM