HyperWorks基于几何投影的网格变形
在Altair(HyperWorks)里,使用本节将演示如何通过 line difference 功能,将已有网格以几何图形为目标进行投影,以生成全新的网格模型。
图 7-5 网格变形模型的状态
Step01:读取模型。
(1) 打开文件 Exercise_7a.hm。
Step02:对保险杠模型进行网格变形。
(1) 在 Morphing 页面选择 map to geom 功能。
(2) 将几何对象选择切换为 line difference。
(3) 按图 7-6 所示内容,分别选择 from line 和 to line。
(4) 将 map domains 切换为 map nodes。
(5) 选择 nodes >> displayed。
(6) 在 map nodes.,选择 no fixed nodes。
(7) 在 map by line axis 中,将 mvbias 和 fxbias 设置为 1.0。
图 7-6 from line 与 to line
(8) 点击 map。
此时,保险杠的侧面形态会随着新的投影几何的形态而发生改变。
练习 :使用控制柄和变形域
在这一节,将通过一个具体实例,练习如何通过控制柄和变形域功能,实现网格变形。
Step01:读取并查看模型。
读取模型 Exercise_7b.hm。
Step02:自动生成二维变形域和控制柄。
(1) 由 HyperMorph> Domains > Create,进入创建变形域页面。
(2) 将创建变形域方式切换到 auto functions。
(3) 点击 generate。
通过 auto functions 功能,HyperMorph 将根据原有模型在网格形态上的特点,自动创建网格变形域,并生成全局变形控制柄,此外,还会在网格过渡特征明显的地方,自动生成并放置局部变形控制柄。
Step03:手工生成一个新的二维变形域。
(1) 请确认依然处于 Domains 页面下的 create 子菜单中。
(2) 选择对象为 2D domains。
(3) 将 all elements 切换到 elems。
(4) 点击 ,清除此前自动选中的所有单元。
(5) 通过 elems >> by window 功能,选择如下图所示的单元。
图 7-7 创建变形域
(6) 确认 partition 2D domains 被激活。
(7) 点击 create,创建变形域。
Step04:在模型曲边部分增加额外的控制柄
(1) 在 Domains,选择 edit edges 子菜单。
(2) 选择 split 选项。
(3) 在 domain 选择中,选择模型右下角的圆弧部分 edge domain。
在选取了对应的 edge domain 后,node 选项将被自动激活。通过鼠标点击的方式,在选定的 edge domain上,可以创建新的控制柄。
图 7-8 编辑变形域
(4) 激活 node。
(5) 按下图所示位置,选取第一个 node,作为下一步添加控制柄的位置。
图 7-9 选择节点分割边界变形域(a)
(6) 点击 split ,在选定节点处,对选定的 edge domain 进行分割,并在该节点处创建新的控制柄。
(7) 重复上述步骤,按下图所示方式,在模型下端圆弧与直线相切的位置,再创建第二个额外的控制柄。
图 7-10 选择节点分割边界变形域(b)
(8) 完成控制柄的创建后,点击 return,回到上级菜单。
Step05:在模型左侧的二维变形域中,添加两个新的控制柄
(1) 通过路径 HyperMorph > Handles > Create,选择 create 子菜单。
(2) 在 name =中填入 local。
(3) 激活 attached to: domain 。
(4) 选取模型左半部分的二维网格变形域。后续步骤中创建的控制柄将从属于该变形域。
图 7-11 选择节点创建添加控制柄
(5) 点击 by nodes: nodes,以激活节点选择。
(6) 按上图位置,选择上下各一个节点。
(7) 点击 create,创建从属于模型左侧的二维网格变形域的控制柄。
(8) 点击 return,回到上级菜单。
Step06:进行基本的网格变形练习。
(1) 进入 Morph 页面下的 move handles 子菜单。
(2) 激活 handles 选择。按下图标识,选择模型最右端的两个变形控制柄。
(3) 将 on domains 切换为 on plane。
(4) 激活 N1。
(5) 在 N1 N2 N3 中,选择模型二维网格表面不共线的三个节点。
(6) 点击 morph。
(7) 此时,在 HyperMesh 信息栏中,将出现“pick handles and move to new location” 的提示信息。
(8) 通过鼠标点选并拖拽的方式,移动控制柄,并从而实现网格变形。
(9) 可以注意到,随着控制柄的移动,网格的尺寸和形态亦在发生相应的改变。
• 所有从属于某一特定二维变形域的单元,都将随着控制柄的移动而发生网格形态的改变。
• 该二维变形域中,没有被选择的变形控制柄,则在网格变形的过程中,扮演着锚定点的角
色。
• 位于未被选定的一维变形域上的节点不会受到影响。
• 位于未被选定的二维变形域内的单元不会受到网格变形的影响。
(10) 释放鼠标左键,完成网格变形。
图 7-12 变形后的网格形态
(11) 点击 undo。
HyperMorph 允许用户通过多次 undo 或 redo 功能,撤销/重操作针对模型网格变形过程中的各个操作历程。这位用户创建各类形状变量或更新模型设计带来了很大的方便。
(12) 点击 ,清除所选定的控制柄。
(13) (可选)在 handles 仍然处于被激活状态下,选择一个或多个全局控制柄(红色)。
(14) 点击 morph。
(15) 点击并移动各个全局控制柄,观察其对模型网格形态的影响。