ADAMS正确调用外部子程序的方法zz

学习ADAMS的过程中,我注意到了运动、力等对控件的约束中可选的子程序(subroutine)选项,想到编程控制的灵活性,便尝试了在ADAMS中对外部程序(extern procedures,主要是C/C++程序,因为我不会fortranL)的调用。整个实践分为以下几个主要步骤:

1.编写进行处理的目标函数

这里我写一个简单的C程序,值得注意的是源文件中应包含mdi_c.h的头文件,里面包含了msc对C提供的外置编程接口函数。代码如下:

#include "mdi_c.h"

#include "math.h"

double MYFUN(double x)

{

return(x*x+x*2+3);

}

void vc_initialize_user()

{

vc_function_add("MYFUN",(FUNCTION)MYFUN,fn_R_R,1,0);

}

      2.对目标文件进行编译

新建一个文本文档,通过命令行的方式实现源文件的编译。其具体代码如下:

      Aview ru-u i c:\test.dll %文件名可以修改

      即可实现aview.exe加载所编译的动态链接库文件运行。

      3.对函数的验证

      进入ADAMS,进入Tools->Function Builder即可验证方才所写函数以被加载。1中的vc_initialize_user()为用户自定义函数注册函数。

参考文献

[1]于英华等.应用C语言编写ADAMS用户自定义函数的研究.机械设计与制造[J].2006

posted @ 2025-06-16 11:32  马语者  阅读(48)  评论(0)    收藏  举报