功能定制ANSYS工具栏的一种方法.docx

上传人:b****1 文档编号:2402521 上传时间:2023-05-03 格式:DOCX 页数:14 大小:59.87KB
下载 相关 举报
功能定制ANSYS工具栏的一种方法.docx_第1页
第1页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第2页
第2页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第3页
第3页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第4页
第4页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第5页
第5页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第6页
第6页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第7页
第7页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第8页
第8页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第9页
第9页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第10页
第10页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第11页
第11页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第12页
第12页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第13页
第13页 / 共14页
功能定制ANSYS工具栏的一种方法.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

功能定制ANSYS工具栏的一种方法.docx

《功能定制ANSYS工具栏的一种方法.docx》由会员分享,可在线阅读,更多相关《功能定制ANSYS工具栏的一种方法.docx(14页珍藏版)》请在冰点文库上搜索。

功能定制ANSYS工具栏的一种方法.docx

功能定制ANSYS工具栏的一种方法

标题:

利用[宏]功能定制ANSYS工具栏的一种方法(InC/C++)[打印本页]

作者:

Rainyboy时间:

2010-10-1422:

24标题:

利用[宏]功能定制ANSYS工具栏的一种方法(InC/C++)

本帖最后由Rainyboy于2010-10-1422:

35编辑

不知大家有没有这样的经验,有些时候接了某研究所的课题,要求分析某个结构的强度或者寿命,或者再进一步形成这种结构的设计方法。

合同中要求我们提供一个【界面程序】,在这个【界面程序】中,设计者只需要输入最原始的【几何参数】、【材料参数】、【载荷参数】,由该【界面程序】直接调用ANSYS进行计算和后处理。

整个过程中不需要直接接触APDL代码,完全是由“点鼠标”和“输入数据”完成。

这样的【界面程序】有一个好处,就是使用者不必担心直接修改APDL源程序带来的版本混乱、功能出错等风险,而且比较方便。

0)先看一个【界面程序】的例子吧(为某单位开发的某结构计算软件,合同中有保密条款,所以作了些处理):

[attach]46766[/attach]

其他功能不提,当用户按下【开始计算】便会弹出如下对话框:

[attach]46767[/attach]

用户再次按下【确定】后,就会在程序当前运行的目录下生成一个与输入JobName相同的文件夹,并在此文件夹中载入ANSYS,运行后,其工具栏上会出现一些定制的功能按钮,点击这些按钮,就可以执行这些定制功能了(比如“建模”“分网”“求解”和“后处理”),而且还可以根据需要显示对话框:

[attach]46768[/attach]

 

这种【界面程序】的核心,在于外部程序中实现对ANSYS的调用和定制,这正是我想在这里和大家分享和探讨的问题。

1)定制ANSYS工具栏的流程(也许不是唯一的实现方法):

a)准备好APDL(这一步通常希望由用户通过【界面程序】设置参数后完成,其实就是在指定的目录按照用户输入的参数生成文件,不是本帖的重点),将后缀名改为.MAC,存放在某个工作目录下。

例如有建模代码和求解代码存放在目录d:

/ansyswork下

b)找到.../ANSYSINC/V110/ANSYS/APDL中的文件,在文件的最后加入:

/PSEARCH,

*ABBR,MODEL,MODEL

*ABBR,SOLU,SOLU

c)启动ANSYS11,设置工作目录为d:

/ansyswork,那么ANSYS11启动完毕之后,就会在工具栏上出现MODEL和SOLU的按钮了,点击相应的按钮就相当于执行了对应文件中的APDL代码。

d)将所增加的内容删除,避免对其它工作产生影响。

2)编程过程中的几个关键:

a)获得ANSYS的安装目录

1.char*pAnsysDir;AC

1.");AC

.,希望能和你交流这方面的技术啊,能留个联系方式吗

作者:

Rainyboy时间:

2010-10-2018:

31

回复有梦的人的帖子

咱们论坛不就是联系方式么

作者:

有梦的人时间:

2010-10-2018:

36

可是即时交流不行啊,呵呵,坛子是会来的,要做的项目和你做得差不多,多多指教

作者:

Rainyboy时间:

2010-10-2018:

44

回复有梦的人的帖子

那你可以先把代码存下来用用,如果不能直接为你的场合所用的话,再根据你的实际情形做一些修改。

在使用中有涉及ANSYS相关的问题你可以在这个分区发帖,如果纯粹是编码实现的问题可以到算法与编程语言区探讨。

作者:

有梦的人时间:

2010-10-2018:

49

已经COPY了,不过想问个ANSYS的,进行流固耦合分析时候,怎么找不到FSI相关命令的工具啊,看了帮助说是被其它的代替了,能不能支个招啊

作者:

16443时间:

2010-10-2019:

54

回复Rainyboy的帖子

如果没有版权问题,可以把源程序也给分享了,好让别人参考你的程序。

作者:

Rainyboy时间:

2010-10-2020:

08

回复16443的帖子

整个界面程序是有版权的,按合同不得向第三方转让。

但是这篇帖子所涉及的方法分享给大家没有问题,相应的源代码在文中都贴出来了。

之所以不采用附件,是因为代码本身不长,大家即时能看到的话可以提提意见。

谢谢你对这部分工作的肯定

作者:

bingo_1124时间:

2010-11-621:

38

这个真的很厉害啊

作者:

linderman时间:

2010-11-921:

49

啧啧~~

作者:

有梦的人时间:

2010-11-1518:

01

Rainyboy发表于2010-10-1422:

24

不知大家有没有这样的经验,有些时候接了某研究所的课题,要求分析某个结构的强度或者寿命,或者再进一...

感觉你的这个程序是对ANSYS的显式调用,为什么不做成隐式的啊,那样不是更好吗不用直接在ANSYS窗口界面,只需要对话框输入就行了啊,望赐教啊

作者:

Rainyboy时间:

2010-11-1519:

23

回复11#有梦的人的帖子

你说得对,后台调用有后台调用的好处,这种情况下用户完全可以不知道他在使用ANSYS进行计算(当然他得装ANSYS,有点纠结哈……),界面程序需要为用户提供非常全面的后处理,满足所有的需求;我贴出来的这个程序运行之后计算结果最终还是在ANSYS里呈现,要说比后台调用好的话就在于用户可以爱怎么做后处理就怎么做后处理,在使用定制化的按钮功能的同时也不妨碍使用ANSYS本身提供的功能,当然,最大的好处就是界面程序不需要提供特别多的后处理功能了。

实际上哪个更好我想得看使用场合吧,用户需要什么,咱们就做什么

作者:

有梦的人时间:

2010-11-1520:

07

嗯,是这样的,不过你的程序有的地方我还是有些看不懂,呵呵...,但很想请教你

作者:

Rainyboy时间:

2010-11-1520:

50

回复13#有梦的人的帖子

恩,是流程的问题还是语言的问题

作者:

有梦的人时间:

2010-11-1521:

11

以前看一些介绍二次开发的,都是用CREATEPROCESS,或者是WinExec等函数实现,你的这个,以命令行,也就是说可以显式的调用吗整个函数都要自己写的吗

作者:

Rainyboy时间:

2010-11-1521:

17

回复15#有梦的人的帖子

我用的是system()函数运行的命令行而已,WinExec也可以啊,主要是调用之前要准备一些相关的工作,比如得到当前路径、写文件什么的;调用之后吧又要把改回去。

你从LoadANSYSNamed()函数开始看,就能明白了。

作者:

有梦的人时间:

2010-11-1521:

33

LoadANSYSNamed()函数中的Rainyboy也就是你的计算机名吗

作者:

Rainyboy时间:

2010-11-1521:

41

回复17#有梦的人的帖子

不是计算机名字,是随便给的一个名字,这个参数的作用是在当前目录下生成一个同名的文件夹,将这个文件夹作为ANSYS的工作目录而已。

作者:

有梦的人时间:

2010-11-1521:

55

Rainyboy发表于2010-11-1521:

17

回复15#有梦的人的帖子

我用的是system()函数运行的命令行而已,WinExec也可以啊,主要是调用之前要准...

谢谢你啊,主任,有不懂的地方,还会骚扰你的啊...

作者:

有梦的人时间:

2010-11-1620:

10

Rainyboy发表于2010-11-1521:

17

回复15#有梦的人的帖子

我用的是system()函数运行的命令行而已,WinExec也可以啊,主要是调用之前要准...

为什么当时想到用SYSTEM命令行调用,而不用其它的一些函数来调用啊

作者:

Rainyboy时间:

2010-11-1621:

40

回复20#有梦的人的帖子

给出的代码没有包含窗体,要做窗体的话在某个按钮的响应函数里调用LoadANSYSNamed就可以了

作者:

有梦的人时间:

2010-11-2415:

21

Rainyboy发表于2010-10-1422:

24

不知大家有没有这样的经验,有些时候接了某研究所的课题,要求分析某个结构的强度或者寿命,或者再进一...

你入口函数里面的stringAdditionCmd(ANSYSName)函数怎么定义的啊,怎么没有看到

作者:

Rainyboy时间:

2010-11-2416:

00

回复22#有梦的人的帖子

stringAdditionCmd(ANSYSName)

这句话是实例化一个名字叫AdditionCmd的string对象,相当于调用的是string:

:

string(constchar*)。

说白了,不是定义函数,是创建对象。

作者:

Rainyboy时间:

2010-11-2416:

03

回复22#有梦的人的帖子

system()调用中的参数意义在ANSYS帮助文档里面有:

OperationsGuide|Chapter3.RunningtheANSYSProgram|

.StartinganANSYSSessionfromtheCommandLevel

-g是显示图形界面

-j是指定jobname

还有其他的,你查查看看吧

作者:

有梦的人时间:

2010-11-2416:

40

本帖最后由有梦的人于2010-11-2416:

41编辑

Rainyboy发表于2010-11-2416:

00

回复22#有梦的人的帖子

stringAdditionCmd(ANSYSName)

 

弱弱地问一下,string不是一个数据类型吗,怎么能定义成一个类啊

作者:

huxiaoqi时间:

2010-12-617:

37

教研室主任太强大了,向你学习!

作者:

有梦的人时间:

2010-12-710:

20

研究一下觉得文件代码里面56、57两行代码可以不要,不知道LZ怎么看的啊

作者:

Rainyboy时间:

2010-12-712:

40

回复27#有梦的人的帖子

呵呵,/PSEARCH命令指定宏的搜索范围,这里设置的是当前目录,当然ANSYS工作时也会搜索当前目录,所以可以不要。

作者:

sd05041212时间:

2011-3-916:

53

回复1#Rainyboy的帖子

学习

作者:

chx_pj时间:

2011-3-2910:

53

你好,初来咋到,多多关照。

我用[宏]功能定制ANSYS工具栏时,点击任何一个新建按钮都提示“FRAME

-MODELisnotarecognizedbegincommand,abbreviation,orcommandwillbeignored”,书上说建立宏文件后直接点击按钮就可以了,不知道为什么不行,可以帮忙解决一下吗,多谢多谢

作者:

Rainyboy时间:

2011-3-2910:

58

回复30#chx_pj的帖子

你好,你是如何修改文件的呢“FRAME-MODEL”这样的字样是出现在你代码的什么位置

作者:

chx_pj时间:

2011-3-2911:

00

/psearch,d:

\FrameAnalysis

*abbr,model,Frame_model

*abbr,pres,Frame_pres

*abbr,USUM,Frame_PLOT_USUM

*abbr,SEQV,Frame_PLOT_SEQV

*ABBR,N,Frame_Axis_Force

*abbr,Mx,Frame_Mx

*abbr,My,Frame_My

*abbr,Mz,Frame_Mz

*abbr,AVI_SEQV,Frame_AVI_SEQV

作者:

chx_pj时间:

2011-3-2911:

02

非常感谢师兄OR师姐的帮忙,呵呵

这个问题弄了好几天了,一直没有解决

作者:

chx_pj时间:

2011-3-2911:

04

我是在文件的末尾添加的以上命令

作者:

Rainyboy时间:

2011-3-2915:

41

回复34#chx_pj的帖子

目前的这些操作应该都是对的,你的d:

\FrameAnalysis都有这些.MAC文件吗,贴一个的开头几行我看看

作者:

chx_pj时间:

2011-3-2917:

20

!

第一步初始化ANSYS环境

finish

/clear

/filname,Demo_frame

/view,1,,,!

调整模型显示方位和角度

/ang,1,66

!

第二步定义门字架的高度与宽度

multipro,'start',2

*cset,1,3,Height,'HeightofFrame:

',10

*cset,4,6,Width,'WidthofFrame:

',8

multipro,'end'

 

!

第三步选择材料

*ASK,N_mat,theMaterialTypeofFrame(1/2),1

 

!

第四步选择门子架的截面形状

*ASK,N_section,theSectionTypeofFrame(1/2),1

 

!

第五步根据参数创建有限元模型

*dim,Lxyz,,3,3

*if,N_section,EQ,1,then

Lxyz(1,1)=1,0,-1

Lxyz(1,2)=0,0,0

Lxyz(1,3)=0,1,0

*else

Lxyz(1,1)=0,0,0

Lxyz(1,2)=1,1,-1

Lxyz(1,3)=0,0,0

*endif

作者:

chx_pj时间:

2011-3-2917:

25

FrameAnalysis文件夹中所有的宏文件都有,上面是建模宏文件的一部分

作者:

Rainyboy时间:

2011-3-2918:

03

回复37#chx_pj的帖子

我感觉是你的FrameAnalysis目录下那些文件名存错了吧

按你的写法,应该存如下文件名:

 

作者:

chx_pj时间:

2011-3-2922:

00

本帖最后由chx_pj于2011-3-2922:

02编辑

论坛开着忘刷新了,刚看到回复

刚刚找到一部分解决办法了,在FrameAnalysis文件中存的宏文件还有一个txt的后缀名,但被隐藏了,调了文件查看才发现。

在每个宏文件最开始的位置加入/PMACRO命令建模按钮可以调用宏文件了。

多谢rainboy的帮助

作者:

Rainyboy时间:

2011-3-2922:

03

回复39#chx_pj的帖子

客气,但是我试你的代码时,没加/PMACRO,也能通过……没有出现相应的错误……奇怪

作者:

chx_pj时间:

2011-3-2922:

07

那太奇怪了,为什么我的就不行,直接系统就是出错提示“thelogfilewillnotreproducetheansyssessionsincethemacroinusecontainsGUIcommandswhicharenotrecordedonthelogfile.Toremedythis,add/PMACROtothebeginningofthemacro”

作者:

chx_pj时间:

2011-3-2922:

09

我用的ANSYS是盗版的,是这个原因吗

作者:

Rainyboy时间:

2011-3-2922:

24

回复41#chx_pj的帖子

thelogfilewillnotrepr

上面这个错误提示如果多复制几行你的代码的话(包含UGI之后)我也当然会出现了,我是说加不加/PMACRO不至于出现下面这个错误:

FRAME-MODELisnotarecognizedbegincommand,abbreviation,orcommandwillbeignored

最开始你不是说会出现这个错误么……后来怎么解决的

作者:

chx_pj时间:

2011-3-3009:

25

FRAME-MODELisnotarecognizedbegincommand,abbreviation,orcommandwillbeignored

这个错误是因为我的宏文件没有存储正确。

我的宏文件是用文本文档写的,在.mac的后面,系统默认还加入了一个.txt的后缀,但是隐藏了,没有显示,所以实际与缩写按钮对应的宏文件是“文件名.”,所以ANSYS不认识,就出现了以上错误。

去掉.txt就可以了。

作者:

chx_pj时间:

2011-3-3015:

14

本帖最后由chx_pj于2011-3-3015:

22编辑

回复44#chx_pj的帖子

作者:

chx_pj时间:

2011-3-3015:

14

回复43#Rainyboy的帖子

FRAME-MODELisnotarecognizedbegincommand,abbreviation,orcommandwillbeignored

这个错误是因为我的宏文件没有存储正确。

我的宏文件是用文本文档写的,在.mac的后面,系统默认还加入了一个.txt的后缀,但是隐藏了,没有显示,所以实际与缩写按钮对应的宏文件是“文件名.”,所以ANSYS不认识,就出现了以上错误。

去掉.txt就可以了。

作者:

zzczzx时间:

2011-4-1021:

44

这么好的东西,我copy下来,放在硬盘里。

以后慢慢用,现在还有很多不明白的地方,不敢改的。

慢慢来。

一旦改了,ansys不好重装。

作者:

hancunliang时间:

2011-4-1311:

24

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2