用Tcl实现Hypermesh逐个部件提取中面

您所在的位置:网站首页 抽取中面的目的 用Tcl实现Hypermesh逐个部件提取中面

用Tcl实现Hypermesh逐个部件提取中面

2024-07-12 06:38| 来源: 网络整理| 查看: 265

Hypermesh本身的提取中面功能较为简单,通过选择所有提取中面的部件,按照选项提取中面后命名为一个新的分组"Middle Surface"。在部件分组较多的情况下,对部件重新组织就比较麻烦。

屈晓峰的《基于Tcl语言的HyperMesh平台二次开发范例》描述了用Tcl脚本实现提取中面的功能。受此文章启发,我在作者所给出的代码的基础上,编写了按照原来的分组关系逐个对部件抽取中面并根据指定规则命名的功能。

以下是我根据需要进行修改的代码。代码实现的功能是遍历所有部件,如果部件有实体,则提取中面,并按照用户输入的实体厚度重新命名为新的分组,否则不做操作并给出提醒信息。所输入的实体厚度仅作为新部件的命名使用。

*createmark comps 1 all set mycomps [ hm_getmark comps 1 ] *clearmark comps 1 set NumFail 0 set hmname [hm_info hmfilename] set Errorlog [file join [file dirname $hmname] "error.log"] set fid [open $Errorlog w] puts $fid "The file is generated by Midsurface." foreach Compid $mycomps { set Compname [hm_getcollectorname comps $Compid] hm_createmark solids 1 "by component" $Compname set SolidIds [hm_getmark solids 1] set NumSolids [llength $SolidIds] puts "$Compname has $NumSolids solids " if {$NumSolids


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3