注册 登录
Simwe仿真论坛(forum.simwe.com),CAE/CAD/CAM/,FEA/FEM/有限元分析论坛---(手机验证注册) 返回首页

battlestar的个人空间 https://forum.simwe.com/?308298 [收藏] [复制] [分享] [RSS]

日志

ansys 二次开发 APDL & UIDL

已有 1662 次阅读2009-3-29 20:35 |

忙碌中度过一星期,逃避无聊的胡思乱想,玩弄了一下ANSYS的二次开发,偶有收获~
  网上一朋友通过APDL做的一个发电厂的煤斗,就借来作为研究的对象。
  第一步,将APDL文件中需要人工修改的参数提取出来。(就是*set,par,real)中的parameter记下。
  第二步,修改ansys11.0\v110\ANSYS\gui\en-us\UIDL下的uimenu.GRN。这里通过uidl遍程,使我们的mainmenu生成我们需要的模块。
    


  打开文件开始改写uimenu.GRN
:N MEN_DL                    !名字
:S    171,    74,    90      !mainmenu位置 9,16,23处初始编写要设为0 在运行后系
                             !统会自动分配
:T MENU                      !菜单类型 可以设为command,help,menu
:A preprocessor              ! 显示字符传用于menu上的显示
:D preprocessor              ! 显示字符传用于box(对话框)上的显示
!input your arguments        !注释
Fnc_SPMateirial              !调用函数Fnc_SPMateirial  
Fnc_ET1                      !调用函数Fnc_ET1
Fnc_INPARG2
Fnc_INPARG3
Fnc_RUN
:E END
:!
:N Fnc_ET1                   !函数Fnc_ET1 函数开头要为Fnc_要注意大小写
:S    238,   108,   123      !mainmenu位置 9,16,23处初始编写要设为0 在运行后系                             !统会自动分配
:T Command                   !命令类型
:A Add/Edit/Delete           !menu header这里只能用英文注释
:D 选择你需要的单元!!      !box header这里可以汉字注释
:H Hlp_UI_ElemType           !帮助文件
Cmd_)/prep7                  !进入前处理
Inp_P                        !鼠标点选
Cmd_)ETYPE                   !单元类型(命令流操作)  Cmd_)命令行调用macro
Cmd_)STAT,,, ,,, ,,1         !同上命令流操作
! Cust_Cal_Fnc_ET_add        !定制函数模块Fnc_ET_add
! Cust_Cal_Fnc_KEYOPT_nnn[1-180]
! Cust_Cmd_ETDELE
:E END                       !结束符
:!




!!!!输入窗口的编写!!!!!!!!!
:N Fnc_INPARG3        
:S    480,    95,   378
:T COMMAND
:A INPUT YOUR ARGUMENTS(3)
:D 输入您的参数~~
Inp_NoApply                   !隐藏apply按钮
Cmd_)*Cset,1,3                !定义一个起始位置为1终止位置为3的批量输入
Fld_0                         !Fld_0 只能用来添加注释  其后必须有Typ_Lab来定
                              ! 义它的用途
Typ_Lab                                  
Prm_单击OK 开始愉快的工作~~   !Prm_  文本显示
Fld_2                         !Fld_2 要从2开始 1是不被定义的
Prm_加强钢板宽[HD_LX_jqgb_w]  !Prm_  文本显示
Typ_Real                      !Fld_2 被用来定义实数 Typ_可加real int color char等
Def_*PAR(HD_LX_jqgb_w)        !定义参数(parameter)
Fld_3
Prm_加强钢板厚[HD_LX_jqgb_d]
Typ_Real
Def_*PAR(HD_LX_jqgb_d)
Cmd_)/GO                      !命令行输入
Cmd_)*get,HD_LX_jqgb_w,cpar,1 !命令行输入*get,parameter,cpar,num num为blank的位置  
Cmd_)*get,HD_LX_jqgb_d,cpar,2
:E END



!!!!!!!生成macro!!!!
    事先我们应该将APDL进行修改除了删去输入参数意外,还要将剩余的部分保留,在文本前加上*creat,Fnm,MAC 文本后加*END 通过ANSYS 的inp或者command line输入。
    如果属于机密的,应当做成加密宏(macro)那就是在已有的宏的头一行填加/ENCRYPT,PASSWORD,Fnm(要加密宏的名字),director_path(宏所在路径)。第二行加上/nopr 不保存命令流,最后一行要加上/ENCRYPT。
!!!!!!!调用macro!!!!!!!!!!
:N Fnc_RUN
:S    228,   107,   114 COMMAND
:A RUN THE ANALYSIS
:D 只要轻轻点击键盘,就可以摆脱无聊的ANSYS!
!运行开始
Inp_NoApply
Fld_0
Typ_LAB
Prm_做个小实验~!APDL由南昌大学的小辉兄弟提供~UIDL由BattleStar完成~!
Cmd_)hui                                           !在这里通过命令流的方式直接调用
:E END
!!!!!!!!!!!!!

     这样基本上就可以实现apdl的macro和uidl结合使用!!完全实现参数化分析节省宝贵的时间,从而也为实现优化设计提供了前提。从这里也可以看出之所以ansys相对于别的cae软件的最大优势就是他那令人头痛的建模和繁琐的分析,这些操作都是可以命令流实现~
     ansys的参数化分析才是其最大的精髓~

详情登陆 http://user.qzone.qq.com/51046438
1

路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-20 16:06 , Processed in 0.022521 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

返回顶部