Tcl语言在Hypermesh二次开发中的应用

在hypermesh里根据已经存在的component自动生成对应的材料和属性卡片,命名相同,并赋给对应的component

你可以使用TCL语言中的循环和条件语句来实现这个功能。以下是一个示例代码:

```

# 获取所有component

set components [hm_entitylist comps "bycollector" 0]

foreach comp $components {

   # 检查是否已经存在材料卡片和属性卡片

   set material_card_exists [hm_entityinfo exist matid $comp]

   set property_card_exists [hm_entityinfo exist propid $comp]

   if { !$material_card_exists } {

       # 如果不存在材料卡片,则创建并赋值给component

       *createmark mats 1 "$comp"

       hm_matcreatefrommarks

       set material_card_name [hm_getmarkname mats 1]

       hm_setentityvalue $comp "matid" $material_card_name

   }

   if { !$property_card_exists } {

       # 如果不存在属性卡片,则创建并赋值给component

       *createmark props 1 "$comp"

       hm_createpropbymark name=$comp type=string value="some_value"

       set property_card_name [hm_getmarkname props 1]

       hm_setentityvalue $comp "propid" $property_card_name

   }

}

```

在上面的代码中,我们首先获取所有的组件,并对每个组件进行处理。然后,我们检查该组件是否已经有了材料卡片和属性卡片。如果没有,则分别创建它们,并将其命名为与组件相同的名称。最后,我们将这些新建的材料卡片和属性卡片分别赋值给相应的组件。

注意,在创建材料卡片和属性卡片之前,我们使用了`*createmark`命令来创建一个标记。这是为了在后续的代码中引用这些新建的卡片。如果你需要添加更多的属性或者修改已有的属性,可以根据需要修改代码。

最后,在处理每个组件之前,我们检查它是否已经存在材料卡片和属性卡片。如果是,则跳过该组件并继续处理下一个组件。

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空