chenbinok 发表于 2010-10-27 16:17:27

调用ansys遇到的问题

下面的附件是编写25杆组成的一个桁架,我想把这个'truss25.txt’重新写到另一个“compete.txt"中去,同时要对里面的“crossh1到crossh25及pp1 pp2 pp3 pp4”要重新赋值。应该应用什么语句去读和写??

chenbinok 发表于 2010-10-27 16:18:51

1# chenbinok
这个是附件

bainhome 发表于 2010-10-27 17:16:07

没看程序,不过就本身而言,用save/load足够,注意help中,命令后置参数的使用,同时参考论坛里的相关讨论,问题不大。

bainhome 发表于 2010-10-27 17:22:00

刚才看到题目,扫了一下这个程序,见到用“!”调用了ansys,如果是ANSYS形成的txt文本,则具体问题具体分析,建议ansys内数据生成也比较“规范”,不要有文字什么的,纯数据,多列,很久前用过ansys,这完全可以轻松实现。

chenbinok 发表于 2010-10-27 19:59:18

4# bainhome
你好 这个附件中的.txt就是由ansys产生的 该如何写呢?麻烦你大概给写下 谢谢啊

bainhome 发表于 2010-10-27 20:36:35

我电脑里没装ansys,执行不了命令流,况且个人不大赞成写现成东西的助人形式。
在APDL中有类似能干预纯文本格式定义的生成命令,没记错好像是*VREAD/*VWRITE吧,毕竟是要读入MATLAB的,应遵循怎么方便怎么来的原则,把所关心的数据按照规则写出来即可。

bainhome 发表于 2010-10-27 20:45:37

本帖最后由 bainhome 于 2010-10-27 20:54 编辑

另外,如果你是想把整个命令流搞成txt往MATLAB里倒,我觉得比较匪夷所思。什么项目会这么弄呢?ANSYS本身的数据I/O也很强大的啊,怎么不在那里面先想想如何对数据做个加工呢?
你现在这个思路个人以为很值得商榷。在MATLAB中调整这样复杂格式的文本save无法完成,需要用fseek等low level读写函数实现指针的移动,相对麻烦,建议在数据格式上想想简化的办法,会大大提高工作效率,简单的空间桁架,没理由在I/O上花费如此巨大的精力,这本身就是不正常的。
ps:命令流也可以写得相对参数化一点儿。

chenbinok 发表于 2010-10-27 21:22:10

[url=http://forum.simwe.com/redirect.php?goto=findpost&pid=2
205217&ptid=955802]7# bainhome
你好,你说的很对。之前我已经意识到这个思路有问题,现在我已用“VREAD/MWRITE"把29个随机变量的参数输入到ANSYS命令流中,但是如何把29个参数分别赋给ANSYS中的变量呢??(随机变量中包含杆截面积,所受压.拉力,同时他们的分布也不同)谢谢

bainhome 发表于 2010-10-27 21:51:33

没有装ANSYS,无法作答,但是无非就是写txt、读txt,变量代表的数据写成文本格式传来传去,ANSYS的命令知道,随便找个参数化APDL的书翻翻这两个命令的成型实例,模仿下应该很快能写出来。
你也可以把这个问题分成两个部分,在ANSYS内部的数据读写可以搜索ANSYS版面上的相关内容,相信已经很多人做过类似的工作,毕竟数据的读写比较普遍,实例应该非常多,把这部分弄懂了再回到MATLAB中,我相信那个时候,你这个问题又会发生变化。

liushuangq05 发表于 2010-10-27 22:08:24

个人觉得按apdl语言的规则,通过matlab生成apdl程序代码就可以了.没必要把两套软件进行反复调用.前些天在天津大学看有些老师用VC调用ansys,其实思路上还是用VC来编写apdl.

chenbinok 发表于 2010-10-28 09:01:18

9# bainhome
谢谢你的帮助 问题已经解决
页: [1]
查看完整版本: 调用ansys遇到的问题