首页/文章/ 详情

【HyperMesh宝典】之空间变换之美(独家美图放送)

9月前浏览3507

本文摘要(由AI生成):

本文主要介绍了HyperMesh中的空间变换操作,包括平移、旋转、缩放、镜像、投影和定位等基本变换和衍生变换。文章还介绍了HyperMesh2017.2中新增的Transformation Tool工具,可以一次实现多个平移、旋转或缩放,并带载荷和坐标系。此外,文章还通过实例演示了如何使用HyperMesh进行空间变换操作。

又到了HyperMesh宝典时间啦,今天的主题是空间变换,先说说什么是空间变换吧。

度娘是这么说的:坐标变换是空间实体的位置描述,是从一种坐标系统变换到另一种坐标系统的过程,通过建立两个坐标系统之间一一对应关系来实现。

空间变换的操作几乎每天都会用到,比如下面这个“不务正业”的Altair韩国分公司的同事写的俄罗斯方块游戏其实就是不断地使用HyperMesh的平移和旋转功能。

HyperMesh中的3种基本空间变换操作是这样的。

   

第一种基本空间变换:平移

   

1.  进入translate面板

2.  选择要平移的对象,这里我们选择elems

 
 


如果想保留原始的单元,那么选择单元后,移动前需要复 制一份:

 


3.  结果如下:

 


   

第二种基本空间变换:旋转

   

1.   进入rotate面板

2.  选择要旋转的对象,这里我们选择elems

 
 


3.  结果如下:

 


   

第三种基本空间变换:缩放

   

一提起缩放容易让人想起俄罗斯套娃,就用它演示了。

 


1.  进入scale面板

2.  选择要缩放的对象,这里我们选择elems,下面的node选择是缩放时用的原点

 
 


3.  结果如下:

 


 


除了这3种基本空间变换,HyperMesh还有3种衍生变换。

   

第一种衍生变换:镜像

   
 


自然界偏爱对称之美,对称的事物容易让人觉得放松和舒服。无论是工程中还是自然界对称都随处可见。

镜像在HyperMesh中叫反射,和mirror是一个意思。


1.  进入reflect面板

2.  选择要镜像的对象,这里我们选择elems

 
 


选择单元后,如果希望保存原先的单元,镜像前可以复 制一份:

 


3.  结果如下:

 


   

第二种衍生变换:投影

   

投影是一种降维的变换。

1.  进入project面板

2.  选择要投影的对象,这里我们选择elems

 
 


3.  结果如下:

 


   

第三种衍生变换:定位

   

1.  进入position面板

2.  选择要定位的对象,这里我们选择elems

 
 


定位的过程可以分成3个步骤:

1.  从原始n1平移到目标n1

2.  通过旋转将原始n1-n2轴线对齐到目标n1-n2轴线

3.  再次绕n1-n2轴线旋转将原始n1-n2-n3平面对齐到目标n1-n2-n3平面


 


以上内容主要是为了给新同学补课,本讲的精彩内容还在下面部分。

 


在HyperMesh2017.2中,平移、旋转、缩放、镜像的升级版功能都已经集成在下拉菜单Tools>Transformation Tool中了。

 


这个工具的优点是可以一次实现多个平移、旋转或缩放,还可以带载荷和坐标系。


前面游玩的事还没有说完,爬山的时候经常能看到各种各样的蜘蛛网,几乎每走过一段路就会见到一个,一不小心还可能撞个满脸满怀。蜘蛛长相虽不咋地,蜘蛛网却有一种复杂而有序的美感。

 


被雨打湿后更是形态各异,美轮美奂。

 

放大一点:

 

再放大一点:

 
 


相机焦距所限,没法再放大了。

这些水滴像不像是一种复杂的阵列?方老师本来准备用Evolve做一个类似前面带水滴的蜘蛛网的模型,不过仓促之间只完成了个简陋的替代品。

 


接下来要做的就是通过移动把苹果的六面体网格移动到各球的球心位置(如果是一串葡萄就更好看了)

虽然HyperMesh并没有直接的功能,但是我们可以很容易地分步实现。

1.  把一个苹果划分成六面体,这里我们直接把第二期用过的苹果拿来了。

 


2.  在每个球的中心生成一个point(也可以是node,但是由于模型通常有很多别的node,不方便选择,而point除了定位之外一般是没有别的用处的)。这是一个简短的脚本。这里的球可以是体也可以是面,球也可以换成圆柱或者立方体等,都不影响结果。

生成point的脚本如下:

 


运行效果如下:

 
 


3.  把苹果平移到各个位置,这也是一个很简单的脚本。

 


4.  运行结果如下,大家可以看到每个points下面都挂了一个红苹果:

 


一般而言,在HyperMesh中创建nodes通常比创建points方便,但是从CAD软件创建并导入HyperMesh的只能是points,如果需要将nodes转化为points,可以运行以下脚本:

 


 


最后,我们来看一个更有趣的问题:DNA双螺旋结构。

 
 


这个问题主要的难点是连接小球的直杆的建模,因为杆的位置和角度都在连续变化,我们只能使用position功能来实现。问题是如果有很多很多的杆时操作会很繁琐,所以我们需要一个自动化的脚本来协助我们。


第一步:我们需要一个划好网格的零件作为参考

 


第二步:先创建球心的points

 


结果如下:

 


考虑到position面板使用的是nodes而不是points,我们需要将points转换为nodes。

 


运行结果如下:

 


第三步,将六面体圆柱沿着双螺旋依次放置

一般的position操作需要3点才能定位,由于这里是圆柱,不需要考虑绕自身旋转中心的旋转,我们可以把第三点统一放在一个遥远的地方(只要三点不会共线就可以)。

这个脚本也很短:

 


运行结果如下,大功告成:

 


(说明:本文照片都是方老师拍的原片,几何图形是在Evolve中创建的。)

来源:Altair澳汰尔
OptiStructHyperMeshHyperWorks设计与仿真平台游戏Altair
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-03-26
最近编辑:9月前
Altair澳汰尔
澳汰尔工程软件(上海)有限公司
获赞 146粉丝 500文章 758课程 4
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈