论文部分内容阅读
摘要:三维CAD系统的核心是产品的三维模型。三维模型是在计算要中将产品的实际形状表示成为三维的立体模型。从支持创新设计的角度讲,三维CAD技术便于直观表达设计意图。特别是在概念设计、工业设计主面,三维CAD系统采用的三维特征和参数化功能可以更加准确表达设计意图,完成装配等复杂设计过程,使设计过程更加符合设计者的设计习惯和思维方式,进行创新设计。研究了组件技术和特征造型技术,并对基于组件开发三维CAD系统的相关技术和实现方法进行了深入研究,给出了实现系统的框架结构和组件结构。
关键词:CAD 组件 变量化(VGX) 实体造型 特征造型
随着传统CAD系统在工业界的应用普及以及现代设计问题的复杂化、智能化,人们不再仅仅满足于用计算机取代人进行手工绘图。所幸随着计算机图形学、人工智能、计算机网络等基础技术的发展和计算机集成制造、并行工程、协同设计等现代设计理论和方法的研究,使得CAD系统也由单纯二维绘图向三维智能设计、物性分析、动态仿真方向发展,参数化设计向变量化和VGX(超变量化)方向发展,几何造型、曲面造型、实体造型向特征造型以及语义特征造型等方向发展;另一方面,伴随着CAD软件复杂程度的增加和各个不同应用系统间互操作的现实需要,人们希望CAD系统具有极佳的开放性同时又能“搭积木”似的自由拼装形成不同的功能配置,软件工程技术特别是组件开发技术的研究应用和逐渐成熟为解决这一问题提供了坚实的基础。
组件技术使得各CAD系统开发商们不必再完全遵从“一切从零开始”的开发模式,他们可根据自己的技术优势在满足组件接口规范要求下开发不同的构件,然后在得到许可的情况下便可以自由使用这些构件来搭建用户所需要的CAD系统。这种方式因其开发周期短、见效快、系统柔性高、开放性好、以及容易“即插即用”和进行并行开发等优势而倍受亲赖。
一、系统框架
数据层包括物理数据文件、数据库和逻辑数据模型两部分,它是CAD系统的设计结果,也是CIMS信息集成的主模型,由于本系统是符合STEP标准的,故可以通过标准数据存取接口(SDAI)进行操作,数据是用户利用系统功能实现的。
功能层是主体部分,主要有三维零件设计、装配设计、二维工程图设计三大模块,由于有主模型的支持,三块之间相互关联:即任一部分的改变都将引起其它部分相关的自动更新。在零件设计中采用特征造型和实体造型相结合、特征模型与实体模型共存,大大方便了后续工艺分析和加工对特征信息的需求又满足了显示、变换、物性计算、干涉检查等操作对实体信息的要求。变量化VGX技术主要在草图设计、特征造型、装配设计等部分应用,极大的方便了用户对设计的编辑和修改。
接口层是提供系统的对外接口,分为功能接口与数据接口。功能接口便于用户进行二次开发,组件重用等;而数据接口为其它环节如CAPP\CAM\CAE\PDM等提供一致性的数据访问方式。
二、组件结构
系统的组件结构设计是基于组件技术开发CAD系统的关键,主要内容是根据应用系统的功能需求列出所有构成组件、各个组件间的依赖关系和接口,并确定哪些组件自己开发而哪些可直接从组件供应商处购买以缩短开发周期。而本系统就是通过从美国STI公司(SpatialTechnology Inc.)购买三维CAD系统所需几何造型、文件管理、内存管理等基本功能组件,而集中精力开发支持特征造型、VGX约束求解、装配设计、关联绘图、用户接口等组件。
由于ACIS是完全基于组件技术开发的,其所有基础功能均通过不同的组件(表现为动态联接库DLL)实现。在ACIS6.0中大约有五十多个DLL,所有这些DLL实际可划归为两部分:ACIS 3DToolkit(核心模块)和Optional?Husks(可选模块)。其中核心组件提供构造系统所需的基本功能(如:基本几何和拓扑、内存管理、模型管理、显示管理、图形交互等),这部分是ACIS几何建模的核心,类似于飞机的发动机,其中包括许多开发商的必选构件;而另一部分可选组件则提供一些更专业化和更高级的功能(如:高级过渡、高级渲染、可变形曲面、精确消影、拔模、抽壳、与CATIA和Pro/E等系统的数据接口等),这部分作为可选组件由用户根据实际开发的系统需要自由挑选、搭配和组合,当然用户也可用自己开发的组件取代ACIS的部分组件。ACIS的各组件之间存在一定的依赖关系,其中核心组件详情可参见ACIS6.0核心组件依赖关系图。
4.关键技术实现
采用软件组件技术建立组件依赖关系为三维CAD系统架设了总体结构,但具体实现还需解决许多关键性技术,以下主要以特征造型技术为例说明系统的设计思路。
由于ACIS本质上一个几何实体造型的平台,通过B-rep表示提供实体几何、拓扑结构的完整描述,但它并不直接支持特征造型。因此,该系统在实体模型和特征模型之间通过引入构造点、边、面的机制建立一种映射关系。每个特征中不仅包含工艺制造信息还包含其具体构造点、边、面信息,这些构造元素再与实体模型中的点、边、面建立联系。
其中LmFeature最终派生于ACIS的ENTITY,以便于进行内存管理、文件存储和模型操作管理。m_Construction属性记录该特征的所有构造点LmSuperPoint、边LmSuperEdge、面LmSuperFace(三者均派生于LmSuperElement),它们又分别记录ACIS的VERTEX,EDGE,FACE和部分几何参数以及特定的语义信息;同时在每个ACIS拓扑元素(FACE,EDGE,VERTEX)中通过属性ATTRIB机制又嵌入其对应的LmSuperElement。这种双向链表结构方式不仅便于实现特征造型和实体造型间的无缝链接和快速查找,而且也为系统重建时维护拓扑关系奠定了基础。因为仅记录ACIS拓扑元素(FACE,EDGE,VERTEX)是不可能保证拓扑关系一致的。m_OtherInfo属性主要用于存放特征语义、工艺信息等,另外还为用户提供了手工添加特征语义的接口,为真正支持CIMS环境下信息集成奠定了基础。
在特征创建\删除\修改或模型重建过程中,为维护设计者的设计意图关键在于维护模型修改前后拓扑结构的对应关系即:拓扑一致性,因此必须考虑拓扑编码的问题。系统通过为每个从ENTITY派生的实体引入索引标志的方法解决,该索引标志不仅记录全局唯一标志符,而且通过充分利用ACIS?ENTITY中的ATTRIB?和ANNOTATION类对模型操作的具体变化做了详细的记录:操作前有那些面、边、点,操作后又产生了那些新的面、边、点等等。操作后系统自动重新整理,保证了拓扑结构的对应关系。
要支持特征造型,还必需维护特征之间的依赖关系,以便修改特征参数后重建所有依赖特征,这些关系一般形成树形结构,又称特征树。特征树方便了对特征的管理,但这种关系往往也限制了设计人员的设计思路,并且还可能出现:父特征的删除导致所有子特征的删除,如果某特证的参数依赖于其后续特征的参数导致系统重建时的崩溃等现象。于是系统采用双重坐标方法:即对每个特征既记录其相对父特征的坐标,也记录其在全局坐标系下的坐标。这样,当父特征不存在时,子特征可在全局坐标系下"生存";另外,采用VGX技术,将约束关系从几何关系中独立出来,建立全局约束链,相对独立的约束求解器?结合代数方法和数值求解方法对约束整体联立求解,既增加了系统的动态导航、动态约束添加和动态修改机制又保证了模型的修改可以超越设计历史树的限制,使得设计人员随时、随地、随意修改成为现实。
软件组件技术的发展为大型复杂的三维CAD/CAM系统的开发提供了极好的解决之道,它完全改变了传统CAD/CAD系统开发的低效率模式,使得该类复杂系统也可以“搭积式”的快速构建。本文深入研究了基于组件技术开发三维CAD系统的相关技术,介绍了具体实现方法,同时给出了系统组件层次结构,可为开发该类系统提供一定的参考。
关键词:CAD 组件 变量化(VGX) 实体造型 特征造型
随着传统CAD系统在工业界的应用普及以及现代设计问题的复杂化、智能化,人们不再仅仅满足于用计算机取代人进行手工绘图。所幸随着计算机图形学、人工智能、计算机网络等基础技术的发展和计算机集成制造、并行工程、协同设计等现代设计理论和方法的研究,使得CAD系统也由单纯二维绘图向三维智能设计、物性分析、动态仿真方向发展,参数化设计向变量化和VGX(超变量化)方向发展,几何造型、曲面造型、实体造型向特征造型以及语义特征造型等方向发展;另一方面,伴随着CAD软件复杂程度的增加和各个不同应用系统间互操作的现实需要,人们希望CAD系统具有极佳的开放性同时又能“搭积木”似的自由拼装形成不同的功能配置,软件工程技术特别是组件开发技术的研究应用和逐渐成熟为解决这一问题提供了坚实的基础。
组件技术使得各CAD系统开发商们不必再完全遵从“一切从零开始”的开发模式,他们可根据自己的技术优势在满足组件接口规范要求下开发不同的构件,然后在得到许可的情况下便可以自由使用这些构件来搭建用户所需要的CAD系统。这种方式因其开发周期短、见效快、系统柔性高、开放性好、以及容易“即插即用”和进行并行开发等优势而倍受亲赖。
一、系统框架
数据层包括物理数据文件、数据库和逻辑数据模型两部分,它是CAD系统的设计结果,也是CIMS信息集成的主模型,由于本系统是符合STEP标准的,故可以通过标准数据存取接口(SDAI)进行操作,数据是用户利用系统功能实现的。
功能层是主体部分,主要有三维零件设计、装配设计、二维工程图设计三大模块,由于有主模型的支持,三块之间相互关联:即任一部分的改变都将引起其它部分相关的自动更新。在零件设计中采用特征造型和实体造型相结合、特征模型与实体模型共存,大大方便了后续工艺分析和加工对特征信息的需求又满足了显示、变换、物性计算、干涉检查等操作对实体信息的要求。变量化VGX技术主要在草图设计、特征造型、装配设计等部分应用,极大的方便了用户对设计的编辑和修改。
接口层是提供系统的对外接口,分为功能接口与数据接口。功能接口便于用户进行二次开发,组件重用等;而数据接口为其它环节如CAPP\CAM\CAE\PDM等提供一致性的数据访问方式。
二、组件结构
系统的组件结构设计是基于组件技术开发CAD系统的关键,主要内容是根据应用系统的功能需求列出所有构成组件、各个组件间的依赖关系和接口,并确定哪些组件自己开发而哪些可直接从组件供应商处购买以缩短开发周期。而本系统就是通过从美国STI公司(SpatialTechnology Inc.)购买三维CAD系统所需几何造型、文件管理、内存管理等基本功能组件,而集中精力开发支持特征造型、VGX约束求解、装配设计、关联绘图、用户接口等组件。
由于ACIS是完全基于组件技术开发的,其所有基础功能均通过不同的组件(表现为动态联接库DLL)实现。在ACIS6.0中大约有五十多个DLL,所有这些DLL实际可划归为两部分:ACIS 3DToolkit(核心模块)和Optional?Husks(可选模块)。其中核心组件提供构造系统所需的基本功能(如:基本几何和拓扑、内存管理、模型管理、显示管理、图形交互等),这部分是ACIS几何建模的核心,类似于飞机的发动机,其中包括许多开发商的必选构件;而另一部分可选组件则提供一些更专业化和更高级的功能(如:高级过渡、高级渲染、可变形曲面、精确消影、拔模、抽壳、与CATIA和Pro/E等系统的数据接口等),这部分作为可选组件由用户根据实际开发的系统需要自由挑选、搭配和组合,当然用户也可用自己开发的组件取代ACIS的部分组件。ACIS的各组件之间存在一定的依赖关系,其中核心组件详情可参见ACIS6.0核心组件依赖关系图。
4.关键技术实现
采用软件组件技术建立组件依赖关系为三维CAD系统架设了总体结构,但具体实现还需解决许多关键性技术,以下主要以特征造型技术为例说明系统的设计思路。
由于ACIS本质上一个几何实体造型的平台,通过B-rep表示提供实体几何、拓扑结构的完整描述,但它并不直接支持特征造型。因此,该系统在实体模型和特征模型之间通过引入构造点、边、面的机制建立一种映射关系。每个特征中不仅包含工艺制造信息还包含其具体构造点、边、面信息,这些构造元素再与实体模型中的点、边、面建立联系。
其中LmFeature最终派生于ACIS的ENTITY,以便于进行内存管理、文件存储和模型操作管理。m_Construction属性记录该特征的所有构造点LmSuperPoint、边LmSuperEdge、面LmSuperFace(三者均派生于LmSuperElement),它们又分别记录ACIS的VERTEX,EDGE,FACE和部分几何参数以及特定的语义信息;同时在每个ACIS拓扑元素(FACE,EDGE,VERTEX)中通过属性ATTRIB机制又嵌入其对应的LmSuperElement。这种双向链表结构方式不仅便于实现特征造型和实体造型间的无缝链接和快速查找,而且也为系统重建时维护拓扑关系奠定了基础。因为仅记录ACIS拓扑元素(FACE,EDGE,VERTEX)是不可能保证拓扑关系一致的。m_OtherInfo属性主要用于存放特征语义、工艺信息等,另外还为用户提供了手工添加特征语义的接口,为真正支持CIMS环境下信息集成奠定了基础。
在特征创建\删除\修改或模型重建过程中,为维护设计者的设计意图关键在于维护模型修改前后拓扑结构的对应关系即:拓扑一致性,因此必须考虑拓扑编码的问题。系统通过为每个从ENTITY派生的实体引入索引标志的方法解决,该索引标志不仅记录全局唯一标志符,而且通过充分利用ACIS?ENTITY中的ATTRIB?和ANNOTATION类对模型操作的具体变化做了详细的记录:操作前有那些面、边、点,操作后又产生了那些新的面、边、点等等。操作后系统自动重新整理,保证了拓扑结构的对应关系。
要支持特征造型,还必需维护特征之间的依赖关系,以便修改特征参数后重建所有依赖特征,这些关系一般形成树形结构,又称特征树。特征树方便了对特征的管理,但这种关系往往也限制了设计人员的设计思路,并且还可能出现:父特征的删除导致所有子特征的删除,如果某特证的参数依赖于其后续特征的参数导致系统重建时的崩溃等现象。于是系统采用双重坐标方法:即对每个特征既记录其相对父特征的坐标,也记录其在全局坐标系下的坐标。这样,当父特征不存在时,子特征可在全局坐标系下"生存";另外,采用VGX技术,将约束关系从几何关系中独立出来,建立全局约束链,相对独立的约束求解器?结合代数方法和数值求解方法对约束整体联立求解,既增加了系统的动态导航、动态约束添加和动态修改机制又保证了模型的修改可以超越设计历史树的限制,使得设计人员随时、随地、随意修改成为现实。
软件组件技术的发展为大型复杂的三维CAD/CAM系统的开发提供了极好的解决之道,它完全改变了传统CAD/CAD系统开发的低效率模式,使得该类复杂系统也可以“搭积式”的快速构建。本文深入研究了基于组件技术开发三维CAD系统的相关技术,介绍了具体实现方法,同时给出了系统组件层次结构,可为开发该类系统提供一定的参考。