在线工博会

草图和表达式功能在参数化模型创建中的应用
北京控制工程研究所 薛英民
为节省流量,手机版未显示文章中的图片,请点击此处浏览网页版
一.引言
UG是CAID/CAD/CAM/CAE一体化的三维参数化高端软件,自从它1990年进入中国市场以来,发展迅速,现已广泛应用于中国的航空,航天,汽车,造船和电子等工业领域,且其中尤CAD功能应用较广。因为无论是UG在CAM、CAE还是其它方面的应用,它们总需要模型做为处理对象,这就使得高效,快速,准确地建立起可编辑性强的三维模型作为一个重要问题摆在了我们面前。
二.UG的草图和表达式功能
UG的建模功能是很强大的,其主要的建模方法有:UG/实体建模(UG/Solid Modeling);UG/特征建模(UG/Features Modeling);UG/自由曲面建模(UG/Freedom Modeling);UG/用户自定义特征(UG/User-Defined Features)等。其中,相对于其它CAD软件,UG的特征建模是其比较大的亮点,对于不太复杂的模型,特征建模完全可以胜任,且可以达到很高的建模效率,但对于形状、位置复杂或要求实现参数化的模型,单纯的特征建模就显得麻烦或者很难,这时就需要考虑采用其它的方法,草图(Sketch)和表达式(Expression)功能就是最常用的处理此方面问题的简洁高效的方法。
UG中的草图(Sketch)是指与实体模型相关联的二维图形。它可以通过对近似的曲线轮廓进行尺寸和几何约束来准确地表达设计师们的设计意图,再辅以拉伸(Extruded Body),旋转(Revolved Body)和扫描(Sweep along Guide)等实体建模方法来创建模型。
利用草图功能创建的模型有以下两个突出优点:易于编辑和修改;易于实现参数化和系列化设计。UG的表达式功能则可以很方便的将尺寸关联起来以实现参数化。下面就通过在UG NX环境下,充分利用草图和表达式功能来创建一个足球模型的实例,来认识一下怎样利用草图和表达式的尺寸关联来实现模型的参数化。

(图片)(图片)(图片)

三.足球建模
1.足球分析
要建立足球模型,就要先分析足球,找出足球表面上各“图形”的分布有什么规律。其实由图1可以看出,足球表面其实挺规则的,无非是边是弧形的“正五边形”和“正六边形”,而且直觉也可以告诉我们这些多边形的排布是有规律的,但具体规律是什么?这里不妨将足球模型做一简化,试想过足球表面各五边形和六边形牛皮的各个角分别创建平面,然后利用这些平面将多边形的球面部分削掉(如图2),这时就可以直观地看出这些多边形的边长是相等的,而且五边形的周围是五个六边形,每个五边形的顶点都通过一条棱与另一个五边形的一个顶点连接,所以可以设想过连接两个五边形的任意一条棱和球心建立一个平面,这时所谓的规律就一目了然了,由图2可以看出,该平面除了通过用来创建平面的棱外,还恰好通过正五边形和正六边形的高的方向,设用来创建平面的那条棱的两端点和六边形的对边中点分别为A、B、C和D(如图3),其仰视图如图4所示,以球心为原点建立如图4所示坐标系,过A、B两点,以原点O为圆心创建一个圆,显然这就是简化模型前足球的外轮廓,再创建一个与圆O同心,且与直线AB相切的圆,此时我们就会发现,C、D两点和A、B不在同一个圆上,而落在我们创建的第二个圆上,这又是为什么?细想就会发现,其实点C和D并没有在足球的表面,而是六边形的两对边的中点在仰视平面上的投影,那么为什么它们又恰好落在与AB相切的圆上呢?我们知道,在同一个圆内,长度相同的弦所对应的弦高也是相等的,对于一个球也一样,因为足球上的每条边的两端点的连线都是相等的,所以它们对应的弦高也相等,也就是说,直线AB的中点到外圆的距离和点C、D到外圆的距离是相等的,所以它们在同一个圆上。那么在三维空间内图4中AB的长度和BC、CD的长度又有什么关系,这是我们建模的关键,找不到它们的关系就没办法建立草图,建模工作就不能走下去,下面我们就来分析一下它们之间的长度关系。

(图片)

2.关系计算
其实它们的关系也是比较简单的,因为BC和CD分别是正五边形和正六边形的高,且它们的边长与AB相等(如图5),设边长为a,则由它们的几何关系可以得出,正五边形的高h和正六边形的对边距离d分别为:

(图片)

(图片)

图5

下面就引用以上结果,在UG NX环境下利用草图功能来创建足球模型。
3.建模思路
建立参数化的足球模型可按以下思路进行:
由上面计算所得关系创建“基础草图”→利用拉伸等功能建出第一个六棱锥→通过镜像等操作建出所有六棱锥→利用草图等功能建出第一个五棱锥→通过镜像等操作建出所有五棱锥→旋转剪切产生足球轮廓→倒圆生成纹理产生逼真足球→利用表达式功能关联所有关键参数实现参数化。
4.“基本草图”创建
启动UG NX,进入建模模块(Modeling),将21层设为工作层,创建如图6所示的草图。注意两个圆要同心,并要求直线p0水平切内圆,两端点在外圆上,p1一端与p0相连,另一端在内圆上,p2一端与p1相连,另一端在内圆的四分点上(如图6)。再利用尺寸约束为p0添加一个尺寸(p0值任意给),然后就可以利用我们上面的计算结果分别定义p1和p2为:
p1=p0/2*(tan(54)+1/cos(54))
p2=p0*tan(60)
这样第一个草图就创建完了,单击完成草图(Finish Sketch)图标 ,退出草图创建环境。
5.建立“正六边形草图”
在61层创建一个基准面,要求该基准面过直线p2,垂直p2中点与(x0,y0)的连线,然后在该平面上创建如图7所示,以p2为高的正六边形草图,要求p2的中点与正六边形的中心重合。

(图片)(图片)(图片)

6.建立所有六棱锥模型
接下来用前面的正六边形草图来创建六棱锥模型(如图9所示)。当然创建该模型的方法有多种,相比之下剪切六棱柱的方法似乎更直观一些,所以这里就选择这种方法来创建第一个六棱锥模型。另外为了更好地实现参数化,这里采用扫描(Sweep Along Guide)功能来创建如图8所示的六棱柱。首先过p2的中点到点“基础草图”的圆心创建一条直线,然后利用扫描功能让正六边形草图沿该直线扫描出如图8所示的六棱柱,再分别过六棱柱的各边和上面提到的圆心建6个平面,然后利用修剪功能“剪”出如图9所示正六棱锥模型,并通过多次使用实例特征(Instance Feature )中的镜相(Mirror Feature)功能建出如图10所示的所有20个正六棱锥。

(图片)(图片)(图片)

8.旋转剪切产生更逼真的足球
可足球的表面也没有这么多棱啊!怎样去掉这些棱角呢?当然方法也是很多的,这里可以通过旋转如图13所示的半圆环草图来“切”出我们要的足球,但要求这个半圆环草图中的内外圆直径分别小于和大于基本草图中的内外圆直径,不过由于这些棱锥不可以合成一体,所以这个旋转剪切操作要重复多次才能得到图14所示的更逼真的足球。

(图片)(图片)(图片)

9.各面倒圆成型
图14看起来还是有些别扭——球表面还缺少牛皮连接处的纹理,下面我们就用倒圆工具(Blend)创建这些“纹理”来完成一个真正足球。
因为所有的棱锥是各自独立的,所以可以通过直接选择各棱锥的圆弧面在各边上生成半径相等的倒圆,如图15,这样整个足球就建出来了。
10.更改表达式实现参数化
UG的一个很重要,而且很强大的功能就是可以利用表达式(Expression)很方便地实现参数化设计。
单击工具(Tools)菜单,打开表达式(Expression)对话框,可以看到列表中所有表达式的名称都是默认的,为了使各表达式表达的意义更直观,更好的实现参数化,我们首先要为一些主要参数的表达式改名。
具体是将基本草图中的p0改为a,这时我们会发现原来和p0相关联的表达式中的p0也做了相应的修改,再将p1改为h, p2改为d,然后把表示第8步中倒圆半径的表达式中的任意一个名称改为Blend_rad,最后分别将用来旋转剪切的草图中的内外圆半径分别改为in_rad和out_rad,如图16,这样所有的所谓关键参数的改名工作就完成了,接下来就是通过将相关的尺寸关联起来以实现参数化。
在参数化前要想清楚谁是要直接控制的尺寸,那个尺寸更容易控制,这些要关联的尺寸间有什么关系等,只有明白了这些我们才能使相关的尺寸联系起来,从而达到通过更改一个尺寸来刷新整个模型的目的。对于前面创建的足球,球表面的每条边的长度我们并不关心,我们关心的是直径是否跟真的足球一样,或者说这个足球的大小是不是我们想要的,所以就想,能不能通过只更改表达式in_rad的值来控制足球的直径,进而控制其它的尺寸呢?答案是肯定的,下面我们就通过尺寸关联来让其它的尺寸与in_rad联系起来。
由基本草图可以看出,球的半径in_rad不能大于球心到直线d的中点的距离,由UG自带的测量工具可以很容易知道当a=40时,球心到d的中点的距离大于90,所以我们可以设a=in_rad/2,另外为了保证球外的多余部分能被完全切除,要求 out_rad不小于基本草图中大圆的半径,同样我们可以知道当a=40时,大圆半径小于100,所以可以设out_rad=3*in_rad/2,至于a,d和h的关系前面已经计算过了,这里也不需要更改,因为我们的“基本草图”就是按照这样的关系创建的。再有就是不要忘记让其它所有表示倒圆半径的表达式等于Blend_rad,这样一个参数化的足球模型就建成了。此时就可以通过改变in_rad一个值来很方便地控制足球的大小,而其它的一些关联的尺寸也会随之改变。

(图片)

图16

四.引申
前面通过分析足球各“部分”的几何关系,利用草图和表达式功能创建了一个参数化的足球模型,其实也可以把这个足球当做一个日常要创建的零件,平时创建零件模型的流程不也是:分析图纸或设计要求→确定建模路线→创建模型→实现参数化吗?在足球的创建过程中我们特别突出了草图和表达式在参数化设计方面的功能,这里再对这两项功能加以总结。
首先说草图,它是一些创建复杂模型所离不了的,这点可以通过草图的应用场合来说明。一般来说,草图较多地应用在以下场合:
1.模型需要参数化驱动时;
2.要建立的特征不是标准的成型特征时;
3.作为自由形状特征的控制线;
4.作为拉伸,旋转和扫描等的基础特征;
5.需要一系列成型特征才可以建立且难以编辑时。
当然,UG草图的应用场合和益处也不可能一一列举,只要我们记住,在日常的建模,特别是要建立参数化模型时适时的使用草图,以达到简化和加速我们的建模工作就够了。
对于表达式。UG表达式的功能是十分强大的,它除了上面用到的使UG实现参数化设计,还可以非常简便的对模型进行编辑,更可以通过更改多个尺寸来生成一族形状相同或相似而尺寸不同的零件,或通过尺寸的关联使两个或更多个零件文件中的某些尺寸按一定的关系关联起来。另外,表达式还有多种类型:数学表达式,几何表达式和条件表达式,其中最显眼的应该说是条件表达式了,例如我们可以设上面的表达式Blend_rad=if(in_rad<40)(1.5) else if(in_rad>80)(3)else(2),他的意义是如果球的半径小于40,倒圆的半径为1.5,如果大于80,倒圆的半径为3,其它情况下倒圆的半径为2。再有就是表达式语言,在表达式中除了可以使用算术,关系和逻辑运算符外,更让人刮目相看的就是可以直接使用机内函数,如各种三角函数,幂,对数,阶乘和角度转换等,这些都使得表达式的功能更加强大,更易于模型的编辑和实现参数化。
五.结束语
随着三维CAX软件使用的深入和敏捷制造等拼速度产业的发展,参数化模型问题已或多或少地开始影响一个企业的生存和发展,所以在日常的工作中我们就要有意识的改善和优化建模过程,使创建的模型最大限度的实现参数化。
对于参数化的具体实现,前面已经分析了在UG环境下创建一个足球模型并实现参数化的具体过程,其中也突出了草图和表达式在参数化设计中的重要作用,其实不单单UG如此,其它CAD软件也一样,它们中的那些类似草图和表达式的功能总能很好的帮助我们实现模型的参数化,只是不同软件的侧重或称谓不同罢了。
当然,创建参数化模型也需要一些研究和实践,但只要多分析,善用心,并勤于练习,相信我们一定能把参数化设计变得不再是那么的神秘和陌生。 10/30/2005


电脑版 客户端 关于我们
佳工机电网 - 机电行业首选网站