第三章 用Tcl执行HyperMesh的命令_第1页
第三章 用Tcl执行HyperMesh的命令_第2页
第三章 用Tcl执行HyperMesh的命令_第3页
第三章 用Tcl执行HyperMesh的命令_第4页
第三章 用Tcl执行HyperMesh的命令_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、Copyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. 用用Tcl执行执行HyperMesh的命令的命令Copyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. 用用Tcl执行执行HyperMesh的命令概览的命令概览关键点关键点:HyperMesh 命令 vs. HyperMesh Tcl 命令Tcl 界面命令和Tcl 查询命令HyperMesh

2、基础输入控件常用的HyperMesh Tcl 命令使用命令窗口例子: 使用命令窗口创建一个执行Tcl 的HyperMesh 宏例子: 自动创建一个用户定义大小的力Copyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. 用用Tcl执行执行HyperMesh的命令概览的命令概览目前为止,我们学习的目前为止,我们学习的HyperMesh的宏在完成重复性的工作时是很有效的宏在完成重复性的工作时是很有效的,但是同时也是有很多限制的的,但是同时也是有很多限制的Tcl脚本语言就可以突

3、破这种限制,让我们能够完成更多的任务脚本语言就可以突破这种限制,让我们能够完成更多的任务 用我们上一讲那个创建用我们上一讲那个创建load collector的例子为例,用的例子为例,用HyperMesh Tcl命命令我们可以让用户输入一个名称和力的大小,并用这些输入值来创建一个令我们可以让用户输入一个名称和力的大小,并用这些输入值来创建一个力力. Copyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. HyperMesh 命令命令 vs. HyperMesh Tcl

4、命令命令两种命令语法的对比两种命令语法的对比:注意注意HyperMesh Tcl命令与命令与HyperMesh命令基本上没有变化,只是将命令基本上没有变化,只是将“,”、“(”和和“)”去掉去掉除了语法的不同,除了语法的不同,Tcl脚本中,还能使用脚本中,还能使用Tcl的常规命令的常规命令Macro in userpage.mac fileTcl Script*beginmacro(macroJpeg)Not used in Tcl*setbackgroundcolor(255,255,255)*setbackgroundcolor 255 255 255*setmeshlinecolor(6

5、)*setmeshlinecolor 6*jpegfile()*jpegfile*setbackgroundcolor(0,0,0)*setbackgroundcolor 0 0 0*setmeshlinecolor(0)*setmeshlinecolor 0*endmacro()Not used in TclCopyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. Tcl 界面命令和Tcl 查询命令HyperMesh Tcl 界面命令可以改变或者更新界面命令可以改变或者

6、更新HyperMesh的界面或者控件的界面或者控件HyperMesh Tcl 查询命令可以查找查询命令可以查找HyperMesh的数据信息的数据信息 这些命令有一个这些命令有一个“hm_”前缀前缀 我们接下来将会学习一个我们接下来将会学习一个HyperMesh 基本的基本的输入控件和一些常用的命令输入控件和一些常用的命令Copyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. HyperMesh基本的输入控件基本的输入控件hm_getstring 命令可以弹出输入控件,让

7、用户输入一个命令可以弹出输入控件,让用户输入一个string:hm_getstring ?option? ?message?hm_getstring “Load collector name” “Enter a name for the load collector”这个命令返回值就是我们输入的string,因此,我们可以将其返回值赋值给一个变量:set loadname hm_getstring “Load collector name” “Enter name for load collector”Copyright 2009 Altair Engineering, Inc. Propri

8、etary and Confidential. All rights reserved. HyperMesh基本的输入控件基本的输入控件hm_getint 和 hm_getfloat 命令可用于得到整数和实数命令可用于得到整数和实数: 这两个命令的用法与hm_getstring命令基本一致 hm_getint 返回一个整数hm_getfloat 返回一个实数set force hm_getfloat “Force” “Enter force value”Copyright 2009 Altair Engineering, Inc. Proprietary and Confidential. A

9、ll rights reserved. 常用常用HyperMesh Tcl 命令命令hm_answernextForce an answer to the next *command hm_answernext yes *deletemodelhm_blockmessagesInform HyperMesh whether or not messages should be displayed in header message barhm_elemlistReturn list of element ids for passed component idhm_entityinfoGet in

10、formation about entities in current modelhm_entitylistGet list of names or IDs of all entities of the requested type in current modelhm_entitymaxidReturn maximum ID in use for an entity typehm_errormessageDisplay error message in header message barhm_getclosestnodeReturn ID of closest node to point

11、x y zhm_getentityvalueGet information for an entity using the HyperMesh template interfacehm_getfilenameGet filename from user using HyperMesh file panelhm_getfloatGet floating point value from user using HyperMesh panelhm_getintGet integer value from user using HyperMesh panelhm_getmarkGet ids for

12、passed entity type on passed mark mask hm_getstringGet text string from user using HyperMesh panelhm_infoGet general information about HyperMeshhm_markclearClear IDs for entity type from passed mark maskhm_nodelistGet list of node IDs for passed elementhm_nodevalueGet XYZ values for passed node IDhm

13、_usermessageDisplay message in HyperMesh header message barCopyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. 使用命令窗口使用命令窗口HyperMesh提供了一个交互式的命令窗口提供了一个交互式的命令窗口 这就会启动一个交互式的这就会启动一个交互式的Tk console (TkCon) 在这个命令窗口里,用户可以执行任意在这个命令窗口里,用户可以执行任意Tcl的命令的命令 例如例如 ls、pwd 和 cd

14、等都可以在命令窗口执行等都可以在命令窗口执行 Copyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. 使用命令窗口使用命令窗口任何任何HyperMesh 提供的提供的Tcl命令也可以执行命令也可以执行例如例如,我们用我们用HyperMesh提供的提供的Tcl命令命令 hm_info: hm_info appinfo SPECIFIEDPATH TEMPLATES_DIR 就可以返回当前的模板文件的目录路径了就可以返回当前的模板文件的目录路径了. 命令窗口可以让开发人员更

15、方便的测试一个概念,而不需要写到脚本文件里去命令窗口可以让开发人员更方便的测试一个概念,而不需要写到脚本文件里去 在命令窗口中,我们可以:在命令窗口中,我们可以:执行任何HyperMesh 提供的Tcl 命令或者纯Tcl 命令。 可以用source script.tcl 命令或者 右键FileLoad选择脚本文件来执行一个tcl文件Copyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. 例子例子: 使用命令窗口使用命令窗口本例的目的是熟悉命令窗口的使用本例的目的是熟悉命

16、令窗口的使用*createmark elements 1 allset n_ElemNum hm_marklength elements 1set lst_ElemIDs hm_getmark elements 1*deletemark elements 1Copyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. 创建一个执行Tcl 的HyperMesh 宏基本过程如下:基本过程如下:删除删除command.cmf文件内容,保存;文件内容,保存;手工执行宏所要完成的功能;

17、手工执行宏所要完成的功能;打开打开command.cmf文件,讲语句拷贝到某文件,讲语句拷贝到某tcl文件中;文件中;手动修改手动修改command语言到语言到tcl语法,删除多余的语句;语法,删除多余的语句;修改一些与模型相关的语句;修改一些与模型相关的语句;保存文件,并在保存文件,并在HM读取文件,测试功能;读取文件,测试功能;打开打开userpage.mac文件;文件;HyperMesh工作目录工作目录在文件中写入宏设置语句,调用该在文件中写入宏设置语句,调用该tcl文件;文件;测试功能测试功能Copyright 2009 Altair Engineering, Inc. Proprie

18、tary and Confidential. All rights reserved. 例子例子:自动创建一个用户定义大小的力这个脚本将会创建一个可以让用户输入大小的力这个脚本将会创建一个可以让用户输入大小的力用到的命令用到的命令:HyperMesh提供的Tcl命令:*createmark*clearmarkhm_getfloat纯Tcl命令:setCopyright 2009 Altair Engineering, Inc. Proprietary and Confidential. All rights reserved. 练习练习练习练习 3a描述创建一个tcl脚本完成以下任务:创建一个用户定义名字的component选择单元,并把这些单元移动到刚刚创建的component将新component中的单元沿着z方向移动用户输入的距离用到的用到的HyperMesh命令命令hm_getstring *collectorcreateonly*createmarkpanel*movemark*clearmark*createvector hm_getfloat*translatemark用到的用到的TCL/TK命令命令setCopyright 2009 Altair Eng

温馨提示

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

评论

0/150

提交评论