myh051305 发表于 2012-9-26 11:12:08

用matlab生成cmd命令

本帖最后由 myh051305 于 2012-9-26 11:19 编辑

本帖比较适合不太熟悉adams宏命令中条件、循环语句的人员,编程的核心思想就是用matlab的条件循环语句直接写cmd文件,代替adams宏中的条件循环等语句。
但是前提是你必须对简单的宏命令有所了解,尤其是会用F3。其实这种方法也可以直接用于写adm文件,个人觉得会更方便一些。
以一个绳索的为例子,绳索一端绕一个轮子接触,令一端则与绑着一个小球。视频如下:


使用方法(1)运行shengzi.m文件生成cmd文件
(2)运行adams,默认新建一个名为model_1的模型。、
(3)file——>import 导入matlab生成的cmd文件,完成建模
(4)仿真












开心与哈哈312 发表于 2012-9-26 11:34:20

非常感谢版主这么快就做出来了,认真学习一下。钢丝绳的建模仿真是个很大的难点,希望大家一起研究学习。一起讨论交流

myh051305 发表于 2012-9-26 11:49:49

开心与哈哈312 发表于 2012-9-26 11:34 static/image/common/back.gif
非常感谢版主这么快就做出来了,认真学习一下。钢丝绳的建模仿真是个很大的难点,希望大家一起研究学习。一 ...

呵呵,我不研究绳索,只是给你们做个例子,绳索这一块我个人感觉还是直接用柔性的索单元比较好,这种离散化的刚体模型只能说是一种无奈之举吧。

开心与哈哈312 发表于 2012-9-26 12:06:35

myh051305 发表于 2012-9-26 11:49 static/image/common/back.gif
呵呵,我不研究绳索,只是给你们做个例子,绳索这一块我个人感觉还是直接用柔性的索单元比较好,这种离散 ...

您给提供了一个非常好的思路,就是用matlab一可以生成CMD命令,很新颖,也是adams宏命令的一个拓展,很有新意。
能用柔性的索单元做出来当然是最好的,跟实际中的特性一样,用离散化确实挺无奈的。
再问您一个问题,您能实现钢丝绳绕卷筒的缠绕吗?我看您做的是用一个固定副固定在了滑轮上,接触力加的是围绕滑轮的一段的缠绕。

myh051305 发表于 2012-9-26 12:12:49

本帖最后由 myh051305 于 2012-9-26 12:13 编辑

开心与哈哈312 发表于 2012-9-26 12:06 static/image/common/back.gif
您给提供了一个非常好的思路,就是用matlab一可以生成CMD命令,很新颖,也是adams宏命令的一个拓展,很有 ...
缠绕其实也不复杂,具体的建模方法你可以参考下面的一个帖子
http://forum.simwe.com/thread-903504-1-1.html
缠绕需要确定初始位形,不过上面的帖子已经有很好的教程了。如果你真的需要进行绳子的仿真的话,建议你好好研究下上面的我给你的连接,我大致看了下,应该没有错误 。

开心与哈哈312 发表于 2012-9-26 12:13:33

在有限元软件中画一条线的梁模型,
画一条折线。在ANSYS 中用BEAM 4 单元,单元截面选实心圆。 输出cdb网格:cdwrite,all,arcl in e, cdb。再输入到RecurDyn,做出来的绳子,能够实现绕卷筒的缠绕。这就是您所说的柔索的建模。
用adams怎么实现呢?

myh051305 发表于 2012-9-26 12:18:06

开心与哈哈312 发表于 2012-9-26 12:13 static/image/common/back.gif
在有限元软件中画一条线的梁模型,
画一条折线。在ANSYS 中用BEAM 4 单元,单元截面选实心圆。 输出cdb网格 ...

这个在adams中实现不了,呵呵
cdb文件我如果没记错的话,只是记录了绳索的节点和单元信息,recurdyn根据这些信息实现绳索的建模
说白了,recurdyn在这一点上只是借助了ansys建立绳索的几何信息而已(ansys此时只是相当于一个前处理),算法是RD自己独有的算法。

开心与哈哈312 发表于 2012-9-26 12:18:40

myh051305 发表于 2012-9-26 12:12 static/image/common/back.gif
缠绕其实也不复杂,具体的建模方法你可以参考下面的一个帖子
http://forum.simwe.com/thread-903504-1-1.h ...

嗯,谢谢,这个帖子我去年就有,也是按照上面人家做的过程做出来了,存在一个问题,就是缠绕的过程中,小圆柱体之间相互的干涉,一旦缠绕的多了,就会相互影响,上面每个小圆柱体都加了接触力,仿真起来特别的慢,这也是一个问题,您 做的例子只是加了几个接触力,所以仿真起来速度没什么影响。再就是没有办法实现考虑随着钢丝绳的缠绕卷筒直径变大的情况

myh051305 发表于 2012-9-26 12:21:08

开心与哈哈312 发表于 2012-9-26 12:18 static/image/common/back.gif
嗯,谢谢,这个帖子我去年就有,也是按照上面人家做的过程做出来了,存在一个问题,就是缠绕的过程中,小 ...

你应该是需要做起重机卷筒之类的分析吧?这个比较麻烦,其实可以做,但是你要对接触进行优化。你要根据几何信息先判断哪些离散的part能接触,这样的话接触会少点

开心与哈哈312 发表于 2012-9-26 12:22:04

myh051305 发表于 2012-9-26 12:18 static/image/common/back.gif
这个在adams中实现不了,呵呵
cdb文件我如果没记错的话,只是记录了绳索的节点和单元信息,recurdyn根据 ...

对对,版主说的非常对,很厉害,就是这样的,ansys只是做了个前处理,建立绳索的几何信息而已,下一步就是用的RD的算法了,我想的是,用adams是不是也能借鉴一下这种,用adams也实现绕卷筒的缠绕

开心与哈哈312 发表于 2012-9-26 12:25:56

myh051305 发表于 2012-9-26 12:21 static/image/common/back.gif
你应该是需要做起重机卷筒之类的分析吧?这个比较麻烦,其实可以做,但是你要对接触进行优化。你要根据几 ...

是的,版主您真是太厉害了,我弄的您看一眼就知道怎么回事了,该好好向您学习。
对接触进行优化就是利用脚本仿真,对吧,根据几何信息判断接触的时间,不接触的时候让接触力失效,对吧!但是这个时间上的判断不容易,能够改善的速度貌似不是太大,一旦钢丝绳长起来了,仿真速度还是非常的慢

myh051305 发表于 2012-9-26 12:26:15

开心与哈哈312 发表于 2012-9-26 12:22 static/image/common/back.gif
对对,版主说的非常对,很厉害,就是这样的,ansys只是做了个前处理,建立绳索的几何信息而已,下一步 ...

这个嘛,就得看adams自己了,我印象中adams在柔性体这个部分除了近几年增加了一些接触上的算法外,对柔性体的建模时没有做任何的改善。仅仅是提供mnf方法和离散方法,这些都是有缺陷的,从这个方面来讲,这个是一个不思进取的软件了。rd是近年来流行的一个软件,其本质算法会更好些,对柔性体研究也更深入。

myh051305 发表于 2012-9-26 12:31:21

开心与哈哈312 发表于 2012-9-26 12:25 static/image/common/back.gif
是的,版主您真是太厉害了,我弄的您看一眼就知道怎么回事了,该好好向您学习。
对接触进行优化就是利用 ...

我不太赞成用长传感器,我的思路是尽量减少接触的设置,比如卷筒第一圈(假如只缠绕一圈)的一个小part,他可能只跟三个part接触(卷筒,还有它两侧的part,或者稍微多点)因此根据几何信息判断哪些part会相互作用,这样可以大大减少接触对的设置,仿真自然会快点。
这个时候用matlab建模可能会更方便一些,毕竟adams建模语言并不是很好用

开心与哈哈312 发表于 2012-9-26 12:32:03

myh051305 发表于 2012-9-26 12:26 static/image/common/back.gif
这个嘛,就得看adams自己了,我印象中adams在柔性体这个部分除了近几年增加了一些接触上的算法外,对柔性 ...

对,这两个软件和有所长,在车辆模块上,RD是跟adams没法比的,咱们应该充分利用各个软件的长处,联合做,其实设计RD的人就是设计adams的博士生,RD有很多的继承。adams也是在不断的改善,但是算法上是没有改进,先进的软件还是需要先进的算法理论做支撑。
再次感谢版主给大家提供了一个很好的思路,我在下面思考思考,把这些的思想、资料联合在一起,争取把这个问题解决了。adams还是有很多的优点的,用起来很方便,大家一起研究学习,共同进步

开心与哈哈312 发表于 2012-9-26 12:37:07

myh051305 发表于 2012-9-26 12:31 static/image/common/back.gif
我不太赞成用长传感器,我的思路是尽量减少接触的设置,比如卷筒第一圈(假如只缠绕一圈)的一个小part, ...

好的,用长传感器也是很麻烦的,也就是没必要把所有的part都相互作用,不用都加上接触力,最后能达到预期所要的结果数据就行了,对吧,就像您做的这个例子,只加了借个接触力,而那个连接上把所有的part都和滑轮加上了接触力,这是没必要的

nihaoma 发表于 2012-9-26 19:08:57

多谢分享,学到了一种新思路

雨沐枫 发表于 2012-9-26 21:53:19

谢谢分享,值得学习

lyell001 发表于 2012-10-8 15:26:35

斑竹和开心的对话,说的我云里雾里,自行惭愧啊,也是对我一个很好的鞭策!!!!大家加油

ksw1006 发表于 2012-11-16 14:57:30

好厉害啊:victory::victory::victory:

yzh621 发表于 2012-12-4 15:28:20

不错啊





页: [1] 2
查看完整版本: 用matlab生成cmd命令