今天是情人節,單身狗晚上閑着無聊,研究了一下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.按照博客去操作
不要在問我去哪下載了,也別直接留言找我要了。