首页/文章/ 详情

Adams二次开发——插件集成(Plugin)(2/2)

26天前浏览2498
  • 背景

日常仿真工作中,我们会基于软件自带的Dialog Box 或Macro开发一些自定义的窗口或命令,如何把这些窗口或命令集成在软件自带的Plugin Manager中进行管理和调用,是本次文章介绍的背景。

作者目前的背景是,已经基于自带的整车K&C分析界面,魔改成了用于悬架K&C分析的界面,同时,修改了后台代码,可实现在一个界面中完成所有悬架K&C分析的参数设置和提交求解。

实现效果见下文:

Adams二次开发——插件集成(Plugin)(1/2)

  • 实现方法

    1、编写build.cmd,如下图所示:  

    其中:

  • 1-4行:先创建名为“LXY”的库,并在库里面创建一个macros和dboxes的分支,用于管理对话框和宏命令(按需);

  • 7行:运行对话框创建的命令(后文中分享);

  • 15-end:创建该插件加载(Load)和卸载(UnLoad)的宏命令,此两个命令必须写,格式参考上图。

    2、入口按钮创建的cmd(dboxes_ana.cmd)

    如下图所示:


    其中:

  • 1-4行:判断库中是否有名为“dbox_ana_ful_spm_sub”的对话框,如有则先删除,当然,也可加入其他的判断语句,如对库和库下面分支的判断,以保证有效更新修改后的对话框和宏命令;

  • 6-8行:运行对话框创建的命令,该对话框的名称为“dbox_ana_ful_spm_sub”;

  • 10-14行:判断启动该对话框的按钮是否存在,如有则删除;

  • 16-end:在Adams指定界面位置插入启动该对话框的按钮,上图所示的代码正常运行后,该按钮的位置在界面如下图所示位置:

    如要在其他位置插入按钮,则修改对应19和32行。

3、对话框创建的cmd(dbox_ana_ful_spm_sub.cmd

如下图所示为对话框定义的部分代码,主要是定义各个控件的属性及窗口运行的代码,可基于自带的dialog box进行修改,也可手动编写:

至此,便完成了自定义对话框的编辑和设置。

此时,可在Adams界面中,导入(或按F2)build.cmd,即可在指定位置创建按钮,并运行自定义对话框了。

不过,通过cmd的方式去运行会存在一些便捷性的问题,下文将介绍如何将自定义对话框加入plugin manager的界面进行管理。

1、在运行build.cmd后,在Database中可以看到对应的库:

2、在command Navigator中搜索“bin”,会出现如下所示功能:

3、选择“binary” 下面的“write”,设置输出bin文件的名称和路径,在“Entity Name”中选择创建的“LXY”库和“gui”界面下创建的按钮,将此两部分输出到bin文件中:

4、在bin文件同目录,创建一个xml文件,该xml文件的文件名为bin文件文件名后面加“_plg.xml”,如bin文件的文件名为“lxy.bin”,则对应xml文件的文件名为“lxy_plg.xml”;

5、xml文件的内容如下(固定格式):

    <?xml version="1.0"?><MSCPlugin xmlns="http://www.adams.com/:MDI" xmlns:kernel="http://www.adams.com/:kernel">  <kernel:Bibliography>    <File schema="plugin" version="1.0.0" publicationDate="2008-04-16 20:04:16 -0500" />    <Revision version="1" />    <Corporation author="MSC.Software" URI="http://www.mscsoftware.com/Products/CAE-Tools/Adams.aspx" />    <Author user="Unknown" name="Unknown" />    <Environment hostName="Unknown" operatingSystem="Unknown" />    <Application name="Adams" version="2013.0" />  </kernel:Bibliography>  <Plugin>    <Name>LXY KnC</Name>    <Description>      <![CDATA[Full KnC Analysis in one window]]>    </Description>    <Version></Version>    <Author>LXY</Author>    <Type>Public</Type>    <LicenseFeature></LicenseFeature>    <ValidWith>acar</ValidWith>    <NotValidWith>aview:ppt</NotValidWith>  </Plugin></MSCPlugin>

    其中:

    a、15行中写入插件的名称,按需取;

    b、17行中写入此插件的描述;

    c、20行写入作者名称;

    d、23行,此行表示该插件可以在哪些界面中显示,依次写入,按“:”隔开,如果希望此插件可以在car和view界面中显示和使用,则写入“acar:aview”;

    e、24行,此行表示该插件不可在哪些界面中显示和使用,语法与23行一致。

    5、将创建好的bin文件和xml文件,放置在一个文件夹中,该文件夹的名称与bin文件保持一致,如“D:\adams_plugin\lxy”文件夹;

    6、添加环境变量,变量名和值为:

      变量名:MDI_USER_PLUGIN_DIR变量值:D:\adams_plugin

      注:变量值的路径为插件名文件夹的上一层。

      至此,便可以重启Adams,在Plugin Manager界面中看到我们所创建的插件了。

      温馨提示:由于Adams没有提供对应的IDE,所以在整个写代码过程可能不会一帆风顺,特别是一些符号、空格、换行之类的,需要一些耐心。如果在此过程中,有任何问题,也可与笔者联系和讨论。

        希望大家点个关注,不迷路。

      来源:XCAEX
      SystemAdams二次开发UG
      著作权归作者所有,欢迎分享,未经许可,不得转载
      首次发布时间:2024-08-15
      最近编辑:26天前
      XCAEX
      硕士 签名征集中
      获赞 2粉丝 0文章 6课程 0
      点赞
      收藏
      未登录
      还没有评论
      课程
      培训
      服务
      行家
      VIP会员 学习 福利任务 兑换礼品
      下载APP
      联系我们
      帮助与反馈