功能定制ANSYS工具栏的一种方法_第1页
功能定制ANSYS工具栏的一种方法_第2页
功能定制ANSYS工具栏的一种方法_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、标题:利用宏功能定制ANSYS工具栏的一种方法(In C/C+打印本页作者:Rainyboy 时间:2010-10-14 22:24 标题:利用宏功能定制ANSYST具 栏的一种方法(In C/C+本帖最后由 Rainyboy于2010-10-14 22:35编辑不知大家有没有这样的经验,有些时候接了某研究所的课题,要求分析某个结 构的强度或者寿命,或者再进一步形成这种结构的设计方法。 合同中要求我们提 供一个【界面程序】,在这个【界面程序】中,设计者只需要输入最原始的【几 何参数】、【材料参数】、【载荷参数】,由该【界面程序】直接调用ANSYS进行计算和后处理。整个过程中不需要直接接触 AP

2、DL代码,完全是由 点鼠标”和输入数据”完成。 这样的【界面程序】有一个好处,就是使用者不必担心直接修改 APDL源程序带 来的版本混乱、功能出错等风险,而且比较方便。0)先看一个【界面程序】的例子吧(为某单位开发的某结构计算软件,合同中 有保密条款,所以作了些处理):attach46766/attach其他功能不提,当用户按下【开始计算】便会弹出如下对话框:attach46767/attach用户再次按下【确定】后,就会在程序当前运行的目录下生成一个与输入JobName相同的文件夹,并在此文件夹中载入 ANSYS运行后,其工具栏上会出现一些定 制的功能按钮,点击这些按钮,就可以执行这些定制功

3、能了(比如 建模”分网”求 解”和 后处理”),而且还可以根据需要显示对话框:attach46768/attachANSYS的调用和定制,这这种【界面程序】的核心,在于外部程序中实现对 正是我想在这里和大家分享和探讨的问题。1)定制ANSYS工具栏的流程(也许不是唯一的实现方法):a)准备好APDL这一步通常希望由用户通过 【界面程序】设置参数后完成,其 实就是在指定的目录按照用户输入的参数生成文件,不是本帖的重点 ),将后缀 名改为.MAC,存放在某个工作目录下。例如有建模代码和求解代码存放在目录d:/a nsyswork 下b)找到/ANSYS INC/V110/ANSYS/APD中的文件

4、,在文件的最后加入: /PSEARCH,*ABBR,MODEL,MODEL *ABBR,SOLU,SOLUc)启动ANSYS11设置工作目录为d:/ansyswork,那么ANSYS11 启动完毕之后, 就会在工具栏上出现 MODEL和SOLU的按钮了,点击相应的按钮就相当于执行 了对应文件中的APDL代码。d)将所增加的内容删除,避免对其它工作产生影响。2)编程过程中的几个关键:a)获得ANSYS勺安装目录1. char *pAnsysDir;AC1.);AC.,希望能和你交流这方面的技术啊,能留个联系方式吗作者:Rain yboy 时间:2010-10-20 18:31回复有梦的人的帖子咱

5、们论坛不就是联系方式么作者:有梦的人 时间:2010-10-20 18:36可是即时交流不行啊,呵呵,坛子是会来的,要做的项目和你做得差不多,多多 指教作者:Rain yboy 时间:2010-10-20 18:44回复有梦的人的帖子那你可以先把代码存下来用用,如果不能直接为你的场合所用的话,再根据你的实际情形做一些修改。在使用中有涉及 ANSYS相关的问题你可以在这个分区发 帖,如果纯粹是编码实现的问题可以到算法与编程语言区探讨。作者:有梦的人 时间:2010-10-20 18:49已经COPY了,不过想问个ANSYS的,进行流固耦合分析时候,怎么找不到FSI相关命令的工具啊,看了帮助说是被

6、其它的代替了,能不能支个招啊作者:16443 时间:2010-10-20 19:54回复 Rainyboy的帖子如果没有版权问题,可以把源程序也给分享了,好让别人参考你的程序。作者:Rain yboy 时间:2010-10-20 20:08回复16443的帖子整个界面程序是有版权的,按合同不得向第三方转让。但是这篇帖子所涉及的方 法分享给大家没有问题,相应的源代码在文中都贴出来了。之所以不采用附件, 是因为代码本身不长,大家即时能看到的话可以提提意见。 谢谢你对这部分工作作者:bingo_1124 时间:2010-11-6 21:38这个真的很厉害啊作者:linderman 时间:2010-1

7、1-9 21:49作者:有梦的人 时间:2010-11-15 18:01Rainyboy 发表于 2010-10-14 22:24不知大家有没有这样的经验,有些时候接了某研究所的课题,要求分析某个结构 的强度或者寿命,或者再进一 感觉你的这个程序是对 ANSYS勺显式调用,为什么 不做成隐式的啊,那样不是 更好吗不用直接在ANSYS窗 口界面,只需要对话框输入就行了啊,望赐教啊 作者:Rain yboy 时间:2010-11-15 19:23回复11 #有梦的人的帖子你说得对,后台调用有后台调用的好处,这种情况下用户完全可以不知道他在使 用ANSYS进行计算(当然他得装 ANSYS有点纠结哈)

8、,界面程序需要为用 户提供非常全面的后处理,满足所有的需求;我贴出来的这个程序运行之后计算 结果最终还是在ANSYS里呈现,要说比后台调用好的话就在于用户可以爱怎么 做后处理就怎么做后处理,在使用定制化的按钮功能的同时也不妨碍使用 ANSYS 本身提供的功能,当然,最大的好处就是界面程序不需要提供特别多的后处理功 能了。实际上哪个更好我想得看使用场合吧,用户需要什么,咱们就做什么作者:有梦的人 时间:2010-11-15 20:07嗯,是这样的,不过你的程序有的地方我还是有些看不懂,呵呵,但很想请教你作者:Rain yboy 时间:2010-11-15 20:50回复13 #有梦的人的帖子恩,

9、是流程的问题还是语言的问题作者:有梦的人 时间:2010-11-15 21:11以前看一些介绍二次开发的,都是用CREATEPROCES或者是Win Exec等函数实 现,你的这个,以命令行,也就是说可以显式的调用吗整个函数都要自己写的吗作者:Rain yboy 时间:2010-11-15 21:17回复15 #有梦的人的帖子我用的是system()函数运行的命令行而已, Win Exec也可以啊,主要是调用之前 要准备一些相关的工作,比如得到当前路径、写文件什么的;调用之后吧又要把 改回去。你从LoadANSYSName()函数开始看,就能明白了。作者:有梦的人 时间:2010-11-15

10、21:33LoadANSYSName()函数中的 Rainyboy也就是你的计算机名吗作者:Rain yboy 时间:2010-11-15 21:41回复17 #有梦的人的帖子不是计算机名字,是随便给的一个名字,这个参数的作用是在当前目录下生成一 个同名的文件夹,将这个文件夹作为 ANSYS勺工作目录而已。作者:有梦的人 时间:2010-11-15 21:55Rainyboy 发表于 2010-11-15 21:17回复15 #有梦的人的帖子我用的是system()函数运行的命令行而已, Win Exec也可以啊,主要是调用之前 要准谢谢你啊,主任,有不懂的地方,还会骚扰你的啊作者:有梦的人

11、时间:2010-11-16 20:10Rainyboy 发表于 2010-11-15 21:17回复15 #有梦的人的帖子我用的是system()函数运行的命令行而已,Win Exec也可以啊,主要是调用之前要准为什么当时想到用SYSTEM命令行调用,而不用其它的一些函数来调用啊作者:Rain yboy 时间:2010-11-16 21:40回复20 #有梦的人的帖子给出的代码没有包含窗体,要做窗体的话在某个按钮的响应函数里调用LoadANSYSName就可以了作者:有梦的人时间:2010-11-24 15:21Rainyboy 发表于 2010-10-14 22:24不知大家有没有这样的经验

12、,有些时候接了某研究所的课题,要求分析某个结构 的强度或者寿命,或者再进一你入口函数里面的string AdditionCmd(ANSYSName函数怎么定义的啊,怎么没有 看到 作者:Rain yboy 时间:2010-11-24 16:00回复22 #有梦的人的帖子stri ng Additio nCmd(ANSYSName)这句话是实例化一个名字叫 AdditionCmd的string对象,相当于调用的是 stri ng:stri ng(c onst char *)。说白了,不是定义函数,是创建对象。作者:Rain yboy 时间:2010-11-24 16:03回复22 #有梦的人的帖

13、子system()调用中的参数意义在 ANSYS帮助文档里面有:Operations Guide | Chapter 3. Running the ANSYS Program | .Start ing an ANSYS Sessi on from the Comma nd Level-g是显示图形界面-j是指定job name还有其他的,你查查看看吧 作者:有梦的人 时间:2010-11-24 16:40本帖最后由 有梦的人 于2010-11-24 16:41编辑Rainyboy 发表于 2010-11-24 16:00回复22 #有梦的人的帖子stri ng Additio nCmd(ANS

14、YSName)弱弱地问一下,string不是一个数据类型吗,怎么能定义成一个类啊作者:huxiaoqi 时间:2010-12-6 17:37教研室主任太强大了,向你学习!作者:有梦的人 时间:2010-12-7 10:20研究一下觉得文件代码里面56、57两行代码可以不要,不知道 LZ怎么看的啊作者:Rain yboy 时间:2010-12-7 12:40回复27 #有梦的人的帖子呵呵,/PSEARCH命令指定宏的搜索范围,这里设置的是当前目录,当然ANSYS工作时也会搜索当前目录,所以可以不要。作者:sd05041212 时间:2011-3-9 16:53回复1 # Rainyboy的帖子学

15、习你好,初来咋到,多多关照。我用宏功能定制ANSYST具栏时,点击任何一个新建按钮都提示“FRAME-MODEL is not a recog ni zed beg in comma nd, abbreviati on, or comma nd will beignored ”书上说建立宏文件后直接点击按钮就可以了,不知道为什么不行,可以帮忙解决一下吗,多谢多谢 作者:Rain yboy 时间:2011-3-29 10:58回复 30 # chxpj的帖子你好,你是如何修改文件的呢 “ FRAMMODE”这样的字样是出现在你代码的什 么位置作者:chx_pj 时间:2011-3-29 11:0

16、0/psearch,d:FrameA nalysis*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,M z,F rame_Mz*abbr,AVI_SEQV,Frame_AVI_SEQV作者:chx_pj 时间:2011-3-29 11:02非常感谢师兄OR师姐的帮忙,呵呵这个问题弄了好几天了,一直没有解决作者:chx_pj 时

17、间:2011-3-29 11:04我是在文件的末尾添加的以上命令作者:Rain yboy 时间:2011-3-29 15:41回复34 # chx pj的帖子目前的这些操作应该都是对的,你的d:FrameAnalysis都有这些.MAC文件吗,贴 一个的开头几行我看看!第一步初始化ANSY酥境fin ish/clear/fil name,Demo_frame/view,1, !调整模型显示方位和角度 /an g,1,66!第二步 定义门字架的高度与宽度multipro,start,2 *cset,1,3,Height,Height of Frame:,10 *cset,4,6,Width,Wi

18、dth of Frame:,8 multipro,e nd!第三步选择材料 *ASK,N_mat,the Material Type of Frame(1/2),1!第四步选择门子架的截面形状*ASK,N_sectio n,the Section Type of Frame(1/2),1!第五步根据参数创建有限元模型*dim,Lxyz,3,3*if,N_sectio n,EQ,1,the n Lxyz(1,1)=1,0,-1Lxyz(1,2)=0,0,0Lxyz(1,3)=0,1,0*elseLxyz(1,1)=0,0,0Lxyz(1,2)=1,1,-1Lxyz(1,3)=0,0,0*en d

19、ifFrameA nalysis文件夹中所有的宏文件都有,上面是建模宏文件的一部分作者:Rain yboy 时间:2011-3-29 18:03回复 37 # chx_pj 的帖子 我感觉是你的FrameAnalysis目录下那些文件名存错了吧 按你的写法,应该存如下文件名:作者:chx_pj 时间:2011-3-29 22:00本帖最后由 chx_pj于2011-3-29 22:02编辑论坛开着忘刷新了,刚看到回复刚刚找到一部分解决办法了,在 FrameA nalysis文件中存的宏文件还有一个txt 的后缀名,但被隐藏了,调了文件查看才发现。在每个宏文件最开始的位置加入/PMACRO命令建

20、模按钮可以调用宏文件了。多谢rainboy的帮助 作者:Rain yboy 时间:2011-3-29 22:03回复 39 # chx_pj 的帖子客气,但是我试你的代码时,没加/PMACRO,也能通过没有出现相应的错误 奇怪 作者:chx_pj 时间:2011-3-29 22:07那太奇怪了,为什么我的就不行,直接系统就是出错提示“ the log file will notreproduce the an sys sessi on since the macro in use contains GUI comma nds which are not recorded on the log file. To remedy this, add /PMACRO to the beg inning of the macro ”作者:Rain yboy 时间:2011-3-29 22:24回复 41 # chx_pj的帖子the log file will not repr上面这个错误提示如果多复制几行你的代码的话(包含UGI之后)我也当然会出现了,我是说加不加/PMACRO不至于出现下面这个错误:FRAME-MODEL is not a recog ni zed beg in comma nd, abbreviatio n, orcomma nd will be ignored最

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论