NX二次开发-获取CAE当前模态

蓝图分享网 2023-01-03 20:04:07 397阅读 0评论

NX二次开发-获取CAE当前模态 第1张

作者:张晓峰   审校:徐涛

适用版本:NX6及以上

在进行NX二次开发时,某些业务场景需要获取在仿真模块中模态信息,进行一些操作,比如导出名称。本篇技巧主要介绍通过NXOpen的方式来获取仿真模块当前模态的方法。

功能说明

通过NXOpen的方式获取仿真模块当前选中的模态,可以获取到模态的信息,并用于其它操作。

实现方法
1

手动实现

双击模态对象,根据PostView窗口,查看显示的信息,如图1所示。

2

代码实现

NX二次开发-获取CAE当前模态 第2张

根据获取到的PostView的ID,获取到ResultType和Result。

 

1.  int[] postviewIdArr = Session.GetSession().Post.GetPostviewIds();

2.  string modalName = null;

3.  if (postviewIdArr.Length != 0)

4.  {

5.          Result res; ResultParameters rp;

6.Session.GetSession().Post.GetResultForPostview(postviewIdArr, out res, out rp);

7.          ResultType resultType = rp.GetGenericResultType() as ResultType;

8.          var modal = AutoCAEReportForm.GetSelectedModal(res, resultType);//选中模态的名称

9.          if (modal == null) return;

10.        modalName = modal.Name;

11.}

NX二次开发-获取CAE当前模态 第2张

通过遍历找到选中模态的BaseIteration,然后获取到相应的模态对象,如下代码所示。

1. public static BaseIteration GetSelectedModal(Result res, ResultType rt)

2. {

3.     BaseLoadcase[] allLoadcases = res.GetLoadcases();

4.     foreach (var oneLoadcase in allLoadcases)

5.     {

6.        foreach (BaseIteration iteration in oneLoadcase.GetIterations())

7.        {

8.             foreach (BaseResultType resultTypes in iteration.GetResultTypes())

9.             {

10.                 if (resultTypes.Tag == rt.Tag)

11.                 {

12.                    return iteration;

13.                 }

14.             }

15.        }

16.    }

17.    return null;

18. }

总    结

综上所述,我们通过PostView的ID,获取到相应的模态对象。根据获取到的模态对象,可以获取相应的信息,用于其他的操作。

免责声明:

1、本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

2、本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。

3、本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

4、侵权违法和不良信息举报 举报邮箱:cnddit@qq.com

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,397人围观)

还没有评论,来说两句吧...