您的当前位置:首页正文

第1章参数化特征造型基础

2024-07-14 来源:星星旅游
第一章 参数化特征造型基础

1.1 绪论

UG NX软件是一个集成化的CAD/CAE/CAM系统软件,它为工程设计人员提供了非常强大的应用工具,这些工具可以对产品进行设计(包括零件设计和装配设计)、工程分析(有限元分析和运动机构分析等)、工程图绘制、数控加工程序编制等,同时还提供了很多面向专业的应用工具(例如注塑模、钣金设计等)。随着UG NX版本的不断更新和功能的不断扩充,UGNX软件的集成化、可视化、网络化、智能化、专业化功能都得到了很大发展。在集成化方面提高了CAD/CAE/CAM的集成度;在可视化方面为用户提供了更加方便的操作界面,使得用户能够快速掌握UG NX的使用;在网络化方面提供了支持协同设计的网络环境下的产品设计,例如基于WEB的Netmeeting(【工具】→【合作】→【连接到Netmeeting】);在智能化方面提供了基于知识的设计语言和模块,例如KF编程;在专业化方面给用户提供了更多的面向专业应用领域的设计向导和工具,例如各种模具设计模块(冷冲模、注塑模等)、钣金加工模块等。

虽然UG NX在发展过程中不断推出新版本,功能也在不断增加和更加强大,但是由于企业的行业特点和专业不同,新的需求范围广,需要一些专业化、个性化的功能和工具,而UG NX是一个面向机械行业的通用CAD/CAE/CAM软件,因此需要在此基础上进行二次开发才能满足实际的需要。

UG NX每次的版本升级都代表了当时先进制造技术的发展前沿,很多新的设计方法和理念都能很快地在版本中反映出来。例如在并行工程中强调的几何关联设计、在网络环境下的协同设计等都是这些先进方法的体现。从二次开发的角度讲,新版本的API函数的变化不大,。所以本书提供的说明仍然可以应用于以后的发展版本。

从企业应用的角度讲,应该遵从如下原则:应尽可能直接使用UG NX的已有功能,如不能满足要求,应首先选择定制开发的方式,只有在上述情况都不能满足的情况下才应进行二次开发,以减少企业专用软件的开发成本和以后的维护成本。

本书作为一个UG二次开发基础的入门篇,将介绍基于UG NX二次开发的基本方法,编程技巧等。本章首先介绍参数化特征造型基础和曲面造型基础。

1.2 参数化特征造型的基本概念

目前各种CAD软件系统都具有三维参数化特征造型的功能。而三维参数化实体造型的理论基础是实体造型原理。在进行UG二次开发中,经常会遇到一些和实体造型有关的术语,在API函数中也经常碰到各种表示实体几何造型中的数据结构,因此本节主要介绍实体模型的表示方法。

1.2.1 几何模型类型

几何建模指在计算机上描述和构造对象的方法,其构造的模型表达类型分为:线框模型、表面模型、实体模型。

1

(1)线框模型 在三维模型中按照一定的拓扑关系将点和棱边有序连接的模型,在计算机内描述一个三维线框模型必须给出两类信息:①顶点(Vertex)表——存储模型中各顶点的三维坐标;②边(Edge)表——存储模型中的各棱边,由指针指向各棱边的顶点,实际上表达了简单的拓扑连接关系。

线框模型是一种具有简单数据结构的三维模型,其优点是描述方法简单,所需数据信息量少,显示速度快,特别适合于线框图的显示。主要的缺点是:

z 由于信息过于简单,没有面信息,故不能进行消隐处理; z 模型在显示时理解上存在二义性; z 不便于描述含有曲面的物体,例如对于一个圆柱体,除了顶面和底面与圆柱面的

交线以外,圆柱面本身无边界棱边,而上下两个圆又无端点; z 无法应用于工程分析和数控加工刀具轨迹的自动计算。

(2)表面模型:数据结构是以“面-棱边-点”三层信息表示的,表面(Face)由封闭的棱边围成,棱边由点构成,它们形成了一种拓扑关系。表面模型用的曲面可以是简单的解析曲面,也可以是自由曲面,构造自由曲面的方法有很多,UG NX使用的是非均匀有理B样条(NURBS:Non-Uniform Rational B-Spline)方法。

表面模型避免了线框模型的二义性。由于定义了面,可以根据不同的观察方向消除隐藏线和隐藏面;可以对面着色,显示逼真的色调图形;还可以利用面的信息进行数控加工刀具轨迹的计算。在数控加工中刀具轨迹的计算和物体的表面特性有很大关系,直接影响到刀具轨迹的生成,因而表面建模主要描述物体的表面特性,如曲率连续性、光顺性等。实体表面的数学表达可以是解析曲面也可以是自由曲面,在UG NXG中对于独立存在的曲面称为片体(Sheet Body)。而作为实体表面的曲面则仍然是Face。

表面模型虽然克服了线框模型的一些不足,但是曲面模型表示的是零件几何形状的外壳。所以曲面模型实质上不具备零件的实体特征,这就限制了它在工程分析方面的应用,不能进行物理特性计算,例如转动惯量、体积等。

(3)实体模型:从理论上讲,以“体-面-环-棱边-点”的五层拓扑结构信息表示模型即可表达实体,但是由于实际数据结构处理的方便和需要,一般的实体模型的表达都对此进行了扩充,例如ACIS(几何造型核心软件)采用了7层结构,如图1-1(a)所示。UG NX采用了Parasolid几何造型核心软件,如图1-1(b)所示。

图1-1 ACIS 和Parasolid的几何造型核心层次结构[1-1]

以Parasolid为例,体(Solid)是由表面围成的封闭空间,壳(Shell)是构成体的表面集合,表面(Face)是由棱边围成的封闭区域,环(Loop)是封闭的棱边集合,包括外环与内环,例如一个孔在一个表面上形成了一个内环,表面本身的棱边序列是外环。共边(Fin)

2

是表达翼边数据结构的公共边,边(Edge)是由顶点构成,顶点(Vertex)是最底层的拓朴结构。在图(b)的左侧是几何模型的拓扑层次关系,表达了模型中各几何元素之间的联接关系,右侧是几何模型的几何类型信息,表示了点(point)、线(Curve)、面(Surface)的内容,几何信息是可以用几何数据、方程、公式、表达式表达的一类信息,例如点可以用(xi,yi,zi)表示,直线可以用直线方程表示,BSurface可以用B-Spline表示等。

实体建模最常用的是边界描述法(B-Rep:Boundary Representation)和构造性实体几何法(CSG:Computed Structure geometry),在UG NX中采用的是B-Rep方法。

实体模型的表达信息丰富,除了能实现表面模型的功能外,还能够满足物理性能计算,例如质量与质心计算、重量以及工程分析的需求。在产品设计中,实体建模技术更符合人们对真实产品的理解和习惯。

1.2.2 参数化特征模型

1.2.2.1 特征模型

实体建模方法在表示物体形状和几何特性方面是完整有效的,能够满足对物体的描述和工程的需要,但是从工程应用和系统集成的角度来看,还存在一些问题:实体建模中的操作是面向几何的(点、线、面),而非工程描述(例如槽、孔、凸台的构造特征),信息集成困难,因而需要有一个既适用于产品设计和工程分析又适用于制造计划的统一的产品信息模型,满足制造过程中各环节对产品数据的需求。特征造型方法的出现弥补了实体造型的不足。

在这里我们不对特征模型进行定义,而是直接使用J.I.Shah的特征分类: z 形状特征:与公称几何相关的零件形状表示,例如孔、槽、凸台等。

z 材料特征:零件的材料、热处理和加工条件等,它隶属于零件的属性和加工方法,

材料特征表示的信息经常反映在BOM表的属性中,是CAPP和CAM所需的工艺信息。

z 精度特征:可接受的工程形状和大小的偏移量,例如公差尺寸可以认为是精度特

征的内容之一。在UG NX中可以支持三维环境下的公差表示。

z 装配特征:反映装配时的零件之间的约束配合关系以及相互作用面。例如孔与轴

的装配。

应用效果最好和最为成熟的是形状特征,例如在UG NX中的孔、槽、凸台、拉伸等。形状特征的基础还是实体模型,但是进行了工程语义的抽象,即:语义+形状特征。形状特征的目的在于:简化几何模型中对底层几何元素的访问。

在UG NX中,除了形状特征外,在几何形位公差方面也提供了特征功能。几何形位公差的传统表示方法一般是在二维视图中通过标注功能反映这些非几何信息,以便为工艺设计和数控加工提供公差信息。

一个特征造型系统是很复杂的,不同的CAD系统,即使底层几何核心平台是相同的,开发的CAD 系统还是有很大的不同。例如基于Parasolid几何核心的UG NX和Solidworks系统,它们的功能、特点、风格各不相同。开发一个CAD系统,除了实体造型的核心外,还需要融合先进的特征设计方法、参数化技术、图形学技术、交互式技术等。

1.2.2.2 参数化

在产品设计中,设计实质上是由给定的功能、结构、材料及制造等方面的约束描述,经过反复迭代、不断修改从而求得满足设计要求的解的过程。除此之外,设计人员经常碰到这样的情况:①许多零件的形状具有相似性,区别仅是尺寸的不同;②在原有零件的基础上做一些小的改动来产生新零件;③设计-分析仿真的迭代过程经常需要分析后进行实体

3

模型的修改。这些需求采用传统的造型方法是难以满足的,一般只能重新建模,而参数化方法提供了设计修改的可能性。

目前的三维CAD系统都包含参数化功能,而且大部分参数化功能和特征设计结合到一起,使特征模型成为参数的载体。

参数化设计一般是指设计对象的结构形状基本不变,而用一组参数来约定尺寸关系。参数与设计对象的控制尺寸有显式对应关系,设计结果受尺寸驱动,因此参数的求解较简单。

参数化设计的主要特点是:

z 基于特征:将某些具有代表性的几何形状定义为形状特征,并将其所有尺寸设定

为可修改的参数,形成实体,以此为基础来进行更为复杂的几何形体的创建。 z 全尺寸约束:将形状和尺寸联合起来考虑,通过尺寸约束来实现对几何形状的控

制。造型必须以完整的尺寸参数为出发点(全约束),不能漏注尺寸(欠约束),不能多注尺寸(过约束)。在UG NX中,存在二维草图的参数化设计,为了提高设计的灵活性和操作的方便性,UG NX允许非全尺寸约束,即在尺寸欠约束的情况下允许生成三维实体。不过还是建议尽可能采用全尺寸约束,便于以后零件更改的可靠性和正确性。

z 参数化设计可以在不同级别实现。在UG NX中,有零件级参数化,装配级参数

化,系统级参数化。零件级的参数化可以通过草图参数化实现截面形状的修改,通过三维特征的参数修改实现实体模型的修改,主要用于零件设计。装配级参数化通过零件之间的装配约束实现零件之间的相对方位修改(例如平行面之间的距离值、两个面法线之间的角度值等),主要用于零件装配。系统级的参数化通过几何链接器实现装配树不同层次节点上的几何关联设计,其中有参数约束,也有几何约束,当某个零件的参数发生改变,与它有关联关系的零件随之改变。

基于约束的尺寸驱动是较为成熟的参数化方法,它的基本原理是:对几何模型中的一些基本图素施加一定的约束,模型一旦建好后,尺寸的修改立即会转变为对模型的自动修改。参数约束成为二维草图和三维特征修改的基础。例如一个长方体,对其长L、宽W、高H赋予一定的尺寸值,它的大小就确定了。当改变L、W、H的值时,长方体的大小随之改变。这里不但包含了尺寸的约束,而且包含了隐含的几何关系的约束,如相对的两个面互相平行,矩形的邻边互相垂直等。

1.3 曲面造型的基本概念

1.3.1 自由曲线

在飞机、汽车、船舶等工程设计中,它们的表面既不是圆柱类、也不是一般的二次曲面(线)类,仅以解析形式表达的曲线曲面构造方法已不能满足设计要求,需要一种能够表达非解析形式的曲线来定义曲线或曲面的形状,这类曲线就称作自由曲线或自由曲面。自由曲线是一种由逼近、插值、拟合方法得到的曲线。

在UG NX中自由形状特征(Free Form Feature)中许多曲面生成是利用已有曲线经过不同的操作生成的,例如过曲线(Through Curves)、直纹面(Ruled)、过曲线网格(Through Curve Mesh)、扫描(Swept)特征都以自由曲线作为输入数据,因此自由曲线是自由曲面的基础,而自由曲线一般就是指样条曲线,它有一些特殊的几何性质和一些重要的基本概念。

利用计算机绘制曲线必须给出定义公式,如圆弧、椭圆和双曲线等,将一系列离散点

4

连接成光滑曲线可以采用样条方法。样条方法起源于汽车的车身设计,通常将一系列无规则的离散点连接成光滑曲线,为此,手工绘图采用一根弹性材料做的样条,通过调整样条外形,使其尽量逼近离散点从而绘制出所需的曲线。人们从绘制车身曲线得到启发,根据材料力学方法,将样条看成弹性细梁,从而得出样条计算公式。

曲线的表示分为几类:

z 规则曲线与基本曲线:直接由数学方程定义的解析曲线,如直线、二次曲线(圆

弧、椭圆、双曲线等),在UG NX中属于基本曲线类。

z 计算类曲线:由计算生成的曲线,如相交曲线、投影曲线、偏置曲线等,一般是

在已有曲线的基础上通过计算得到的曲线。

z 构造类曲线:由点生成的曲线,用户必须输入一系列点(UG中分别称为极点、

定义点),通过插值、逼近、拟合构造曲线,一般指自由曲线。

z 规律曲线:预先定义的参数方程,通过给定的参数定义曲线,用户必须输入参数

生成曲线,例如螺旋线。

1.3.2自由曲线的常用术语

(1) 非均匀有理B样条

在UG中样条曲线都是用非均匀有理B样条NURBS (Non-Uniform Rational B-Spline)表示的,NURBS是描述样条曲线的一种有效方法,它能够将二次圆锥曲线和自由曲线统一起来,并且给用户提供了更多的控制调整曲线形状的能力。

(2) 曲线的次数和多项式表示

每一条样条曲线都是由一个多项式表达的,多项式中的最大指数称为多项式的次数(Degree),它是构造样条的一个基本输入参数,例如下面的多项式具有不同的次数:

7x2+5x−3=35次数为2

2t3−3t2+t=6次数为3

次数与曲率峰值点(peak)的关系:次数-1 = 曲率峰值点的最大个数,例如一个二次曲线,它的曲线曲率峰值点为1。

(3) 曲线的段数、次数与点数的关系

一条曲线可以是单段曲线,也可以由多段曲线段组成。单段样条的次数由输入点的个数决定,即次数 = 点的个数-1,例如图1-2(a)的曲线次数为18次。由于次数严格受点数的控制,所以单段样条应用并不多。多段样条是指一条曲线由2段以上的曲线段组成,在曲线段的拼接处自动保持曲率连续,它的次数由用户在对话框中指定,指定的次数必须小于输入点数。例如图1-2(b)中有7 个点,可以指定为3次样条,由此得到的曲线为多段曲线段拼接而成。

(a) (b)

图1-2 次数与段数

注:

在UG NX中单段样条的最高次数为24,输入的点数最多为25,数学上表示为一段Bézier曲线

5

多段样条的输入点数无限制,数学上表示为多段B样条曲线,且在拼接处达到二阶连续

(4) 定义点、极点与节点

这里我们均以UGNX的术语进行说明。 z 定义点(Defined Point):定义点定义了曲线的形状,数学上采用插值算法,保证

这些点落在构造的样条曲线上,如图1-3(a)所示。工程上常称这些点为型值点。例如飞机机翼的截面线以及叶片叶身的截面线就是以定义点定义的。

曲线过定义点:点在曲线上

(a)

由极点产生曲线: 特征多边形的首末点在曲线上

(b)

特征多边形

拟合曲线:曲线仅通过端点

(c)

图1-3 点与曲线的关系

z 极点(Poles):又称为控制多边形顶点,数学上采用逼近算法,它大致描绘出曲

线的变化方向,曲线只通过控制多边形的首末点,控制多边形的形状将影响曲线的形状。第一、第二点控制了曲线的首端斜率,最后二点控制了曲线的末端斜率,如图1-3(b)所示 z 节点(Knot Points):是多段样条的拼接点,即每小段样条曲线段的端点,单段样

条只有2个节点。多段样条有多个节点

样条的定义点(或极点)数通常都会大于次数以及大于曲线段数。例如,输入4个点,一般可构造一条3次的样条曲线,也可构造一条2次的样条曲线(包含2段)。样条曲线的次数是用户根据输入的点数和设计要求指定的。3次样条曲线是应用得最为广泛的一类曲线。建议尽可能使用3次样条,主要优点是:

z 控制能力比较灵活

z 曲线形状更加接近特征多边形

z 在后续的应用(加工、显示等)中处理更加快捷、方便

z 易于与其它系统传输和交换数据,因为许多系统都支持3次样条的表示形式 高次曲线在实际工作中用得很少,主要缺点是: z 高次曲线易于产生抖动,产生的曲线不光滑 z 与其它CAD/CAM系统交换数据不方便 z 处理速度较慢;曲线调整比较单板 (5) 开(Open)曲线与闭(Closed)曲线

开曲线是指样条曲线的首末端点不重合,而闭曲线是指曲线的首末端点重合,斜率和曲率完全一样,如图1-4所示。控制多边形的首末点通过开样条曲线的端点。

6

开曲线

闭曲线

图1-4 样条曲线的开与闭

(6)斜率的作用

为了增加设计的灵活性,用户在给定定义点后,还可以指定斜率。指定斜率可以指定曲线上某点的切线方向,从而在定义点相同的情况下,改变曲线的形状,如图1-5所示为同样定义点的条件下斜率对曲线的影响。

原曲线

新曲线

原斜率方向 (a)

(b)

新斜率方向

(7) 分析用术语

对曲线进行分析,不能象解析曲线那样可以得到几何尺寸,例如圆半径,而要使用曲线分析方法。UG NX分析的常用术语,如图1-5所示。

曲率梳(Comb Tooth)

极点(Pole)

曲率峰值点 (Peak Point)

拐点(Inflection Point)

特征多边形

图1-5 曲线术语示意图

z 拐点(Inflection Point):表示曲线在该点曲率方向反向 z 曲率峰值点(Peak Point):表示曲线的曲率在该点变化最大 z 曲率梳(Comb Tooth):为了显示曲率值的大小以及方向的变化,从图中我们可以

看到,如果曲率变化比较均匀,说明曲线的光顺性较好,如果曲线大小和方向变化剧烈,说明曲线的光顺性不好。此时需调整曲线的定义点或极点,使得曲线尽可能光顺。因为曲线是构造曲面的基础,曲线的质量差,导致曲面的光顺性差,从而导致数控加工出现问题

7

1.3.3 自由曲面

自由曲面是自由曲线概念的推广。在UG NX中自由曲面是作为自由形状特征表示的。复杂零件可以采用自由特征直接生成零件实体,也可以将自由形状特征与实体特征结合完成,在这里,自由形状特征与实体特征完全集成。如果采用二者结合方法,自由形状特征可以先独立生成片体(Sheet),然后与实体特征进行各种操作运算。典型的例子是如图1-6所示的零件。曲面片和长方体可以分别独立生成,然后用曲面片去修剪实体,得到需要的零件,使零件设计符合要求。

修剪片体

实体特征

修剪前

修剪后

图1-6 用自由曲面修剪实体

参数化设计是零件可修改性的基本保证。同实体特征一样,自由形状特征也具有可修改性。在UG NX中,它的可修改性分为两部分,一部分是参数化的,即对特征定义的表达式参数进行修改,例如片体偏置特征中的偏置值;另一部分是修改曲线定义数据,即对特征的定义数据修改,例如修改过曲线特征中的某些曲线上的点。可修改性建立在模型的可刷新的基础上,而不是重新构造曲面。在自由形状特征中的大多数特征具有可修改性,称之为灵巧性片体(Smart Sheets)。这些片体保留了原始生成数据,当改变数据时,片体随之变化。

1.3.4 自由曲面特征中常用术语

在曲面设计中,由于自由曲面特征的特点,一些常用概念是必须了解的,这些概念有利于用户设定合理的建模参数以及曲面设计的质量,以减少设计的盲从性。

1.3.3.1 物体类型

在UG中,构造的物体(Body)类型有2种:实体(Solid Body)与片体(Sheet Body)。 z 实体---具有厚度、由封闭表面包围的具有体积的物体 z 片体---厚度为0, 没有体积存在,一般指曲面

UG的数控加工编程可以对上述两类物体(实体与片体)进行处理。所以对于复杂的曲面加工,为减少存储量,也可以直接输出曲面进行数控编程。

1.3.3.2 行(Rows)和列(Columns)

一个自由曲面在数学上是用两个方向的参数定义的:U和V,行方向由U参数定义,列方向由V参数定义。如图1-7所示。生成曲面时一定要注意U和V的方向。

行方向(U)

列方向(V)

6个点为一行

8

图1-7 行与列的概念

1.3.3.3 次数(Degrees)

与样条曲线的次数概念类似,曲面的次数是在U、 V两个方向分别指定次数。片体在U、V方向的次数必须介于1-24之间,建议构造曲面的U、V次数使用3次为宜,称为双3次曲面,工程上大多数使用的是这种双3次曲面。

曲面不同方向的次数与输入的数据有关,在一个方向上如果输入为点,次数与点数的关系为:

(1)如果为单张曲面,次数 = 点数-1 (2)如果为多张曲面,次数由用户指定

z 如果输入一个U方向的曲线,则U方向的次数继承曲线的原有次数,而指定V

方向的次数。

z 如果输入为U、V方向的曲线,则继承2个方向原有曲线的次数。

1.3.3.4 曲面片 (Patches)

曲面片是生成片体的一部分,多张曲面片可合成一张片体,如图1-8所示,可以由用户指定次数来控制生成单张(Single)或多张(Multiple)曲面片。从加工的观点出发,构造曲面时,应尽可能使用少的曲面片数。

单片

4个曲面片组成1张曲面

图1-8 曲面片与片体

9

因篇幅问题不能全部显示,请点此查看更多更全内容