模具外文文献翻译-注射模设计的三维模型发展【中文7600字】【PDF+中文WORD】
模具外文文献翻译-注射模设计的三维模型发展【中文7600字】【PDF+中文WORD】,中文7600字,PDF+中文WORD,模具,外文,文献,翻译,注射,设计,三维,模型,发展,中文,7600,PDF,WORD
【中文7600字】
注射模设计的三维模型发展
T.L.Neo和K.S.Lee
新加坡国立大学机械与生产工程系新加坡
如今,为了使注塑工艺变得更简单,很多嵌入式软件都在高级3D 注塑平台的基础上开发出来的,诸如有限元分析,计算机辅助制造,注射模设计,模拟以及形象化设计。这些软件都是很有利的。然而,它关非没有缺点。事实上,这些嵌入式软件也可以通过低级的3D更灵活和更轻便性开发出来。这篇文章查阅了各种各样基于3D应用发展的期刊和方法,主要是关于软件方面。首先,提出了一种基于3D的应用发展的方法,这种观点通过使用Parasolid模型的注射模实现的。基于在已建立的模具设计中的模具设计概念,文中说明了一种被叫做IMOLD的模件。在一个Windows NT 平台上,面向对象的编程语言被用来开发这种软件。
关键字: 3D 模型; 计算机辅助设计; 注射模设计;
1. 介绍
三维计算机辅助设计系统已经越来越被用来加速产品的实现过程。涉及产品自动化设计过程的第一步是3D建模应用中的组件部件的建立,在建模过程中,这种3D 模型的建立称为数字化建模,这种数字化建模得到的3D的关键一步是生产过程自动化。
组件部件的3D数字化建模仅仅是第一步。还有许多的其他辅助任务必须在零件被生产之前完成。这些任务包括有限元分析、夹具和固定装置的设计、注射模设计、计算机辅助制造、模拟和形象化设计。当今很多在高级3D建模平台上发展起来的嵌入式软件来促进这些辅助任务。这种3D建模站台提供了一个具有编程的用户界面和风格的嵌入式软件。结果,这种嵌入式软件的开发时间大幅度地减少。
这种方法在很多方面都是有利的,但是,它也有它的缺点,特别是从长远的角度考虑。为了为现有的软件开发另外一种嵌入式软件,那些开发者必须兼顾很多现有的限制条件,必需与源软件的风格一致。那些开发者必须利用系统所提供的各种库函数来实现各种功能性操作, 大多数的终端用户需要源软件和嵌入式软件。不过,在很多情况,他们可能对使用只有嵌入式的软件更感兴趣。 在注射模设计过程中就有这种情况的例子,不过,这些用户必须购买包括很多他们不需要的特征和功能的整个软件包, 这么大的程序通常是硬件上所必需的,同时这也意味着会费用更高。这嵌入式软件也很大程度上依赖源软件的发展。一旦源软件版本被更新,那些嵌入式软件的开发者必须采取相应的行动, 如果这些应用在一个低级的平台上发展,这些缺点可能会不存在。事实上,这些嵌入式软件可以使用低级的3D 模型更灵活和更轻便性发展。在很多情况下,这样的操作既可行又有利。传统上,注射模设计可以直接在计算机辅助设计系统执行,整个注射模,可能由数百个组件部件组成,在计算机辅助设计系统(例如 AutoCAD,PRO/工程师和Unigraphics)上建模和装配,因为注射 模设计过程是反复的,所以重新建模和装配是相当费时,在这个方面,像这些基于特征的PRO/工程师以及Unigraphics那样的3D.
计算机辅助设计系统比像AutoCAD那样的2D 计算机辅助设计系统的更有优势, 为加速注射模设计工艺的发展,这种嵌入式软件在3D系统上自动发展一些注射工艺 ,这种附加应用的例子包括在国立新加坡大学发展,基于Unigraphics上发展的IMOLD(智能模型设计和装配系统)、专家模具设计者(基于CADKEY)及模型制作者(基于EUCLID) . 因为以上每一个都基于特定的计算机辅助设计系统,所以都没有嵌入兼容性。在1994年,Mok和张 [1]基于Unigraphics的注射模设计应用上做了研究。在1997年,Shah [2] 在几何建模之间的联系标准化之间提出了互访结构模型,他的目标是在基于Parasolid的3D 应用以及ACIS之间获得嵌入兼容性,只不过它包括三维建模 。在这篇文章里,作者试图直接发展一种质量轻的使用低级的3D模型注射模设计应用,并把重点放在软件开发的灵活性和速度上。设计概念和程序来自IMOLD [4,5 ]、模具设计和3D 装配中应用。尽管这些讨论仅仅局限于注射模设计,这种方法学能很容易地被应用在其他基于3D的应用中,并且有相似的作用,开发者工具的结合就是为了这个目的而选择的。在方法学被讨论之前,对于其中的一些先提出的工具作一个简短的介绍,他们分别是IMOLD、Parasolid 10.1 版本、VC6.0 版本和微软公司基础种类。
2.IMOLD 用作模具设计应用
IMOLD(智能模型设计和装配) 是在基于3D的应用致力发展的注射模设计。它在一个叫做Unigraphics的高级计算机辅助设计系统之上发展起来的。该发展正在通过使用系统所提供的编程接口(API)来实现。该软件通过提供常用的设计工具促使模具设计者能够迅速进行设计。在设计中所需的常用的标准组件部件,可以在软件里预先创建并且可能被容易被设计者调用。这很大程度上降低了设计时间。模具设计过程可分成几个阶段,以一种固定的方式给设计者们提供模具设计方法。
它们便是:
1. 数据准备。
2. 填充系统设计。
3. 模具基础设计。
4. 插件与零件设计。
5. 冷却系统设计。
6. 滑板和提升设计。
7. 注射系统设计。
8. 标准零件库。
每个阶段都可以被认为是一个独立的模件设计过程。基于3D的每个模件的要求变化甚微。成功地建立模型基础模件意味着在发展其它模件过程中也是可行的。
3.用作3D模型设计的Parasolid
Parasolid被用设计为基于3D 模型数据系统的核心。实体建模有必要被用作。
1.建造并且操作实体。
2. 计算质量和惯性矩,并且进行干涉检测。
3. 以多种方式输出实体。
4. 在特定的数据库或者档案内储存实体并且可以稍后提取出来。
在计算机辅助设计中,Parasolid是最先进的3D 模型设计软件。它是Unigraphics和Solid- Works的3D核心。它独特的公差模拟运作功能使得它能以其它格式接收和存储数据。因此Parasolid模型文件是十分方便的而且它也是独立应用发展的高级平台。基于3D的应用与Parasolid之间通过它的3个界面中的一个相连接。
这些被称这之为Parasolid 核心界面、模型界面以及底端界面。PK界面和模型界面位于建模系统的顶部,通过这些方法来建模和对实体进行操作以及控制建模的功能。底端界面位于建模窗口的底部。当需要执行集中数据或系统类型操作时建模者便需要它。它由3个部分组成:函数、图形输出和外形几何 ,以下分别对其作出简短的介绍。
3.1 KI 和PK界面
KI 和PK是供程序员进入Parasolid模型里进行建模的接口
他们是建模功能的标准库。程序员在他们的程序里称之为建模功能。因为KI不久将被淘汰,所以我们选择使用PK界面。
3.2 函数
函数是一必须由应用程序员编写的功能,当数据必须被存储或者提取时需要使用该功能。当使用Parasolid时,应用程序员必须首先决定怎样管理数据的存储,通过该功能Parasolid输出该数据。通过该功能转存数据通常与写入文件或导出文件有关。文件的形式和及存储位置在写该功能时被确定。
3.3图形的输出
对图形输出功能是由应用程序员所编写的另一种功能。对需要PK给予功能的设计者来说,图形数据是由GO界面输出的,
然后3D数据被传给3D图像包。OpenGL,是图形卡片的一个软件接口可以为我们提供我们所需的数据包。
3.4 外形几何
外形几何学可以为用户几何类型的发展(例如机构内部及表面的曲线)提供功能操作。它通常与在Parasolid内的建模标准几何类型一起使用。
4. 使用VC以及微软公司基金类型的面向对象的程序设计
面向对象的程序设计(OOP)已无可争议地成为软件开发者的选择。它是在目前所存在的软件中最高级的开发软件。微软公司Visual Studio就是这样的一个软件包。它刻划了许多基于因特网和基于Windows编程用的开发工具。在这些工具中包含有VC以及微软公司基金种类(MFC)。VC是面向对象的程序设计的强有力的开发工具,而MFC是一种基于Windows编程的框架。它以强大的开发特性和功能性,例如自动编码基于wizard操作,为应用程序员提供开发工具。这大大改进了生产效率。我们使用的程序的整个用户界面是使用VC以及MFC开发出来的。
5. 系统设计
基于3D的使用3D模型的附加应用的直接发展的问题正待解决。在最高的水平上它由3个主要阶段组成。
首先,必要特征和嵌入式应用软件功能的识别:
第二,应用框架的设计与开发;
最后,具有合适的开发工具的框架中个别模件的设计与开发。
5.1 必要软件的识别
Parasolid作为一种3D建模方法,只提供许多库函数以及3D应用开发的基本框架。因此,那些开发者有必要识别和开发3D计算机辅助设计系统中其他的必要设施。为了识别所需的设施,理解两者之间的差异是很重要。
表格1 总结了3D模型和3D计算机辅助设计系统所提供的主要设备的差别。其中的一些设备,例如特征和参数建模,在耗时与技术上都要求有发展。因为大多数的嵌入式软件不使用源程序中的所有设备,只通过开发这些使用低级3D模型所需要的嵌入式软件生产单独的版本是很有可能的。
表格1从第7条到第9是使用基于3D的应用发展Parasolid的必要条件。
通过研究嵌入式的应用的必要条件,其他必要的设备的要求也可以被鉴定。然后提出了该应用程序的一个框架,该框架是基于由Parasolid建模所提供的设备。
5.2 基于3D应用的框架
对于由开发的工具和.应用的要求所提供的设备,开发了一种框架。它专门被设计以使单个编程模件之间的差异最小化。这将导致编程代码发生小程度的变化。事实上,程序代码使用起来更加的轻便各更有助于维修,而且将来的发展前景也是相当好的。这个框架的概述在图2里得以说明,各种各样的模件的详细情况被在以后的章节里讨论。
5.2.1个基于Windows的用户界面(A)
Parasolid不为程序员提供用户界面。因此,在每一个阶段基于3D应用的发展将涉及到从头开始设计用户界面。相关的必要开发内容包含:
1. 基于3D的应用的环境设置和显示。
2. 交互式图表的接口和全部应用功能操作的执行程序。
5.2.2 3D 开发者(B)图层的设置
因为不同的基于3D的应用在不同程度上需要不同的3D设备,该框架必须为用户提供这些变量的设置。一个3D开发者图层的设置(参阅图2)被概念化来解决这些变化。这是基于Parasolid模型已经开发出来的对象的库函数或者类别。开发的程度取决于建模的要求情况。
图表一由3D模型和计算机辅助设计系统所提供的设施的摘要
3D模型和3D计算机辅助设计系统设施:
1. 基本3D低级建模和通用功能以及高级功能和特殊功能;
2. 由整个系统提供的装配多种库函数;
3. 基于特征的建模;
4. 不经常被提供的参数建模;
5. 系统常提供的低级建模功能;
6. 系统提供的不完全草图;
7. 系统不常提供的交互式用户界面;
8. 系统所提供的三维物体基本概念框架功能和库函数的可视化;
9. 系统所提供文件管理系统的基本概念和多个信息库功能的完全发展。
除了要满足应用条件中的变量要求外,3D开发者设置层也要为非Parasolid开发者提供一个编程接口。这样的一个接口能也其他基于3D的应用的开发者重新使用。3D开发者设置层基本上由3 个主要部分组成。他们可分别被用于3D建模和装配,3D可视化以及3D 数据管理。
I . 3D建模和装配
3D建模和装配模件是所有这3个部分中最重要和最精心制作的部分。它与由大多数计算机辅助设计系统提供应用编程接口(API)相似。该模件由一基于3D对象或类别的库函数组成,它可用于核心应用模件的发展。大多数3D应用所需要的3D基本的功能的操作性能必须被首先开发出来。基于单个基于3D的应用所需的条件,其他更多的高级特性后来也被增加进来了。
II. 3D的可视化。
在三维物体的显示窗口用户范围需要一个团体软件图表接口。图表的输出以及所选择的图表的接口经常被在基于3D的应用里以及视图对象管理和转变之中。为这个目的而开发了一个类别库函数。
III. 3D 数据管理。
3D数据管理模件是在函数之上被开发出来的。函数是存在于使存档以及3D零件文件的进入变得容易的Parasolid的模件之中。为此开发了一种使用函数来处理的类型选择器。
1. 3D目标文件形式;
2. 诸如打开和保存3D目标文件这样的文件管理操作。
5.2.3 应用模块(C)
这些是位于3D开发者设置层和应用用户界面之间存在的基于3D的应用模块。这些模块的设计的主要取决于应用的属性并且相互之间的差别很大。在这个领域已经正在进行很多有研发工作主要发展的工作的大部分被进行。然而,研发的难易主要取决于3D开发者设置层的能力。
5.2.4个其他软件模块(D)
通常,基于3D的应用可能需要来自于其他已存软件模块或应用模块的功能性操作。因此,诸如此类的连接是可能存在的。在这篇文章的应用部分就为这样的一个例子加以说明了。
5.3 单个模块的发展
在进行一个合适设计之前,对每个模块都得进行研究和分析,它的开发难易很大程度上取决于所选的框架和开发者设置层。下一部分说明了注射模设计的3D模型开发的实施情况。
6. 实施情况
应用系统设计,开发了基于3D的注射模设计。这被通过使用前面章节所述的开发者工具获得的。因为模型基础需要更大范围的3D功能性操作,包括装配的生成,所以选用它来加以说明。
6.1每个模块的要求应用框架和所需要的条件
对于识别开发工作,专门设定了了一个应用框架。发展的工作鉴定。图3说明了基于Windows用户的模型基础模块的详细情况。在每个模件里的详细要求在讨论如下:
6.1.1 Windows NT的用户界面(A)
模型基础设计是一个反复的过程。模型设计者首先从目录中选择了一个标准模型,然后对模型的尺寸进行修改直到所有的条件都得以满足。因此,为了这个目的有必要考虑使用交互式用户界面。
使用VC和MFC来开发基于Windows的界面,它包括:
1. 菜单条栏目、菜单项和工具条按钮的创建、显示和管理,以便更方便地进行应用的功能性操作。
2. 引导用户或获得用户输入的对话框的创建、显示和管理
3. 显示区域内各种视角的创建、显示和管理。
4. 拖动的鼠标的作用。
5.对每个功能的顺序操作设计。
应用之后的结果如图4中所示,它是一个典型的其于Windows应用的用户界面。
6.1.2 3D 开发者(B)设置层
对基于3D模型基础设计的要求进行分析,然后识别一下即将开发的模块。 基于3D模型基础设计的要求如下:
1. 创建初始模型(例如矩形,圆柱,圆锥);
2. 创建圆角和倒角;
3. 进行布尔运算:并集和差集;
4. 变换操作:变换和旋转;
5. 对象属性的管理,诸如名字和颜色;
6. 创建引用特征;
7. 创建总装配和子装配;
因为以上这些应用不是那么的广泛,所以可以开了一个基础建模集。有了单个模块的详细开发情况,就可以给开发者设置层添加更多的功能。每个模块的全部要求条件将在以后的章节加以说明。
I . 3D建模和装配
一个模型基础基本上是许多组件部件的集合,诸如键和螺丝。
为了使模型基础设计变得容易,设计者必须提供一个事先已经准备好的模型基础库。通过选择特别的尺寸,可以生成一个标准的模型基础件。为了使这些变得容易,识别和开发了基于3D的功能库,该功能与前面6.1.2所提及到的要求条件相对应。正因为该编码是面向对象的,在需要的时候,它们很容易被延伸以适应其他模型设计模块。
II. 3D视图的可视化
使用图表的输出和作为图表界面的OpenGL所提供的功能共同作用来为3D的实体操作开发投影和视图变换等诸多功能。它们包括:
1.用所选择的颜色给3D堆零部件着色;
2. 用所选择的颜色给3D装配体着色(图7和图8分别用阴影和线框的模式给3D装配体加以显示);
3. 用所选择的颜色在屏幕上给其他3D实体着色;
4. 在模型基础装配中用不同的颜色分别给单个组件着色;
5. 交互式视图变换(诸如旋转,变换和缩放);
6. 装配树显示和操作。
III. 3D 数据管理。
开发独立应用程序的好处之一就是它的轻便性,所以采用最大的轻便性打开的形式是很重要的。因此以原先的Parasolid文件形式(.xmtFtxt)来替代新的文件形式。一个模型基础件的数据管理要求包括如下内容:
1. 打开,保存,另存为和关闭Parasolid零件文件。
2. 打开,保存,另存为和关闭Parasolid装配文件。
3. 输入和输出零件文件。
6.1.3个模型基础模件(C)
为了促进标准模型基础组件的自动生成,系统必须提供一个模型基础零部件库, 其尺寸大小取决于目录中的标准值。为使设计容易进行,需对这些尺寸进行顺序修改,这个模件详细情况将在第6.2部分进行讨论。
6.1.4 数据库支持(D)
一个标准模型基础件需要用将近100个参数来对单个组件的尺寸和位置进行完全描述。这些参数的大部分都是相互联系的并且可以从其它数据库中获得。因此,一个数据库文件需要被用来存储基于目录的标准模型基础件的参数。Microsoft Access 数据库形式被使用在MFC里进行直接存储数据库文件。在MFC里使用数据存取对象(DAO),一套被用作抽取和管理数据库城相关参数的功能。
6.2模型基础设计的发展
模型基础模件由3个主要部分组成,即,模型基础组件生成、模型基础装配生成、模型基础类选择和自定义模件。第4个部分被称作为模型基础参数管理,也是被用来开发为应用提供数据支持。这些已经图表中5中说明了。注注射模设计的开发部分的细节内容讨论如下:
I . 零部件库的生成
有了3D开发者设置层的支持,为模型基础的标准组件部件被创建和存储在组件库中。通过规定合适的尺寸,这些组件部件可以被生成而且可以被模型基础装配生成器所使用。
II.装配生成器
使用3D 图层设置并将组件库生成器各标准模型基础集中并存储在装配库中。当提供从数据库中提取特定参数集时,由于它得到了特别的参数支持,所以特定的标准模具基础装配可以自动地
III. 参数管理者
参数管理者将模型基础应用模件和数据库支持连接起来。当一个特定的标准模型基础被选择后,它的为模型基础装配的相应参数已经从数据库中提取出来并且发送到组件库生成器和装配生成器中。除此以外,参数管理者也允许用户为了设计的目的而对参数进行修改。
IV. 模型基础设计者。
模型基础设计者为两个主要目的服务。首先,允许用户选择来自装配生成器的标准模型基础。其次,通过允许模型基础设计者修改所选择的模型基础的尺寸来使模型基础设计变得容易。该样品代码给那些模型基础来生成功能。从图9中我们可以注意到使用了许多代表模型基础的参数的变量的功能, 这是用于装入那些零部件生成各种各样的模型基础零部件的创造。装配生成器然后使用那些零部件和那些参数集来确定模型装配基础的创建,正如在3D开发者层设置外一样,在样本程序中没有直接被叫作 Parasolid功能的当今的模型基础设计应用能意识到在工厂要求设计的注射模基础设计的全部功能性设计情况。因为模型基础是IMOLD模件中的最广泛应用的3D模型,所以它的成功开发意味着开发了一完全基于3D注射模设计和装配应用的可行性。
7. 结论
高级编程语言的发展已经允许程序员用参数来重新使用编程代码,该编程代码存在于象微软公司基金类型那样的对象里。
这些强大的特征已经使程序员从更多的编程标准函数的程序和建立用户界面中分离出来了。他们现在能够把精力集中在软件的核心组成部分,从而增加生产效率。这导致发展独立版本的软件诸如CAE、计算机辅助设计和计算机辅助制造可行性提高。不过目前,这种方法是既耗时的而且技术要求高。尽管如此,它还是可行的而且前景是非常好的。通过把几种高级的开发者工具结合起来,我们已经设法增加了这些工具开发注射模设计的应用能力。迄今为止,只有模具设计工艺的前三个阶段得以编码。这给随后的模型设计模件的开发奠定了基础。该方法也可以很容易地在包含标准组件设计的其他软件中实施。这些包括夹具和固定设备设计、冷铸、和生产产品自动化。
结束语
这项工作是由办事处的海军研究的指导下,斯蒂芬e.newfield. 作者要感谢洪女士范用于技术援助。
参考文献
[l] C. K. Mok and Edmund H. M. Cheung, "计算机辅助注射以知识为基础的方法“模具设计,会议论文,制造工程部,香港城市理工学院香港,1994.
[2] Jami J. Shad, Hiren Dedhia, Viren Pherwani and Sachin Solkhan“应用程序服务的动态接口的几何建模通过建模中性协议”,计算机辅助设计,29(12),页811–824,1997.
[3] “Parasolid文件集》,版本10.1.123,UG解决方案公司,1999.
[4] “IMOLD培训手册》,2版,manusoft塑料有限公司,1998.
[5] K. S. Lee, J. Y. H. Fuh, A. B. T. Koo and Z. Wang,”基于知识的工程系统的设计和安装塑料注射模具”,第一全国CAD/CAM程序会议,吉隆坡,马来西亚,1995.
[6] G. Bandyopadhyay and K. W. French,"Fabrication of Near-net Shape Silicon Nitride Parts for Engine Application," J. Eng. for Gas Turbines And Power,
[7]J. Greim et al, "Injection Molded Sintered Turbocharger Rotors," Proc. 3rd. Int. Symp. on Ceramic Materials and Components for Heat Engines, Las Vegas, Nev., pp. 1365-1375, Amer. Cer. Soc. 1989.
10
Int J Adv Manuf Technol (2001) 17:453–461 2001 Springer-Verlag London Limited
Three-Dimensional Kernel Development for Injection Mould Design
T . L. Neo and K. S. Lee
Department of Mechanical and Production Engineering, National University of Singapore, Singapore
Today, many software “plug-ins” have been developed on high-level 3D modelling platforms to facilitate processes such as FEM analysis, CAM, injection mould design, simulation and visualisation. Such an arrangement is advantageous in many ways. However, it is not without shortcomings. Ideally, these “plug-ins” could also be developed using low-level 3D kernels for higher flexibility and better portability. This paper examines the various issues and methodologies related to the development of such 3D-based applications. The emphasis is placed on the software aspect. First, a methodology for the development of 3D-based applications is proposed. The idea is then implemented by developing an injection mould design application using a low-level 3D kernel called Parasolid. Based on design concepts used in an established mould design application, IMOLD, the development of a mould base design module is illustrated. An object-oriented programming language has been chosen for the development of the software on a Windows NT platform.
Keywords: 3D kernel; Computer-aided design (CAD); Injection mould design; Parasolid
1. Introduction
Three-dimensional CAD systems have increasingly been used to speed up the product realisation process. One of the first steps involved in the automation of the product design process is the creation of the component parts in a 3D modelling application. The 3D model, upon creation, is called the digital master copy. This 3D digital model forms the key to a wide spectrum of process automation.
Creating the 3D digital model of component parts is only the very first step. There are several other secondary tasks that must to be done before the part can be manufactured. Such tasks include finite-element analysis, jigs and fixtures design, injection mould design, computer-aided manufacturing, simul-
Correspondence and ofprint requests to: K. - S. Lee, Department of Mechanical and Production Engineering, National University of Singa- pore, 119260 Singapore. E-mail: mpeleeksKnus.edu.sg
ation, and visualisation. Today, many application Plug-ins have been developed on high-level 3D modelling platforms to facili- tate these secondary tasks. The 3D-modelling platform provides the plug-in software with a library of functions as well as an established user interface and style of programming. As a result, the development times for these plug-ins are significantly reduced.
Such an arrangement is advantageous in many ways. However, it has its shortcomings, especially in the long run. In order to develop a plug-in for established software, the developers must adhere to the many constraints imposed. There is a need to be consistent with the style of the parent software. The developers must be able to achieve any functionality they need with only the set of library functions provided. Most end-users need both the parent software and the plug-in. In many cases, however, they may be more interested in using only the plug-in software. An example of such a situation is in injection mould design. These users, however, must purchase the entire software package which includes many features and functions that they do not need. Such a large program is often very demanding on the hardware, which also means higher cost. The plug-in software is also very dependent on developments in the parent software. Whenever a new version is updated for the parent software, the plug-in developers have to follow-up on the changes. These shortcomings may not exist if these applications were developed on a low-level platform. Ideally, these plug-ins could be developed using low-level 3D kernels for higher flexibility and better portability. In many instances, such a move is both feasible and advantageous.
Traditionally, injection mould design is carried out directly on a CAD system. The entire injection mould, consisting of perhaps hundreds of components, is modelled and assembled on CAD systems such as AutoCAD, Pro/Engineer, and Unigraphics. As the injection mould design process is recursive, it is very time-consuming to re-model and re-assemble the design. In this aspect, 3D CAD systems such as Pro/Engineer and Unigraphics, which are feature-based, have a significant advantage over 2D CAD systems such as AutoCAD. To further speed up the injection mould design process, plug-ins were developed on these 3D systems to automate certain stages of the design process. Examples of such add-on applications include IMOLD (Intelligent Mold Design and Assembly Sys-
454 T. L. Neo and K. S. Lee
tem, developed at the National University of Singapore, based on Unigraphics), Expert Mold Designer (based on CADKEY) and Moldmaker (based on EUCLID). As each is based on a specific CAD system, there is no plug compatibility.
In 1994, Mok and Cheung [1] presented work on the devel- opment of an injection mould design application based on Unigraphics. In 1997, Shah [2] proposed a 3-tier architecture for standardising communications between geometric modelling kernels and applications that require geometric modelling services. His objective is to achieve plug compatibility between 3D applications that are based on Parasolid [3] (a 3D kernel, developed at the University of Cambridge) and ACIS. This, however, involved an extensively developed 3-tier modelling husk. In this paper, the author attempts to develop a lightweight injection mould design application using a low-level 3D kernel directly. The focus is on the flexibility and speed of the software development. Design concepts and procedures were taken from IMOLD [4,5], a complete mould design and assembly 3D application. Although the discussion is limited to injection mould design only, the methodology applied can easily be applied in other 3D-based applications that are of a similar nature.
A combination of developer tools was chosen for this purpose. Before the methodology is discussed, brief introductions to some of these tools are first presented. They are, IMOLD, Parasolid version 10.1, Visual C v e r s i o n 6.0, and the Microsoft Foundation Classes.
2. IMOLD as a Mould Design Application
IMOLD (Intelligent Mold Design and Assembly) is an established 3D-based application that is dedicated to injection mould design. It is developed on top of an advanced CAD system called Unigraphics. The development is carried out using the applications programming interface (API) provided. The software enables mould designers to create a design rapidly by providing the tools that are commonly needed. Standard components parts, that are often required in the design, have been pre-created in the software and can be readily used by the designer. This reduces the design time significantly. The mould design process is divided into several stages, providing the designer with a consistent method of creating the mould design. They are, namely:
1. Data preparation.
2. Filling system design.
3. Mould base design.
4. Inserts and parting design.
5. Cooling system design.
6. Slider and lifter design.
7. Ejection system design.
8. Standard parts library.
Each stage can be considered as an independent module of the program. The 3D-based requirements for each module vary only slightly. The success in developing the mould base module implies feasibility in developing all the other modules.
3. Parasolid as a 3D Kernel
Parasolid is designed to be the centre or “kernel” of any system that is based on 3D model data. It is essentially a solid modeller, which can be used to:
1. Build and manipulate solid objects.
2. Calculate mass and moments of inertia, and perform clash detection.
3. Output the objects in various ways, including pictorially.
4. Store the objects in some sort of database or archive, and retrieve them later.
Parasolid is one of the most advanced 3D kernels among CAD applications. It is the 3D kernel of Unigraphics and Solid-Works. Its unique tolerant modelling functionality enables it to accept data stored in other modeller formats. Parasolid model files are thus very potable. It is, therefore, a superior platform for the development of stand-alone applications.
The 3D-based application interacts with Parasolid through one of its three interfaces (see Fig. 1). These are called the Parasolid kernel (PK) interface, the kernel interface (KI) and the downward interface. The PK interface and the kernel interface sit “on top” of the modeller (side-by-side), and are the means by which the application models and manipulates the objects, as well as controls the functioning of the modeller. The downward interface lies “beneath” the modeller, and is called by the modeller when it needs to perform data-intensive or system type operations. It consists of three parts: frustrum; graphical output (GO); and foreign geometry. These are briefly explained below.
3.1 The KI and PK Interface
The KI and the PK are interfaces for the programmer to access the modelling capabilities in the Parasolid kernel. They are standard libraries of modelling functions. The programmer calls these modelling functions in their programs. As the KI is to be phased out soon, we chose to use the PK interface.
Fig. 1 . Parasolid components.
3D Kernel Development for Injection Mould Design 455
3.2 The Frustrum
The frustrum is a set of functions, which must be written by the applications programmer. The kernel calls them when data must be saved or retrieved. When using Parasolid, the applications programmer must first decide how to manage the storage of data, which Parasolid outputs through the frustrum. Transferring data through the frustrum usually involves writing to, or reading from, files. The format and location of the files is determined when writing the frustrum functions.
3.3 The Graphical Output (GO)
The graphical output is another set of functions, which is to be written by the applications programmer. When a call is made to the PK rendering functions, the graphical data generated are output through the GO interface. The graphical data are then passed to a 3D rendering package. OpenGL, a software interface to graphic cards, is a rendering package that is used for our purpose.
3.4 The Foreign Geometry
The foreign geometry provides functionality for the development of customised geometrical types such as in-house curves and surfaces. These are used together with the standard geometrical types for modelling within Parasolid.
4. Object-Oriented Programming Using Visual C a n d the Microsoft Foundation Classes
Object-oriented programming (OOP) has been the undisputed option for software developers. It is among the most advanced developmental tools available. The Microsoft Visual Studio is such a software package. It features several developmental tools that are meant for Internet-based and Windows-based programming. Among these tools are the Visual C ( V C ) and the Microsoft Foundation Classes (MFC). The V C i s a powerful development tool for object-oriented programming, whereas the MFC is a framework of C c l a s s e s that are dedicated to Windows-based programming. Together, these provided the applications programmer with powerful development features and functionalities such as auto-code generation, and wizard-based operations. These greatly improved productivity. The entire user-interface for our program is developed using the V C a n d the MFC.
5. System Design
The direct development of a 3D-based add-on application using a 3D kernel requires several issues to be addressed. They consist of 3 main stages at the highest level. First, the identification of the crucial features and functions required for the plug-in application. Secondly, the development of the design
for the application framework. Lastly, the design and develop- ment of the individual modules in the framework with appropriate developmental tools.
5.1 Identification of Essential Modules
Parasolid, as a 3D kernel, provides only a number of libraries and a conceptual framework for 3D application development. It is thus necessary for the developers to identify and develop the other essential facilities that are provided in a 3D CAD system. In order to identify the required facilities, it is important to understand the discrepancies between the two. Table 1 summarises the main differences in the facilities provided by a 3D kernel and a 3D CAD system. Some of these facilities, such as features and parametric modelling, are both time-consuming and technically demanding to develop. As most plug-ins do not use all the facilities of the parent software, it is possible to develop only those required by the plug-ins using low-level 3D kernels, producing a standalone version.
Items 7 to 9 in Table 1 are prerequisites for the development of 3D-based applications using Parasolid. By studying the requirements of the plug-in application, other essential facilities can be identified. A framework for the application is then proposed, based on the facilities provided by the Parasolid kernel.
5.2 Framework for 3D-Based Applications
A framework is developed with reference to the facilities provided by the developmental tools and the requirements of the application. It is designed so that there are minimum dependencies between individual code modules. This may result in a small degree of code duplication. In exchange, there is better portability of the program codes, greater ease of maintenance and a better prospect for future expansion. The overview of this framework is illustrated in Fig. 2. The details of the various modules are discussed in the following sections.
5.2.1 Windows-Based User-Interface (A)
Parasolid does not provide the programmer with a userinterface. Thus, the development of the 3D-based application at every single stage will involve designing the user-interface from scratch. The necessary developments involve:
1. Environmental setting and display of the 3D-based appli- cation.
2. Interactive graphical interface and execution procedure for all application functionality.
5.2.2 3D Developer Layer (B)
Since different 3D-based applications require 3D-facilities to different extent, the framework must provide for these variations. A 3D developer layer (See Fig. 2, Item B) is conceptualised to handle such variations. It is a library of objects or classes that are developed, based on the Parasolid kernel. The extent of development depends on the requirements of the
456 T. L. Neo and K. S. Lee
Facilities
3D kernel
3D CAD system
1.
Basic 3D modelling
Low-level and general functions provided
High-level and specific functions provided
2.
Assemblies
Several library functions provided
Complete system provided
3.
Feature-based modelling
Not provided
Established feature set provided
4.
Parametric modelling
Not provided
Often provided
5.
Free-form modelling
Low-level functions provided
Often provided
6.
Drafting
Not provided
Complete system provided
7.
Interactive user-interface
Not provided
Always provided
8.
Visualisation of 3D objects
Conceptual framework and several library
Completely developed
functions provided
9.
File management system
Conceptual framework and several library
Completely developed
functions provided
Table 1. Summary of facilities provided by a 3D kernel and a CAD system.
Fig. 2. Overview of 3D-based application.
application identified in the previous section. Besides catering for variations in application requirements, the 3D developer layer also acts as a programming interface for non-Parasolid developers. Such an interface can also be re-used for subsequent development of other 3D-based applications. The 3D developer layer essentially consists of three main sections. They are used for 3D modelling and assembly, 3D visualisation and 3D data management, respectively.
I. 3D Modeling and Assembly. The 3D modelling and assembly module is the most important and elaborate of all three sections. It is analogous to the application-programming interface (API) provided by most CAD systems. The module consists of a library of 3D-based objects or classes, which are used for the development of the core application modules. The basic 3D functionality that is required by most 3D applications must be developed first. Depending on the requirements of the individual 3D-based application, other more advance features are subsequently added.
II. 3D Visualisation. The display of 3D objects in a Windows client area requires a software graphics interface. The graphical output together with a selected graphical interface, are used for the rendering of 3D objects in the 3D-based application, as well as the management of the viewing projections and transformations. Here, a library of classes is developed for such purposes.
III. 3D Data Management. The 3D data management module is developed on top of the frustrum. The frustrum is the module in the Parasolid kernel that facilitates archiving and access of 3D part files. A library of classes are developed using the frustrum for handling:
1. 3D object file format.
2. File management operations such as opening and saving a 3D object file.
5.2.3 Application Modules (C)
These are the actual 3D-based application modules that sit between the 3D developer layer and the application userinterface. The design of these modules depends mainly on the nature of the applications and often differs greatly. The main bulk of the developmental work is carried out in this area. The ease of the development, however, depends on the capabilities of the 3D developer layer.
5.2.4 Other Software Modules (D)
Very often, the 3D-based application may require functionality from other existing software modules or application modules. Therefore, such a link may exist. An example of such a requirement is illustrated in the implementation section of this paper.
5.3 Development of Individual Modules
Each module to be developed is studied and analysed before a suitable design is produced. The ease of development depends greatly on the design of the framework and the developer tools selected. The next section illustrates the implementation of the
Fig. 3. Overview of the injection mould base design application.
above methodology on a 3D-based injection mould base design and assembly application.
6. Implementations
Applying the system design, a 3D-based injection mould design application is developed. This is achieved using the develop- mental tools mentioned in the earlier sections. The mould base module is chosen for illustration, as it requires the widest range of 3D functionality, including the generation of assemblies.
6.1 Framework of Application and the Requirements of Each Module
A framework for the application is designed with reference to the developmental work identified. Figure 3 illustrates the framework for the Mold Base design application. The details of
the requirements in each module are discussed as follows:
6. 1.1 Windows NT User-Interface (A)
Mould base design is an iterative process. The Mould designer first selects a standard mould base from the catalogue, and then repeatedly makes modifications to the dimensions of the mould base until all the design requirements are met. It is, therefore, necessary to consider an interactive user-int
收藏