技术课堂丨CATIA利用欧拉坐标系、PEO、UDF求取和复用最小毛料立方体
2024/3/7 11:25:00
对于任意形状的零部件,如何节省原料并求得包围零部件的最小立方体毛料都是一个重要问题。 在CATIA V5或3DEXPERIENCE中,虽然存在两个现存工具可以创建胚料,但结果并不理想。因此,本文介绍了一种利用零部件的欧拉坐标系、产品工程优化模块和用户自定义特征来创建和复用符合工程精度需求的最小立方体毛料的方法。
使用一个较简单的数模进行建模过程,零件如图所示。模版的制作只需要比较简单的数模即可。 为了在未来减少UDF实例化时需求的输入,我们利用 CATIA 强大的参数化能力,创建一个无参的坐标系参数,坐标系的名称为“轴系.3”。 再为这个创建的轴系创建公式,使的创建的轴系.3等于最原始的绝对轴系。 隐藏掉绝对轴系,然后创建一个欧拉坐标系,原点设置为轴系.3的原点,欧拉坐标系名称为轴系.4。 隐藏掉轴系.3,后续的建模我们将围绕这个欧拉坐标系轴系.4进行。如图创建一个名为“极值点”的几何图形集,并使用创成式曲面设计里的极值点命令创建基于欧拉轴系.4的各方向的极值点。图片所示为在零件几何体上,基于欧拉轴系.4的X方向,辅助方向为Y和Z,创建一个最大值点“端点.1”。以此类推,创建3个方向的总6个最大和最小极值点。 各平面创建完如图所示 创建了6个极值点,其中端点.1,端点.2为X方向,端点.3,端点.4为Y方向,端点.5、端点.6为Z方向。新建一个名为“极平面” 几何图形集,使用创建平面命令内的平行通过点命令创建平面,譬如,端点.1为X方向极值点,所以创建通过端点.1的,平行于轴系.4的yz平面的平行平面。创建3个长度参数,这里分别取名X和Y和Z。分别对这3个参数编辑公式,使用 distance 函数得到轴系.4的X,Y,Z方向的2个极平面之间的距离,如图所示。之所以使用参数,而没有使用 CATIA 的测量功能来得到这3个值,是因为测量的结果无法被包含的将来需要创建的UDF特征中,以实现复用。 创建一个VOL体积参数,用来表达立方体毛料的体积。如上图 接着,我们为这个零部件创建外部的立方体毛料示意,可以选择先前创建的任意一个极平面作为草图的基准面,但此处需要注意的是,草图要创建为定位草图而不能使用滑动草图,因为我们需要指定草图平面的水平轴或竖直轴方向,这样才能使得草图内线条随着未来会变动方向的轴系 .4进行变动。如图,我们选择的轴系.4的X方向上最小极平面作为草图平面,选择了轴系.4的y轴作为草图的水平方向。 进入草图后,绘制一个矩形,矩形的4条边进行约束,约束为各边线和极点或极平面相合,得到了一张全约束的草图。 可以新建一个几何体,然后在零件设计模块进行一个体拉伸,也可以使用 GSO 的体积功能,拉伸一个体积。如图采用了后面的一种方法。因为我们是用 X 方向的最小极平面作为草图平面的,所以如图拉伸到X方向的最大极平面。如草图创建在其它平面,同理。最后为了查看方便,可以设置一下透明度,本图的毛料立方体设置了0.5的透明度。 建模过程完成,现在只需要修改欧拉轴系.4下的3个角度的值,即可以得到不同方向上的任意一个外包的毛料立方体,如图,使得3个角度都等于45deg,于是得到一个并不是最小的毛料立方体。我们现在要做的是,当图中的3个 EulerAngle 分别是多少度的时候,使得参数 VOL 达到最小,也就是需要寻找这个VOL的最小值,找到了这个值,外面包围的这个透明的毛料立方体也随之更新了。 要实现这个能力,我们需要使用 CATIA 的产品工程优化器,即PEO模块。此模块集成了3个功能:寻优、DOE、满足约束的多配置。此处,我们仅需要使用它的寻优功能。 进入PEO模块后,点击右侧的优化图标,即可启动优化器。(对优化做如图的设置)设置最小化优化VOL,3个优化因子是轴系.4的3个欧拉角,度数范围是 0 到 90 即可。如不清楚各种优化算法的区别,可无脑使用模拟退火算法。但本模型其实是可以使用无约束梯度算法,它更快。本图为了演示方便,依然选择模拟退火。最后取消勾选图中的“保存优化数据”选项,该选项会要求您保存优化过程,此处只需要优化结果,而非过程。点击运行优化按钮,运行完毕后,点击应用按钮,即可得到最小毛料体积。(由于数值误差原因,此最小体积无限接近理论解,误差非常小,完全可以在工程中应用) 为了后续复用这个建模和优化过程,我们需要把这些过程打包为一个UDF,并为 这个UDF添加自动更新功能。
我们进入 CATIA 知识工程助理模块。进入此模块的目的是为了创建一个反应。 在知识工程助理模块中,点击反应命令,设置源类型为所有者,可用事件为 Instantiation,编辑反应操作为 “关系\优化.1\优化.1->Update()”,如图。这个反应的作用是当包含这个反应的 UDF 或者 Power Copy 被实例化时,将运行这个反应,而这个反应将去更新集成在UDF或 Power Copy 里的优化。 回到 Part Design 或者 GSD 等模块。创建一个 UDF ,UDF 的内容除了工件和绝对轴系,其余在本文描述的建模过程中创建的特征都包含在内。可以发现,未来要实例化这个UDF,只需输入一个工件,和一个轴系。 重命名创建出来的UDF,此处重命名为“毛料”,保存文件。 打开任意一个CATIA零部件,与前文所描述的文件并排排列。 如图选择实例化,并用鼠标选择右侧的知识工程模版下的毛料 UDF。 在实例化对话框中,指定绝对轴系和零件几何体,最终得到了最小毛料立方体。
-END- |
对于任意形状的零部件,如何节省原料并求得包围零部件的最小立方体毛料都是一个重要问题。
在CATIA V5或3DEXPERIENCE中,虽然存在两个现存工具可以创建胚料,但结果并不理想。因此,本文介绍了一种利用零部件的欧拉坐标系、产品工程优化模块和用户自定义特征来创建和复用符合工程精度需求的最小立方体毛料的方法。
使用一个较简单的数模进行建模过程,零件如图所示。模版的制作只需要比较简单的数模即可。
为了在未来减少UDF实例化时需求的输入,我们利用 CATIA 强大的参数化能力,创建一个无参的坐标系参数,坐标系的名称为“轴系.3”。
再为这个创建的轴系创建公式,使的创建的轴系.3等于最原始的绝对轴系。
隐藏掉绝对轴系,然后创建一个欧拉坐标系,原点设置为轴系.3的原点,欧拉坐标系名称为轴系.4。
隐藏掉轴系.3,后续的建模我们将围绕这个欧拉坐标系轴系.4进行。如图创建一个名为“极值点”的几何图形集,并使用创成式曲面设计里的极值点命令创建基于欧拉轴系.4的各方向的极值点。图片所示为在零件几何体上,基于欧拉轴系.4的X方向,辅助方向为Y和Z,创建一个最大值点“端点.1”。以此类推,创建3个方向的总6个最大和最小极值点。
各平面创建完如图所示
创建了6个极值点,其中端点.1,端点.2为X方向,端点.3,端点.4为Y方向,端点.5、端点.6为Z方向。新建一个名为“极平面” 几何图形集,使用创建平面命令内的平行通过点命令创建平面,譬如,端点.1为X方向极值点,所以创建通过端点.1的,平行于轴系.4的yz平面的平行平面。创建3个长度参数,这里分别取名X和Y和Z。分别对这3个参数编辑公式,使用 distance 函数得到轴系.4的X,Y,Z方向的2个极平面之间的距离,如图所示。之所以使用参数,而没有使用 CATIA 的测量功能来得到这3个值,是因为测量的结果无法被包含的将来需要创建的UDF特征中,以实现复用。
创建一个VOL体积参数,用来表达立方体毛料的体积。如上图
接着,我们为这个零部件创建外部的立方体毛料示意,可以选择先前创建的任意一个极平面作为草图的基准面,但此处需要注意的是,草图要创建为定位草图而不能使用滑动草图,因为我们需要指定草图平面的水平轴或竖直轴方向,这样才能使得草图内线条随着未来会变动方向的轴系 .4进行变动。如图,我们选择的轴系.4的X方向上最小极平面作为草图平面,选择了轴系.4的y轴作为草图的水平方向。
进入草图后,绘制一个矩形,矩形的4条边进行约束,约束为各边线和极点或极平面相合,得到了一张全约束的草图。
可以新建一个几何体,然后在零件设计模块进行一个体拉伸,也可以使用 GSO 的体积功能,拉伸一个体积。如图采用了后面的一种方法。因为我们是用 X 方向的最小极平面作为草图平面的,所以如图拉伸到X方向的最大极平面。如草图创建在其它平面,同理。最后为了查看方便,可以设置一下透明度,本图的毛料立方体设置了0.5的透明度。
建模过程完成,现在只需要修改欧拉轴系.4下的3个角度的值,即可以得到不同方向上的任意一个外包的毛料立方体,如图,使得3个角度都等于45deg,于是得到一个并不是最小的毛料立方体。我们现在要做的是,当图中的3个 EulerAngle 分别是多少度的时候,使得参数 VOL 达到最小,也就是需要寻找这个VOL的最小值,找到了这个值,外面包围的这个透明的毛料立方体也随之更新了。
要实现这个能力,我们需要使用 CATIA 的产品工程优化器,即PEO模块。此模块集成了3个功能:寻优、DOE、满足约束的多配置。此处,我们仅需要使用它的寻优功能。
进入PEO模块后,点击右侧的优化图标,即可启动优化器。(对优化做如图的设置)设置最小化优化VOL,3个优化因子是轴系.4的3个欧拉角,度数范围是 0 到 90 即可。如不清楚各种优化算法的区别,可无脑使用模拟退火算法。但本模型其实是可以使用无约束梯度算法,它更快。本图为了演示方便,依然选择模拟退火。最后取消勾选图中的“保存优化数据”选项,该选项会要求您保存优化过程,此处只需要优化结果,而非过程。点击运行优化按钮,运行完毕后,点击应用按钮,即可得到最小毛料体积。(由于数值误差原因,此最小体积无限接近理论解,误差非常小,完全可以在工程中应用)
为了后续复用这个建模和优化过程,我们需要把这些过程打包为一个UDF,并为 这个UDF添加自动更新功能。
我们进入 CATIA 知识工程助理模块。进入此模块的目的是为了创建一个反应。
在知识工程助理模块中,点击反应命令,设置源类型为所有者,可用事件为 Instantiation,编辑反应操作为 “关系\优化.1\优化.1->Update()”,如图。这个反应的作用是当包含这个反应的 UDF 或者 Power Copy 被实例化时,将运行这个反应,而这个反应将去更新集成在UDF或 Power Copy 里的优化。
回到 Part Design 或者 GSD 等模块。创建一个 UDF ,UDF 的内容除了工件和绝对轴系,其余在本文描述的建模过程中创建的特征都包含在内。可以发现,未来要实例化这个UDF,只需输入一个工件,和一个轴系。
重命名创建出来的UDF,此处重命名为“毛料”,保存文件。
打开任意一个CATIA零部件,与前文所描述的文件并排排列。
如图选择实例化,并用鼠标选择右侧的知识工程模版下的毛料 UDF。
在实例化对话框中,指定绝对轴系和零件几何体,最终得到了最小毛料立方体。
-END-