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. python之路(8)常用模块

    目录 os模块 sys模块 json模块 pickle模块 xml模块 re模块 logging模块 configparser模块 hashlib模块 time模块 random模块 subproce ...

  2. 1. Ansible 简介

    目录 1. Ansible 是什么? 2. Ansible 特性 3. 控制主机需求 4. 被管理节点需求 1. Ansible 是什么? Ansible 是一个配置管理系统(configuratio ...

  3. django-个人博客登录及权限验证功能的实现

    完成注册后随即开始进行登录,登录后页面显示登录者的名称 实现如下: 前端页面html,对session进行判断,有值则显示登录者的名字 ,无值则显示注册字样: 后台views函数  首先对验证码进行验 ...

  4. [Reinforcement Learning] Cross-entropy Method

    Cross-entropy Method(简称CEM)虽然是一种基于交叉熵的算法,但并不是我们熟知的监督学习中的交叉熵方法,与其说它是一种基于交叉熵的算法,倒不如说是一种基于蒙特卡洛和进化策略的算法. ...

  5. Linux samba服务器的搭建

    目录 1. 安装samba 2. 配置smb.conf 3. 创建samba登陆用户 4. 创建samba共享文件夹 5. 重启samba服务 6. 访问samba共享文件夹 7. 参考资料 1. 安 ...

  6. ef mysql

    App.config <configuration> <configSections> <!-- For more information on Entity Frame ...

  7. [经验交流] 影响 kubernetes 稳定性的因素

    使用k8s已有近一年的时间,版本从1.2到1.5.1.6.1.7,期间出现并解决了不少问题,下面是我总结的影响k8s集群稳定性的因素: 1. 安装环境 *kubelet版本最好与kube-apiser ...

  8. nodejs的package.json依赖dependencies中 ^ 和 ~ 的区别

    nodejs的package.json定义了一个模块,包括其依赖关系的一个简单的JSON文件,该文件可以包含多个不同的指令来告诉Node包管理器如何处理模块. dependencies则表示此模块依赖 ...

  9. css悬浮提示框

    效果图: code: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  10. MVC 前端页面ViewData参数名不区分大小写

    项目中实际应用: 后台赋值时传的是:ViewData["CheckedSystemMenu"], 前台取值时:ViewData["checkedsystemmenu&qu ...