HM二次开发 – Data Names及其使用

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

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



CAE软件二次开发Lab


本文链接:HM二次开发 - Data Names及其使用

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:CAECoder,谢谢!^^


发表评论