1.Adams插件介绍

Adams的高级模块(如Controls控制模块、Vibration振动模块、Durability耐久性模块等)是以插件的形式集成在Adams软件中。通过Adams提供的插件管理器(Plugin Manager)工具能非常方便地对这些插件进行管理,即插即用,激活或失效插件,扩展应用领域。

在进行Adams二次开发定制客户化程序后,把所开发的程序做成一个插件,能非常方便地加载或卸载,方便使用。

2.Adams自定义插件方法

为方便操作和重复使用,Adams的操作过程使用脚本语言实现。交互式操作同样可以实现,这里不再阐述。

2.1 创建library

首先创建一个library库,后续所有的二次开发的程序都放在此库中。创建一个名为example_plugin的库的脚本代码为:

if condition = (eval(!db_exists(".example_plugin ")))

library create library_name = . example_plugin

end

完成后,可以在Database Navigator中查看所建的库。

2.2 编写二次开发程序

使用Adams编程语言、Macro宏命令或者Dialog Box对话框编程技术进行Adams软件的二次开发,实现客户定制化程序。

本文使用对话框编程技术开发一个对话框,如下图所示。

注意:所有开发的程序都需要包含在上述所建的example_plugin库中。为了使用方便,建议使用编程的方式进行软件开发。

2.3 创建自定义菜单

创建Adams自定义菜单和命令按钮,并关联上一步中创建的对话框程序。定义新创建的菜单变量名称是example,显示的菜单名是Myplugin;定义创建的按钮显示名称为Line of Markers,使用commands命令把该按钮与对话框关联起来。详细的命令程序如下:

 interface menu create menu_name = .gui.main.mmenu_menu.mbar_refresh.example  label = "MyPlugin"

interface push_button create push_button_name = .gui.main.mmenu_menu.mbar_refresh.example.button_1 &

label = "Line of Markers" &

commands = "interface dialog display dialog=.example_plugin.dbox_1"

使用下面的程序实现自定义菜单的加载和卸载。注意,此处宏的名称是固定的,必须是“库文件名.load”和“库文件名.unload”这种命名才可以,否则不能实现插件的加载和卸载。

 
 

2.4 生成Bin二进制文件

上述所创建的程序都包含在example_plugin库中,需要把此库文件和创建的菜单一起生成为Bin格式的二进制文件,具体程序如下:

file binary write &

file_name = "example_plugin.bin" &

entity_name = .example_plugin, &

.gui.main.mmenu_menu.mbar_refresh.example

运行上述命令后,会在Adams工作路径文件夹中生成名称为example_plugin.bin的文件,

注意:文件的名称有严格要求。要求插件的名称、Library库文件名称、二进制文件名称以及XML文件名称必须相同。例如,插件名称是example_plugin,则库文件名称必须是example_plugin,二进制文件example_plugin.bin,XML文件的名称是example_plugin_plg.xml。

2.5 定义XML文件

由于定义的库文件名称是example_plugin,所以XML文件的名称必须是example_plugin_plg.xml,否则插件不能正常使用。

XML文件详细代码为:

该文件必须和example_plugin.bin文件放在同一个文件夹中,可以放在Adams安装路径下(如D:\MSC.Software\Adams_x64\2013\win64),这样启动Adams时自动加载该插件;也可以放在Adams的启动目录中, Adams在此目录启动时会自动加载该插件,本文把这两个文件放在Adams启动路径中。

2.6 使用自定义插件

启动Adams 2013,打开Plugin Manager插件管理器,会出现自定义的example_plugin插件,加载该插件生成菜单,点击菜单按钮弹出自定义的对话框。

以上步骤完成自定义插件的实现。

注意:本文所有的操作是在Adams 2013版本默认界面中完成,由于Adams新旧界面有很大的变化,如果使用旧界面的Adams,创建自定义菜单的程序需要稍作修改,其他程序都是相同的。

Adams 2013自定义插件方法zz的更多相关文章

  1. Vue自定义插件方法大全

    新年第一天首先祝大家新年快乐,心想事成! 1.利用根实例构造函数的原型 //在构造函数的原型链上添加自定义属性 Vue.prototype.test = 'pomelo' //在其他组件中调用 con ...

  2. ionic3使用cordova创建自定义插件

    1 安装 plugman 插件 npm --registry https://registry.npm.taobao.org install -g plugman 2 新建组件 新建一个插件文件夹,进 ...

  3. LibVLC自定义插件目录,获取FPS方法

    一.自定义插件目录 在Windows平台,使用LibVLC,只需要在VLC官网的nightly builds下载最新的win32 debug或win64 debug包, 解压缩之后,会有libvlc. ...

  4. jQuery命名空间和自定义插件的的多种方法

    jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jquery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...

  5. spring boot集成mybatis-plus插件进行自定义sql方法开发时报nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    spring boot集成mybatis-plus插件进行自定义sql方法开发时报nested exception is org.apache.ibatis.binding.BindingExcept ...

  6. validate插件深入学习-04自定义验证方法

    自定义验证方法 jQuery.validator.addMethod(name,method,[,message]) name: 方法名 method: function(value,element, ...

  7. 深入学习jQuery自定义插件

    原文地址:jQuery自定义插件学习 1.定义插件的方法 对象级别的插件扩展,即为jQuery类的实例增加方法, 调用:$(选择器).函数名(参数);      $(‘#id’).myPlugin(o ...

  8. jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)

    上一篇记录了BaiduTemplate模板引擎使用示例附源码,在此基础上对使用方法进行了封装 自定义插件jajaxrefresh.js 代码如下: //闭包限定命名空间 (function ($) { ...

  9. Phonegap中自定义插件的使用

    在phonegap中需要实现特定相关的功能,可能需要自定义扩展一下功能,那么扩展phonegap组件就成为了可能. 源代码结构图: 本文目的在于讲述怎么扩展一个phonegap组件以及实现. 针对ph ...

随机推荐

  1. macOS Mojave配置OpenGL开发环境

    ---恢复内容开始--- 前言: 本文写作目的: 是由于本人参考 csdn原文 的方法配置环境时踩了很多坑,所以在此写一篇文防止以后用到. 工具: Xcode CMake 步骤: 准备工作: Xcod ...

  2. react native navigationOptions中不能获取this

    static navigationOptions = ({ navigation, navigationOptions,screenProps }) => { const { params } ...

  3. Spring AOP中 pointcut expression表达式解析

    任意公共方法的执行: execution(public * *(..)) 任何一个以“set”开始的方法的执行: execution(* set*(..)) AccountService 接口的任意方 ...

  4. Lucene的中文分词器

    1 什么是中文分词器 学过英文的都知道,英文是以单词为单位的,单词与单词之间以空格或者逗号句号隔开. 而中文的语义比较特殊,很难像英文那样,一个汉字一个汉字来划分. 所以需要一个能自动识别中文语义的分 ...

  5. js数字串传参时变科学计数法

    例1:onclick=channel_info_listFt(\"'+val.gid+'\",'+val.deviceIdOwner+','+val.gname+') 当长度过长的 ...

  6. 如何解压DMK固件

    一.DMK固件 从罗克韦尔自动化下载的固件通常是以DMK为后缀名的文件: DMK文件无法直接使用,需要使用DMK Extraction Tool解压: 二.方法步骤 1.  如果从官网下载的固件文件后 ...

  7. 转载-Mac下iterm无法使用rz并提示waiting to receive.**B0100000023be50

    原文链接:https://www.kissfree.cn/2530.html 安装rz sz   1 2 brew install lrzsz   运行rz会报类似错:rz会出现?z waiting ...

  8. Matcher.replaceFirst(String replacement)

    java.util.regex.Matcher.replaceFirst(String replacement)方法是用来进行字符串的替换操作. public String replaceFirst( ...

  9. 关于docker使用

    docker讲解:http://dockone.io/article/6051 os: ubuntu 16.04;docker version 18.06.1-ce; (1)查看docker版本:do ...

  10. 使用freemarker模板引擎生成word文档的开发步骤

    1.准备模板文档,如果word文档中有表格,只保留表头和第一行数据:2.定义变量,将word文档中的变量用${var_name}替换:3.生成xml文件,将替换变量符后的word文档另存为xml文件: ...