许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  HyperMesh二次开发系列教程003(Tcl/Tk脚本)

HyperMesh二次开发系列教程003(Tcl/Tk脚本)

阅读数 1
点赞 0
article_banner

1 *createmark 应用案例

1.1 需求描述

  一个面被划分过网格了,需要在某一个指定位置,扩个孔出来,但现在面的几何 信息 已经被删除了。如图1所示
在这里插入图片描述在这里插入图片描述


  图1 功能描述
 

1.2 问题分析

  这 类  问题暂且线定义为网格编辑。没有几何信息,只能直接操作和编辑单元与节点。使用界面操作的思路:

  1. 在指定位置创建临时节点:Geom>>nodes
  2. 据此为圆心做圆(创建几何元素:线):Geom>>lines
  3. 删除完全在圆内的单元,可能会留下锯齿状单元。
  4. 使用project功能把上一步生成的锯齿状单元的节点投影到圆周上:Tool>>Project>>to line

  上述是操作步骤,过程效果如图2。
在这里插入图片描述


  图2 过程效果示意图
    是的,此过程GUI操作过程繁琐,而且容易出错。最好的办法就是不要遇到这样的需求,如果不可以的话,退而求次按照上述步骤细心操作,实在没办法就学习下hypermesh的二次开发吧,至少能做出如图3的效果,只要源码跑起来,指哪里就可以扩哪里,想扩多大就扩多大。
 

在这里插入图片描述


  图3 TCL批量操作效果图
 

1.3 代码 剖析

  指定圆心位置和半径的功能块。

*clearmark elem 1
*clearmark node 1
#x0 y0 z0 为圆心坐标,rad为孔半径
set y0 0.0
set z0 0.0
set rad 20.0
set h 50
set elemSize 0
set r1 [expr $rad+$elemSize]
*nodemodify 1 0 0 0 

  选出半径范围内的所有节点,然后同节点选出单元,并获取单元编号。

*createmark node 1 "by cylinder" $x0 $y0 $z0 0 0 1 [expr $rad+$elemSize] $h "inside" 1 1 0
*isolateentitybymark 1
*findmark nodes 1 257 1 elements 0 1
set elemList 
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

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

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空