扫描下方二维码关注我的微信公众号 - CAE软件二次开发Lab,查看更多精彩文章!

Data Names介绍
以下关于数据名(Data Names)的介绍来自HM帮助。
数据名(Data Names)
可以用于查询和操作HM中核心数据的详细信息。
模板文件(Template files )和Tcl命令使用数据名访问HyperMesh数据库中的信息。数据名称是一段表示数据的字符串。
在输出时,求解器模板将数据名称字符串替换为数据名称所代表的值。例如,一个节点在求解器模板中有ID、x、y、z和system作为可能的数据名。如果在模板文件中输入命令*field(integer,id,8)
,则HyperMesh以8个空格的整数形式输出节点id。这些数据名称也可以通过Tcl查询,例通过命令:hm_getvalue nodes id=$id dataname=x
查询节点的x坐标。
数据名称(A data name)还可以表示指向数据库中另一个实体的指针。对于单元(element),数据名称node1是一个指针。node1指向HyperMesh数据库中的一个节点。如果输入命令*field(integer,node1,8)
, HyperMesh就会发出一个错误消息,则HyperMesh无法输出正确的值,因为node1指向一个具有许多不同可打印值的节点实体。要打印节点ID,将指针引用为*field(integer,node1.id,8)
。用点号(.)作为分隔符将数据名称node1和数据名称ID分开。对应的Tcl命令为hm_getvalue elems ID =$ID dataname=node1. ID
。
数据(全局数据除外)只在模板级别2(levels two)到4(levels four)中可用。引用所有指针的方法是在名称后面加上句点(.),后跟实体类型的数据名称。需要特别指出的是,某些数据名称只能通过Tcl查询,而不能通过模板系统查询。
如下实体类型中具有数据名(Data names):
- accelerometers
- assemblies
- bags
- beamsectcols
- beamsects
- blocks
- bodies
- boxes
- cards
- collections
- collisions
- components
- configurations
- connectors
- constrainedextranodes
- constrainedrigidbodies
- constraints
- contactgroups
- contactsurfs
- controlvols
- crosssections
- curves
- ddvals
- dequations
- designvars
- desvarlinks
- directmatrixinputs
- dobjrefs
- domains
- dvprels
- elements
- ellipsoids
- encryptions
- equations
- features
- fields
- global
- groups
- handles
- hourglass
- includefiles
- joints
- laminates
- lines
- loadcols
- loads
- loadsteps
- masses
- materials
- mbjoints
- mbplanes
- mechanisms
- meshcontrols
- metadata
- modules
- morphconstraints
- morphvolumes
- multibodies
- nodes
- objectives
- opticonstraints
- opticontrols
- optidscreens
- optiresponses
- outputblocks
- panels
- parameters
- partsets
- plies
- plots
- points
- positions
- pretensioners
- properties
- regions
- retractors
- rigidbodies
- rigidwalls
- sensors
- sets
- shapes
- sliprings
- solids
- surfaces
- symmetries
- systemcols
- systems
- tables
- tags
- titles
- transformations
- vectorcols
- vectors
数据名(Data Names)的使用
查询那些HM实体对象存在那些数据名,可以在hm帮助文档目录如下hm_ref_guide/topics/reference/hm/
位置下查询带有data_names-
进开头的htm文件,或者直接在帮助页面搜索Data Names,例如HyperMesh2017的Data Names查询如下:
点击Data Names帮助页面中HM实体列表可以查询该实体对象存在的数据名称,例如,组件(components)所具有的数据名:
利用实体对象所具有的Data Names,我们可以查询和修改其对应参数值。
创建实体(Entity)时使用Data Names
如下代码为创建一个名称为new,颜色为红色的组件。
*createentity comps name="new" color=3
设置实体(Entity)的参数值
如下代码将id为1的组件的材料修改为id=2的材料。
*setvalue comps id=1 STATUS=2 materialid={mats 2}
注意:对于某些实体对象的某些Data Name的值太多时,用*setvalue
设置将不起作用。例如,对于设置Set对象的元素时,当节点或者网格个数太多时将无法采用*setvalue
设置,而采用在创建时来定义其参数,如下:
*createentity sets type=nodes ids={1 2 3 4}
获取实体(Entity)的参数值
如下代码获取id为1的组件的材料id。
hm_getvalue comps id=1 dataname=materialid