A-A+

Hyperworks二次开发:在Hypermesh中获取指定类型的边集合(hm_getedgeloops)

2023年03月14日 CAE 阅读 482 views 次

在Hyperworks/Hypermesh的二次开发中可以通过hm_getedgeloops命令获取指定类型的边集合。此命令既可以通过曲面进行查询,也可以通过网格单元进行查询。命令格式如下:

hm_getedgeloops entity_type markid=<mark_id> ?looptype=<loop_type>? ?featureangle=<angle>? ?refmarkid=<mark_id>? ?restricttoinput=<value>?

返回值为所查询边的ID的有序列表,列表中的第一个值是边的类型,其余值是边的ID。如果边是封闭的,则第一个边的ID和最后一个边的ID值相同。命令中各选项含义如下:

  • entity_type:要查询的对象类型,可选值为surfaces和elements;
  • markid=<mark_id>:要查询的选择集;
  • looptype=<loop_type>:要查询的边类型,输入为整数,计算方法为:(1*Bit0 + 2*Bit1 + 4*Bit2 + 8*Bit3 + 16*Bit4 + 32*Bit5 + 64*Bit6 + 128*Bit7),如果不定义此参数,默认返回所有类型的边,Bit0~Bit7的含义如下:
  • Bit0:0-不考虑开放自由边,1-考虑开放自由边;
  • Bit1:0-不考虑闭合自由边,1-考虑闭合自由边;
  • Bit2:0-不考虑开放T连接,1-考虑开放T连接;
  • Bit3:0-不考虑闭合T连接,1-考虑闭合T连接;
  • Bit4:0-不考虑开放X连接,1-考虑开放X连接;
  • Bit5:0-不考虑闭合X连接,1-考虑闭合X连接;
  • Bit6:0-不考虑开放特征边,1-考虑开放特征边;
  • Bit7:0-不考虑闭合特征边,1-考虑闭合特征边;
  • featureangle=<angle>:此参数用于查找特征边,当一个边被两个面共享时,如果两个面在此边上的平均夹角大于此角度时才会被考虑到待查找边中,此数值单位为角度,默认值为模型默认的最佳特征角;
  • refmarkid=<mark_id>:参考面选择集,当特征边有歧义时,用于辨别特征边;
  • restricttoinput=<value>:当值为0时,查找的边链将自然地遍历整个模型,此时有些包含在边链中的边可能不在给定的选择集中,当值为1时,所输出的边链将严格按照给定的选择集进行输出。

注:类型Bit6和Bit7及选项featureangle、refmarkid和restricttoinput为Hyperworks 2019之后的版本才有。

示例代码:

此文章为微信公众号原创文章,查看全部文章内容请关注微信公众号“数字化设计CAX联盟”,回复数字:8458查看。
个人公众号“数字化设计CAX联盟”,欢迎关注,共同交流
为您推荐:

给我留言

© 坐倚北风 版权所有 严禁镜像复制 苏ICP备15034888号. 基于 Ality 主题定制 AliCMS
联系邮箱:leanwind@163.con,微信公众号:数字化设计CAX联盟

用户登录

分享到: