Web零件库

2024-07-14

Web零件库(精选八篇)

Web零件库 篇1

关键词:分布式零件库,集成系统,数据库访问,信息交互,资源共享

0 引言

随着信息技术的不断发展和Internet应用的日益广泛, 在两化深度融合的背景下, 网络技术在制造业信息化过程中扮演了越来越重要的角色。为了适应产品快速开发设计和协同工作的需要, 网络零件库近几年来发展迅猛, 许多企业和研究机构都建立了自己的零件库系统。但是这些零件库大部分都以自家的标准为基础, 主要服务于自身的产品设计需求, 具有分布式和独立性的特点。现如今一个产品的设计形成已经不再仅仅依靠企业内部的资源, 而是依靠多企业相互协作产生的结果, 企业需要通过有效的零部件供应渠道, 依托整个供应链的信息集成来实现企业内外零件资源的共享和重用[1]。分布式的零件库已经不能满足产品快速开发的实际需求, 零件库的集成对于缩短产品开发周期、降低生产成本具有十分重要的现实意义。

网络零件库都是针对具体的CAD平台, 如Pro ENGINEER、UG、Solid Works等, 利用这些三维建模软件的二次开发接口实现了三维零件资源的在线预览、下载和再设计。本文旨在设计一种面向Web的分布式零件库集成平台, 实现不同零件供应商和不同种类零部件库的接入, 充分利用互联网的优势, 构建实现多供应商零件资源共享和重用, 为企业产品设计开发提供了一个协同设计与制造的平台[2]。

1 系统总体架构

分布式零件库集成系统是基于B/S模式的, 是为企业合作伙伴之间、零件库供应商、用户之间提供信息交流共享的网络平台, 由用户界面层、业务处理层、数据资源层三层体系结构组成, 系统的总体框架如图1所示。

用户界面层由Web浏览器应用程序组成, 定义了零件库供应商、终端用户和管理员用户三种具有不同权限的用户类型, 是用户与零件资源进行交互 (数据共享) 的窗口, 负责显示页面内容并获取相应的信息提交给服务器处理。业务处理层由服务器端应用程序组成, 用于处理用户和供应商提交的数据, 实现了系统集成平台, 通过数据访问接口与数据层进行通信, 可进行系统信息的管理和用户权限的分配, 完成零件库的建立, 零部件资源的添加、查询、修改、删除等业务逻辑操作。数据资源层存储有关的用户信息、供应商信息和零部件信息, 是整个系统平台的内容支撑基础, 并可配合业务处理层的需求调用关联的资源库, 生成零件预览模型库和特征模型库。

2 零件库集成系统的关键技术

2.1 基于.NET框架的数据库访问技术

网络零件库的集成需要存储大量的数据资源, 如何实现数据之间的交互性和存储的可靠性是首先需要解决的问题, ADO.NET技术可以比较好的实现这一点。ADO.NET是.NET框架中专门用于数据库读取和操作的一组面向对象类库, 为.NET程序员提供了访问关系型、XML、程序数据的组件, 可以让不同类型的数据源以及数据库有效地进行共享和交互[3]。

ADO.NET中提供了两个组件分别用来访问和处理数据, .NET Framework数据提供程序可以从SQL Server中获取数据, 进行数据处理以及对访问数据的只读、只进操作;而Data Set是处理脱机数据的, 主要用于XML数据或本地管理数据的处理, 只访问内存, 而不用访问数据库, 两者获取数据的关系结构如图2所示。本系统中利用ADO.NET的数据库访问技术将数据对象和数据绑定控件工作在一起, 可以直接读取数据源并实时更新, 实现了对零件库资源的增加、删除和修改等操作功能, 用户可以在Web环境下轻松实现对分布式零件库的有效管理。

2.2 系统的UML建模

UML (Unified Modeling Language) 又称统一建模语言, 是对象管理组织 (OMG) 制定的一个通用的、可视化的建模语言标准[4], 可以实现应用软件或复杂系统开发中可视化、描述、构建和文档化系统模型的各种需要, 具有直观性、明确性、清晰性、易于表达等特点。本文中就使用了Rational Rose对零件库集成系统进行了设计和分析, 这里以系统功能用例图的设计为例来说明。

用例图是软件产品外部特性描述的视图, 提供了一种用户与开发者之间可以沟通、理解的表现形式, 由参与者 (系统外角色) 、用例及它们之间的关系构成, 主要从用户的角度描述系统的功能和行为。在面向Web的网络零件库集成系统中, 主要存在四种具有不同权限功能的用户分别为:系统管理员、零件库供应商、授权用户和普通用户, 用户登录平台后能进行相应权限的业务操作, 按照不同的模块与系统实现交互, 。系统功能用例图如图3所示。

2.3 零件几何模型可视化技术

面向Web的分布式零件库几何模型可视化主要是通过Web3D技术来实现的, 可以在网页中动态显示零件的三维模型, 同时各用户能对模型进行旋转、移动、缩放等操作。Web3D主要的流行技术有:VRML、Java3D、Cult3D和Shock Wave3D等, 支持多种类型的3D图像文件, 如WRL、OBJ、DXF、3DS等格式, 其中基于建模技术的VRML可以描述交互式的3D对象和场景, 是3D图形和多媒体技术交换文件的通用格式, 并且兼容大多数CAD软件, 对于三维零件有着很好的显示效果。因此, 本系统采用了VRML插件来进行零件模型的可视化。

VRML本质上是一种建模描述语言, 通过VRML97标准, 可以在互联网上轻松地建立3D渲染模型实时预览。VRML (*.wrl) 文件的调用十分简单, 只需在网页的HTML源文件中插入<embed></embed>标签, 指定相应的属性即可在网页中动态显示三维模型文件;而普通用户只需在Web浏览器中安装好显示插件 (如BS Contact VRML) 就可以实现对模型文件 (*.wrl) 的无刷新浏览, 并通过旋转来实现对三维模型进行任意角度的展示等交互式操作[5]。

2.4 基于XML的零件库信息交互技术

XML (Extensible Markup Language) 是W3C创建的面向Web的一种通用文档语言描述规范, 有着很好的数据描述和储存格式, 功能性强, 易于可扩展和网络传输。在零件库信息的表达与传输上采用XML技术不仅能够自定义数据规则和创建结构化组织形式, 还能适应在Internet上对零件资源的共享需求, 实现零件库信息的交互。图4表示出了基于XML的分布式零件资源库信息的交互过程, 通过建立零件库源数据与XML数据模型间的映射法则, 构造出了零件库资源集成时的统一信息描述规范, 以XML Schema为模板输出转换为XML文档, 最后由供应商或用户通过XML解析器解读XML文档对零件库信息进行多样式的表达[6]。

构建正确的XML Schema映射方法和规则是实现零件库资源共享模型和事物特性表数据向XML文档转换的关键, 为了满足网络零件资源库集成的交互需求, 我们可以从零件库内容和信息模型两个层次来定义XML Schema, 分别用于普通用户获取指定零件库中的零部件信息及相关事物特性数据和零件库供应商定义各自统一数据模型的零件资源库。对于前者的交互需求, 可以采用直接映射法来生成XML Schema, 将关系数据库中不同类别的数据信息直接映射为XML的标签对象, 具有结构规范、可读性强、易于程序处理等特点, 最终将相同族零件的事物特性表达成具有同一格式的XML文档;对于后者可以采用元模型映射法来描述零件库信息模型, 利用XML的语法规则对包括零部件资源的特性属性、数据类型、相互关系在内的信息进行统一自定义, 虽然这种格式的Schema较繁琐, 但有很强的扩展性, 能够确保供应商对零件库信息交互的完整进行。

2.5 集成平台的驱动机制

集成平台的驱动机制就是根据预先配置好的服务流程, 按照用户的需求在本地或互联网上动态地组织应用系统, 从而对业务流程进行合理的驱动。目前, 零件库集成平台主要采用了主从式或P2P (Peer to Peer) 两种流程驱动方式, 主从式可以按照集成框架调用单一零件资源库的Web服务接口, 所有服务和数据都由平台集中发布和管理, 而P2P方式只是由集成平台进行动态调度, 所有资源信息的交换都是在两个用户或企业之间直接进行的[7], 能适应服务分布存储的环境。面向Web的网络零件库集成平台的流程驱动机制则是采用了主从式与P2P驱动相结合的方式。

用户在登陆集成平台经过身份验证后, 可以获取并调用各零件资源库预先在系统中配置好的服务接口, 并通过Active X控件将获取到的数据保存在服务器指定端口中, 在客户端可以对用户的请求进行一一响应, 如零件库分级类目的显示、CAD模型的在线浏览、驱动与下载。在这个过程中, 集成平台只需承担小批量的数据通信任务, 不参与具体的零件库信息交互环节, 而所有的资源信息交互在需求者与供应商之间就可以直接进行, 这种模式的驱动机制更有利于集成平台发挥资源共享、优势互补的特性。

2.6 零件库的建库方案

三维零部件资源是零件库的核心, 也是集成平台发挥作用的动力来源, 如何保障零件库资源的快速入库是整个系统的关键, 因此我们需要建立一套完整可信的入库方案, 需要实现零件资源的上传、CAD软件二次开发接口的调用、零件数据库的快速访问等操作。在此之前我们需要对三维零件库的事物特性、数据参数进行统一描述和封装, 建立零件库与集成平台之间的通信接口。建库过程如图5所示, 供应商登陆系统填写零件基本属性后将已创建好的三维CAD模型文件上传至服务器, 经拷贝和重命名后形成模板文件库;系统支持零件模型批量上传, 只需利用压缩软件将所要上传的多个零件进行成组式压缩, 在服务器端调用ICSharp-Code组件对其进行解压缩[2]。然后, 通过相应的CAD软件系统接口打开CAD模型文件进行参数提取, 将提取到的属性信息存于参数数据库中, 同时生成可视化格式文件 (VRML文件) , 形成浏览文件库。在建库过程中, 可以方便地让供应商扩充已有零件库, 增加了集成平台的可用性与易用性。

3 系统应用案例

分布式零件库集成系统基于B-S模式, 运用于互联网中, 本案例以Visual Studio2010作为系统开发工具, 使用C#编程, SQL Server2008作为数据库, 前台页面还采用了VB、Java Script等脚本语言进行开发。用户可以登录系统查看并调用所需的零件资源, 用于产品设计或二次开发, 并可以付费获取一些零件库供应商提供的增值服务和应用。供应商可以登录系统建立自己的若干专属零件库并动态添加零部件资源, 提供给需求者使用。供应商零部件库展示页如图6所示。

管理员登陆系统后台可以对用户和供应商进行统一管理并分配相应的权限, 具体包括用户管理、供应商管理、零件库管理、资源信息管理、权限管理、数据库备份等。通过后台系统的管理, 可以对整个零件库集成平台相关数据进行统一整理和维护。图7所示为后台系统管理零件入库页面。

4 结束语

面向Web的分布式零件库集成系统用于不同企业之间零件设计资源的共享, 有助于中小企业实现产品的快速开发与复杂产品的协同设计[8], 可以大大缩减产品开发周期与设计成本。本文从系统集成的方面, 研究了分布式零件库在Web环境下集成的方法与关键技术, 并在.NET平台下开发了系统应用案例。系统采用的B-S模式减少了零件资源数据管理和维护的费用, 只需在服务器上进行不定期的更新和维护, 也给管理和使用者带来了极大的方便。分布式零件资源库集成系统的应用能促进企业内部不同部门或企业之间的产品设计沟通, 使资源利用率最大化, 产品开发流程化, 提升企业参与市场的能力, 具有很好的发展前景。

参考文献

[1]冯亮亮, 郭钢, 叶永进, 廖志文, 钱明伟.系列零件三维模型共享系统研究与应用[J].机械, 2010, 37 (2) :36-38, 58.

[2]何丽, 孙文磊, 王宏伟.异构CAD平台网络零件库系统的研究与实现[J].机械设计与制造, 2012, (2) :266-268.

[3]魏祖宽, 江利娟, 金在弘.数据库访问技术比较研究[J].计算机与现代化, 2009, 12:46-50+54.

[4]江瑜.基于U M L的敏捷建模方法研究[J].计算机工程与设计, 2008, 15:4106-4108.

[5]王宏伟, 孙文磊, 何丽.AJAX技术在Web零件库系统中的应用研究[J].制造业自动化, 2011, 12:107-110.

[6]马军, 祁国宁, 顾新建, 郭剑锋.网络化零件库资源集成框架及其关键技术[J].机械工程学报, 2007, 43 (8) :91-96.

[7]徐向荣.基于Web服务的分布式零件库系统开发与应用研究[D].浙江大学, 2006.

用中望3D创建非标零件库 篇2

作为一名三维CAD设计师,我们在做三维CAD设计时,时常会出现这样的情况:对于任何一款产品或者相同型号的产品有相同的部件,所以在做三维CAD绘图时,我们希望把某一个部件做为一个库,那样,根据不同的参数就可以直接来调用之前绘制好的部件。之前用过很多其它三维CAD软件,也发现网络上有各个不同品牌的零件库,但发现它们都是一些国标或者国际标准。最近听朋友介绍中望3D这款三维CAD/CAM软件,我特意去看了看它在自定义零件库这块怎么样,结果出乎意料的理想。

下面我就把我做的第一个实例分享出来:1、打开中望3D后,单击新建图标(或者“文件”—“新建”),在弹出的新建文件下选择“零件/装配”,在“唯一名称”处文件名任意定义。如图一所示。点击确定,完成新建。2、进行中望3D编辑界面后,真正开始我们这个自定义零件库的第一步操作,就是在下拉菜单“插入”下找到“变量”这个选择,如图二红框所选所示。单击它后会弹出一对话框架让你输入变量及表达式。3、在弹出的对话框中,输入变量为‘a’,输入表达式为‘5’,如图三所示。单击确定即可完成创建a=5的函数。结束完再利用第2步到第4步的来输入变量为‘b’,输入表达式为‘10’;输入变量为‘c’,输入表达式为‘20’,输入变量为‘d’,输入表达式为‘40’。说明:细心的朋友可能就会注意,在中望3D里面,鼠标中键是确认以及重复上一个命令的功能,所以在操作完定义a变量以后,我们可以不再去下拉菜单找变量这个选项,我们直接利用鼠标滚轮中键来完成重复上一命令即可完成其它三个变量的设定。所以有机会大家在操作时,看看可不可以利用鼠标或其它的快捷方式,这样会让大家绘制图形时更方便,更快捷。4、此时,我们才真正开始绘制CAD零件,今天我绘制这个零件是一个简易刀具。在绘图区域单击鼠标右键,选择“插入草图”,出现【草图】属性管理器,选择XY平面(或者默认鼠标中键)后点击确定,进入草图绘制,利用直线、圆(圆心,边界<利用右键相切选择菱形边>)等命令,绘制草图如图四所示。由于我们要做参数化设计,所以在绘制CAD草图时,一定不要以为绘制结束了,还有把菱形的四条边跟构造型的圆做约束关系,使得它全部相切约束;另外菱形四条边做相等约束;同时,把该构造线的圆做固定约束(注意,如果你绘图时,做过相关约束,或者系统提示过度约束时,即表示它本来存在约束,这种情况就可以继续下一步操作)。做完这些约束之后,草图绘制还没有结束,因为参数化最重要一块,标注还没有做,所以在草图中把标注做完,如图五、图六所示(实体型线的圆半径R=变量c;构造型线的圆半径R=d),5、在结束这两个变量的标注之后,我们再利用草图中的“几何体”下的“圆角”命令,给菱形四个角做圆角处理,如图七所示。此时,草图绘制才算结束,点击退出草图。6、单击【拉伸】按纽,出现【拉伸】属性管理器,轮廓P选择刚绘制好的‘草图1’,起始点S设置为‘0’,结束点E设置为<变量>‘b’,如图八所示,单击确认结束拉伸命令。至此,这个刀具的零件就绘制结束了,接下来就是把它做成一个零件库了。7、在下拉菜单“属性”下选择第一个选项“零件”,弹出如下对话框,先在第一个界面“标准属性”下把编号随便填写一下,如图九所示,再用鼠标左键点击运行参数,此时,运行参数没有任何内容,单击左上角第一个按纽后,它会自动回到绘图窗口,同时,下方的命令行处会提示你(“指定标注/变量”,或<单击中键>清除,)8、此时,我们在绘图区域单击右键,选择‘浏览变量’(如图十所示),选择后,在绘图右侧方会弹出‘变量浏览器’,在变量和对象中选择第一个a=5即可;再回到图九中的左边第二个按纽,选择变量和对象中选择第一个b=10即可;同理,把变量c、d也做到运行参数里面去就确定结束属性设置,如图十一所示。9、参数都设置好了,接下来就是零件制表。在下拉菜单“实用工具”下找到“零件制表”,在弹出的选项中,我们如图十二所示设置,接着我们按照如图十三当中红色文字提示来操作(右键选择‘编辑’,把编号改成z01后点击确定)。10、我们在如图十三的新建表中,再次选择红框内的参数,右键,选择我们所需要的选项,在这里,我利用右键当中的‘阵列’来完成我们所需要的数据表。选择‘阵列’后,如图十五所示填写内容。点击确定,我们在新建表中,即可看到图十六所示的数据。也就是说我们以后在调用零件时,所需要的参数就是这样得来的,大家有机会可以试一下其它的选项(附加、复制、粘贴)。在这里注意,唯一没有改变的参数就是编号,这个得我们自己昨用图十三的方法来改(也可以直接双击)。11、至此,再点击新建表下方的确定,完成表的新建,同时弹出对话框时,如图十七设置所示。同时,在提示保存时,你只需要把这个保存成一个Z3L文件即可完成整个零件库创建的工作。12、此时,我们利用“实用工具”下的“零件库”来选择刚刚保存好的文件,在C,D值处,我们可以选择在做零件库时阵列的值。下图(图十八)即为两个刚刚做好的零件库插入图。图十八实例证明,利用中望3D这款三维CAD/CAM软件创建非标零件库,大大减少了CAD设计过程中的重复步骤,使CAD设计效率得到明显的提高!

机械零件库资源本体的构建研究 篇3

随着计算机网络和万维网技术的发展和普及,很多机械制造企业建立了各自的基于Web的零件库系统以实现对现有机械零件的组织、管理和查询,在这些分布式零件库系统中各个零件之间隐含的复杂关系难以得到高效利用,且零件数量巨大,描述形式各异,由此导致设计人员的工作效率低下,设计周期长,以及查询效果不理想。

本体作为语义Web[1]技术的核心,可以用来描述各种资源之间的联系,揭示零件资源本身以及资源之间更为复杂和丰富的语义信息,使零件信息具有计算机可理解的语义。因此采用本体思想构建机械零件本体库,对当前如何定义和描述机械零件以及零件之间内在联系这一问题提出了一种非常好的解决办法,同时也可以为快速而有效地检索技术提供支持。

1 基于OWL零件库资源本体的描述

本体的概念最初起源于哲学领域,后来随着人工智能的发展,AI界给予了新的定义,其中最著名并被引用得最为广泛的定义是由Gruber提出的:“本体是概念化的明确的规范说明”[2]。语义网本体语言OWL(Web Ontology Language)是一种能在语义层次上描述信息系统逻辑模型的建模工具[3],是一种用于编写本体声明的语言,是W3C推荐的本体描述语言的标准,目的是提供更多的元语以支持更加丰富的语义表达,并更好的支持推理。

如图1所示的基于OWL的零件资源库本体模式就是根据PLIB标准和马嵩华等[4]提出的零件库领域本体模式以及使用OWL中的Class、Subclass Property、Object Property和Datatype Propert等元素进行建立的,用来描述与零件族相关的概念及概念间的关系。

2 本体构建的新方法

目前,本体的研究已经逐步深入到实际应用的阶段,但因每个研究人员因其所在领域和所处开发角度的不同,使用的本体构建方法和实施过程也是各有特色,不尽相同,所以国内外并没有一套标准方法来构建本体。其中影响较大的方法[5]主要有:企业建模法(TOVE)、M i k e U s h o l d & K i n g的骨架法、生命周期法(METHONTOLOGY)和斯坦福大学医学院开发的七步法。

为了寻找一种更为适合机械零件资源库本体的构建方法,我们利用生命周期法[6]三个阶段涉及到的具有全面性的步骤作为新方法的基础,同时参考七步法[7]和TOVE法[8],提出了一种基于骨架法[9]整体构架的新建模方法。其流程图如图2所示。该方法将整个构建过程分为四个阶段:确定领域本体目标、本体形式化、本体评价和本体文档化,针对各个阶段的具体功能参考了七步法详细的构建步骤,以及在本体评价中参考TOVE法中的评价机理对本体模型的构建进行完善,同时在本体文档化阶段中使用OWL本体语言进行描述,为后面的本体存储奠定了基础。

3 零部件本体的实现

3.1 概念抽取和定义属性

在本体形式化前首先需要进行概念抽取和定义类的层次关系,这时通常可以采取的方法有自上而下法、自下而上法和混合法, 我们在构建零部件本体时将采取的是自上而下法。以机械零部件为祖先类,根据资源属性进行一级子类分类,再将一级子类根据结构、功能和用途等分类,限于篇幅下面只将机械标准件中法兰分类的层次关系作适当扩展,如图3所示。

然后进行定义属性和公理描述,这一过程很大程度上决定了本体构建后的好坏,在这一阶段我们需要在前面本体模式的基础上提出零件库资源中零件本体模型,其中以滚动轴承为例描述的零件本体模型,如图4所示。

3.2 本体评价和创建实例

由于本体的构建以及实例化是人工参与的,难免会产生错误,所以本文首先采用T. R. Gruber提出的五个准则[10](清晰、一致、可扩展性、编码偏好程度最小和本体约定最小)评价机械零件本体模型,然后使用推理机Racer Pro[11]进行逻辑检测,来发现概念层次关系定义矛盾和属性关系关联有误的情况。最后在评价和检测完的机械零件本体中创建实例,借助Protégé实现的零件库资源主要本体如图5所示,其中图5(a)为基于OWL的部分本体片段,图5(b)是创建实例后的主要本体展开。

4 结束语

本文在分析了本体建模的一般方法后,提出适合机械零件本体构建的新方法,构建该本体目的是为了利用它强大的语义信息解决零件库系统检索功能中的许多关键问题,同时为解决制造业信息集成和平台异构等问题提供了语义基础和逻辑模型。该机械零件库资源本体尽可能详细的包括了相关概念,而且已经通过了Racer Pro的逻辑推理检验,达到了一定的规模,其应用前景较为广泛。该本体建模的基本流程具有一定的代表性,同样也能适应于其他领域的本体构建。

摘要:当前零件库系统实现组织、管理和查询过程中亟需解决的问题是如何定义和描述机械零件以及零件之间内在的联系。文中采用本体的思想,在对主要的本体构建方法进行分析和总结的基础上,提出了新的构建方法,再以课题组开发的Web零件库系统为研究背景,借助工具Protégé定义和创建了机械零件本体中的类、属性、关系、公理和实例,最后在通过了本体评价后使用Racer Pro推理机进行逻辑推理和检测,完成了机械零件领域本体模型的构建。

关键词:机械零件,本体,构建方法

参考文献

[1]Tim Berners-Lee.Semantic Web Road Map[EB/OL],http://www.w3.org/Design Issues/Semantic.html,1998,10,14.

[2]Studer R,Benjamins V R and Fensel D.Knowledge Engineering:Principles and Methods[J].IEEE Transactions on Knowledge and Data Engineering,1998,25(1-2):161-197.

[3]刁雅静,王志英,葛世伦.基于OWL的制造业知识本体构建研究[J].江苏科技大学学报(自然科学版),2009,23(6):538-542.

[4]马嵩华,田凌.领域本体组织的自助式零件库[J].计算机集成制造系统,2014,20(2):250-253.

[5]钟福金.基于OWL的旅游领域本体构建实践[J].大众科技,2010,(03):17-18,23.

[6]Gruninger M.,Fox M.S..Methodology for the Design and Evaluation of Ontologies[J].Workshop on Basic,IJCA I-95,Montreal,1995.

[7]刘宇松.本体构建方法和开发工具研究[J].现代情报,2009,29(9):21-24.

[8]Gruninger M.,Fox M.S..Methodology for the Design and Evaluation of Ontologies[J].Workshop on Basic,IJCA I-95,Montreal,1995

[9]M.Usehold.Ontologies Principles,Methods and Applications[J].Knowledge Engineering Review,1996,6(11):2-3.

[10]T.R.Gruber.Towards Principles for the Design of Ontologies Used for Knowledge Sharing.International Journal of Human Computer Studies.1995,43(6):907-928.

Web零件库 篇4

1 二次开发的方法

AutoLISP是一个功能强大的可视化编程工具,它充分利用了面向对象的开发技术和AutoCAD及Windows的系统资源,增强了程序的功能和代码重用性,并且易学易用,开发周期短。同时,AutoLISP语言嵌套于AutoCAD内部,不仅具备一般高级语言的基本结构和功能,而且还具有强大的图形处理功能。因此用AutoLISP对AutoCAD进行二次开发,是AutoCAD用户使用较为广泛的编程语言[1,2]。

2 标准零件库的开发

2.1 标准零件的建库流程

AutoCAD环境下的标准件库系统建库流程如图1所示,首先通过软件绘制各种标准零件,再将所建立的各类标准零件按一定的目录分门别类地储存在某路径下,并通过AutoCAD制作幻灯片,形成幻灯片库,然后可以通过定制菜单查询和调用各类标准件。

2.2 标准零件库图形的绘制

标准零件库图形的绘制与其他图形的绘制相同,只要注意建立各几何尺寸与机械设计手册数据一致即可。

2.3 菜单的编制

AutoCAD为用户提供了多种形式的菜单和工具栏,但当这些菜单或工具栏不能满足要求,特别是对AutoCAD进行二次开发,需要专用菜单和工具栏时,就需要定制它们。最轻松的方法是建立一个局部菜单文件,制作加载及执行程序的菜单命令。如此,只要从下拉菜单选择要执行的功能,AutoCAD便会自动加载相关的程序文件并执行程序。

定制下拉菜单

以下代码是菜单的编制,将此文件保存在bzljk.mnu中。

…(图2为上述代码对应的下拉菜单)。

下面根据语法规则分析“设计”下拉菜单的定义

(1)***POP15

此行为定义下拉菜单的一个标签说明。

(2)id_bzhtuku[零件图库&B]

在该定义行中,id_bzhtuku为标识符;“[零件图库]”表示在菜单栏中显示“零件图库”下拉菜单的标题“零件图库”,且B键为快捷键,即通过组合键Alt+B可打开“零件图库”下拉菜单。

(3)id_lshhlzh[->螺栓和螺柱]

在该定义行中,id_lshhlzh为标识符。“[->螺栓和螺柱]”中,“->”表示开始定义子菜单,即将从“零件图库”下拉菜单项弹出“螺栓和螺柱”子菜单,“螺栓和螺柱”为“零件图库”下拉菜单中的菜单项。

(4)id_ljtlsh[六角头螺栓]^c$i=bbb1$i=*

此定义行定义了“螺栓和螺柱”菜单的一个子菜单项,id_ljtlsh为标识符,“六角头螺栓是在该子菜单项中显示的菜单项内容,^C表示当执行“六角头螺栓”菜单项时,AutoCAD先执行一次取消当前命令的操作,即当执行“六角头螺栓”菜单项时如果有命令正在执行,通过^C来终止该命令的执行。$i=bbb1$i=*表示执行相应的幻灯片的调用操作。

(5)[--]

在同一菜单的前后两个菜单栏之间加一水平分隔线。

(6)id_stlsh[<-双头螺栓(stls)]

此定义行中,“<-”与“id_lshhlzh[->螺栓和螺柱]”行的“->”相对应,表示在选择“双头螺栓”菜单项之后,将结束“螺栓和螺柱”子菜单。返回到上一级菜单。

2.4 菜单的加载

启动AutoCAD后系统自动调用的菜单或用MENU/CUI命令加载的菜单成为基本菜单。利用“工具”→“自定义”→“界面”下拉菜单项,即利用CUI/MENULOAD命令可以调入局部菜单。用户也可以在AutoCAD的菜单栏上显示基本菜单中的部分菜单;可以在基本菜单的基础上输入局部菜单文件中的若干下拉菜单。

2.5 幻灯片的制作

2.5.1 图块的制作

(1)绘制所有的零件图。

(2)将所绘制的每个图形用wblock命令创建成外部块。

2.5.2 制作幻灯片

下面以“XX螺栓.dwg”为例,介绍幻灯片的制作步骤。

(1)打开所制作成块的图形名称为“XX螺栓.dwg”的图形,在绘图区域中显示要用于制作幻灯片的图形。

(2)将所选图形放到合适的大小,以至能充满整个绘图区,但要完全显示。在命令行提示下输入“mslide”命令,将出现对话框。

(3)在“创建幻灯文件”对话框中给幻灯片输入一个名称,AutoCAD将图形名作为幻灯片文件的缺省名并自动附加文件扩展名.slb(幻灯片文件名必须与块名相同)。

(4)选取要保存的目录单击“保存”按钮。

2.5.3 查看幻灯片

(1)在命令提示下,输入vslide。

(2)在“选择幻灯文件”对话框中,选择要查看的幻灯片。

(3)选择“打开”。幻灯片图像将显示在绘图区域中。

(4)要关闭幻灯片,选择“视图”菜单中的“重画”刷新屏幕。

2.6 幻灯片库的制作

幻灯片文件可以迅速显示不同图形的不同视图。幻灯片文件是AutoCAD图形的快照,它包含图形在某个时刻的图片,而不是图形文件。不能将幻灯文件输入到当前图形,也不能编辑或打印幻灯片,而只能查看。

下面为建立“零件图库”中的幻灯片库的建立过程:

(1)在D:幻灯片库下新建一个记事本文件名称为bbb.txt的记事本文件。

(2)将所有的幻灯片文件名加上扩展名写入到bbb.txt记事本文件中,每个幻灯片文件名占一行,内容为:

GB27-88六角头铰制孔用螺栓A级.sld

GB27-88六角头铰制孔用螺栓B级.sld

GB31.1-88六角头螺杆带孔螺栓A级.sld

(3)将AutoCAD文件下的名称为slidelib.exe的可执行程序文件复制到D:幻灯片库的目录下。

(4)依次单击“开始”菜单(Windows)“所有程序”“附件”“命令提示”。在“命令提示”窗口中的提示下,输入CD<幻灯片的文件夹位置>以更改文件夹。例如:CD““d:幻灯片库”。

当在MS-DOS状态下出现D:幻灯片库时,输入:slidelib bbb

这样即完成了“零件图库”的幻灯片库的建立。

3 标准零件库的调用

3.1 主菜单调用程序的编写

3.1.1 为图像控件菜单准备幻灯片

可将任何由AutoCAD生成的幻灯片用作图像,但图像控件菜单的理想用法需要用户精心准备用作图像的幻灯片。幻灯片要保持简单、充满空间、图像以3∶2的宽高比显示。

3.1.2 图像控件菜单标签

图像控件菜单中的标签通常指向幻灯文件名,而不是显示在屏幕上的文字标签。幻灯文件可以是单个幻灯片,也可以是幻灯库的一部分。显示的幻灯文件名称应该与VSLIDE命令中输入的名称完全相同。幻灯文件中包含要显示的图像。SLIDELIB命令用来把多个幻灯文件结合到一个幻灯库中。

图像控件菜单标签显示在滚动列表中,该列表中的每个标签最多可有19个字符。通常列表中显示的是幻灯文件名,但也可以使用下列图标菜单标签选项。

3.1.3 图像控件菜单宏

除了不能使用菜单宏重复功能以外,图像控件菜单宏执行的功能与其他菜单宏相同。这些菜单宏可包含菜单命令(包括$I=命令),因此可以构造级联的图像控件菜单。即选择某个图像控件菜单项后,它将显示另一个图像控件菜单。因为这些菜单是顺序激活,而不是嵌套激活的,所以对所创建菜单结构的复杂度没有限制[3]。

3.1.4 图像控件菜单显示

$I=宏命令用于查找图像控件菜单。必须加载图像控件菜单之后才能加以显示。如下语法可加载一个图像控件菜单[4]。

3.1.5 图像控件零件图库菜单

图像控件菜单是在AutoCAD菜单文件中的acad.mnu样板文件中的***image菜单段。下面详细介绍如何实现论文中零件图库的菜单的调用。

(1)打开AutoCAD相应的目录下找到acad.mnu菜单文件。

(2)在***image菜单段中的末尾位置加入如下菜单文件。

(3)保存acad.mnu菜单文件,然后关闭此文件。

(4)把相应的图形文件和幻灯片文件及其生成的幻灯库文件全部复制到AutoCAD目录下,即可实现菜单对图形的调用。

3.2 加载菜单并执行

自定义菜单加载后,在菜单下即可调用所需要的幻灯片对话框,在对话框中选择所需要的图形即可实现图形的调用。在命令行会出现帮助提示,你可以实现图形的尺寸变动,以至达到使用者所需要的图形。如图3所示,选中你所需要的图形,单击确定即可实现调用。

4 结论

在进行机械产品的CAD时,通过图形软件的绘图命令手工绘制标准件是一项非常费时费力的工作,同时,也与CAD本身不相适应。因此,采用标准件库来完成产品的装配图是十分必要和有效的,这不仅可以加快绘图速度和提高绘图质量,而且可以减轻设计人员的劳动强度,使设计人员把精力集中到解决产品设计的主要问题上。

摘要:利用AutoLisp语言对AutoCAD绘图软件进行二次开发,通过菜单的定制和幻灯片的调用,扩充了AutoCAD的功能,实现了绘图的人性化、专业化。从而节约了设计人员的时间和精力,实现了提高绘图效率的目的。

关键词:AutoLISP,AutoCAD,标准件,菜单,幻灯片,开发

参考文献

[1]付靖渝,马咏梅.基于AutoCAD二次开发的组合零件库设计[J].机械设计与制造,2007(1):52-53.

[2]张宝霞,韩培年.AutoCAD二次开发及应用-常用标准零件库系统的建立[J].甘肃科学学报,1996(1):48-50.

[3]阎聚群.AutoCAD2000Visual LISP开发[M].武汉:华中理工大学出版社,2000.

Web零件库 篇5

SolidWorks三维设计软件虽然提供了强大的参数化建模功能,但是由于缺乏适合我国国标的标准零件库,在机械产品的设计过程中还存着诸多不便。因此,为了避免设计人员的重复性劳动,简化设计过程,提高产品设计的效率,使SolidWorks更有效地发挥其功能,必须对其进行专业化的二次开发,建立适合我国使用的标准零件库。

1 二次开发的方法

在SolidWorks中常用的建立标准零件库的方法有3种:①通过配置功能并结合Excel表格建立数据库来自动生成零件,这种方法可灵活应用SolidWorks软件本身的强大功能实现参数化设计,对操作者的操作水平要求较高,对零件特征提取要求高,但使用方便,非常便于修改、维护和扩展;②采用宏技术通过内部编程操作SolidWorks对象,实现参数化设计,通过对零件绘制过程的宏录制,可以自动生成VB程序,通过更改其中的变量,以达到零件参数化设计的目的,这种方法通用性好,但灵活性较差,操作繁琐;③利用尺寸驱动原理,采用外部编程实现SolidWorks对象的操作,进行参数化设计,这种方法完全用程序实现三维模型的参数化设计以及模型的编辑,编程较复杂,需要设计人员有熟练的语言编程能力[1,2]。

上述后两种方法涉及到SolidWorks本身提供的API接口和复杂的编程语言,有时还需要处理内、外部逻辑关系都很复杂的数据库文件,因此对于一般的设计人员而言都有相当的难度。而采用基于SolidWorks的“系列零件设计表”的零件系列化设计方法,可以解决上述两种方法存在的问题,从而易于在企业中推广[3]。

2 标准件库的开发

SolidWorks是面向三维实体的参数化设计软件,其三维模型是尺寸驱动的,通过修改特征参数可获得不同尺寸的零件模型。对于结构相近的系列零件,SolidWorks提供了通过添加配置来生成其模型的方法,所有配置都保存在同一零件文件内,便于管理。不同配置模型的驱动尺寸及控制信息可以保存在一个内嵌于该零件文件的Excel数据表内,可以通过这个Excel数据表实现对零件文件建模结果的控制。利用上述功能,不难实现标准件库的开发[4]。

2.1 建库流程

SolidWorks环境下的三维标准件库系统建库流程如图1所示,通过SolidWorks建立各几何尺寸参数名与机械设计手册数据参量名一致的三维标准件模型;再将所建立的各类标准件模型按一定的目录分门别类地储存在某路径下,即可查询和调用各类标准件。

2.2 三维参数化设计

三维参数化标准件库的每个标准件元素由三维参数化标准件模型和系列零件设计表组成。三维参数化标准件模型是参照国家标准(GB),利用特征造型技术建立的,在该库中存储的并不是带有唯一几何数据的实体模型,而是各类由系列零件设计表尺寸驱动的标准件。

2.2.1 标准零件模型的建立

以普通平键为例建立零件模型。普通平键包括圆头(A型)平键、方头(B型)平键和单圆头(C型)平键3种类型。为了只建立一个模型就能表示3种结构的普通平键,这个原始的三维模型必须是全息性的,即应该包含普通平键结构上的全部信息。其建模方法为:

(1)按B型平键尺寸拉伸出方头平键模型,并倒角,将拉伸和倒角特征分别命名为B型键和B型键圆角,以表示其为B型平键。

(2)将C型键圆角特征压缩,在模型一端切出圆头再进行倒角,可得C型键,相应命名C型键和C型键圆角。

(3)将C型键倒角特征压缩,切出另一端的圆头并倒角可得A型平键,照前命名。

经过以上步骤后,普通平键的原始实体模型就建模完毕。在特征管理器中通过压缩不同的特征,可依次得到A型、B型和C型普通平键。

2.2.2 标准件的几何约束关系描述

利用共线、垂直、全等、平行、相切、同心、中心、交叉点、重合、对称等几何关系(即拓扑关系)来定义标准件的几何形状,从而得到标准件的几何约束关系描述。

2.2.3 建立标准零件系列

先建立尺寸系列表,所要建立的Excel数据表的结构有固定的格式。数据表的首行是说明该表所驱动的零件的名称,第2行是驱动尺寸的名称和特征中的属性名称等;数据表的第A列的A2单元格应为空白,A3以下的单元格用来输入配置的名称;除去以上单元格,其他单元格用于输入驱动数据。根据普通平键的结构及建模情况,建立普通平键标准件库的Excel数据表。

(1) 把SolidWorks中的实体名称作编辑修改并复制到Excel表格中。使用[注解]中的[显示特征尺寸]功能,右击选中的尺寸,选[属性]命令,出现对话框,为了Excel表格数字输入和以后使用的方便,应该修改[名称],使其名称尽可能与使用的标准手册特征尺寸名称相一致,然后复制[全名]到Excel表格中的从B列开始的1行中,如此把标准件所有特征尺寸全名都逐一粘贴到一行中。

(2) 在系列零件设计表中参考机械设计手册数值,逐一按项输入其他型号普通平键的尺寸参数,见图2。点击图形区域中的空白处从而完成系列零件的设计,这样每一类标准件只要建模一次就可以得到完整的标准件系列。

(3)单击SolidWorks窗口左边面板顶部的ConfigurationManager图标,在ConfigurationManager设计树中显示了该模型中系列零件设计生成的所有型号;双击要应用的型号,系统就会按照系列零件设计表中该型号的模型尺寸重新建模,见图3 ;完成建模后点击“保存”,将零件保存。

3 标准零件库的调用和修改

为了操作的方便,通过使用SolidWorks对象的Addmenuitem的方法,把生成的标准零件库挂到SolidWorks装配环境的菜单和工具栏上,在菜单上的提示为各标准件的名称,在工具条上的提示为图标。

用户要插入某个标准件时,只需在菜单或工具条上进行选择,然后由开发的程序调用相应的标准件功能模块即可。

此标准零件库的设计采用尺寸驱动法,尺寸驱动是在保持零件结构不变的情况下,将零件的尺寸标注视为变量,给予不同的尺寸值,便能获得一系列结构相同而尺寸不同的相似零件。如果要修改或扩展零件库,只需打开相应的“系列零件设计表”修改相对应的驱动尺寸即可,方便简单[5,6]。

4 结论

标准零件库的建立对于提高设计效率有着重要的意义,其建立方法也有多种,但采用Excel数据表驱动建立相应标准件库的方法具有方法简单、文件单一便于管理、更新方便、使用快捷等优点,适合于一般的设计人员使用。

摘要:提出了利用SolidWorks平台下系列零件设计表功能建立标准零件库的思路,该方法采用尺寸驱动,使用方便,便于修改、维护和扩展,非常适合于一般的设计人员使用。

关键词:设计表,标准件,SolidWorks,参数化

参考文献

[1]李光耀,杜鹃.基于参数的SolidWorks零件库的开发和实现[J].机械设计与制造,2004(5):40-42.

[2]许国权,黄志超.基于SolidWorks的参数化设计二次开发研究[J].机械设计与研究,2007(2):68-70.

[3]刘建强.基于SolidWorks的标准件参数化设计[J].中国科技信息,2008(6):122-123.

[4]王宗彦,吴淑芳,秦慧斌,等.SolidWorks机械产品高级开发技术[M].北京:北京理工大学出版社,2005.

[5]王文深.基于SolidWorks的国家标准件库二次开发[J].机械工程师,2007(4):97-99.

Web零件库 篇6

关键词:粉末冶金模具,零件库,二次开发,UG NX

1零件库系统总体框架

1.1系统的开发框图

零件库的建库平台是在VC集成环境下采用UG的二次开发技术、MFC技术和ADO与SQL Server 2000数据库综合利用而得以实现。图1为零件库的开发框图。

1.2体系结构和程序流程

粉末冶金模具的零件库体系结构和程序流程如图2所示, 用户可以通过环境选择的方式决定是将零件作为装配部件加入装配, 还是作为单个零件来输出, 此外, 用户还可根据需要将零件输出为三维模型或者二维工程图。在零件库中, 用户可以通过数据库来对零件进行管理, 包括, 查找、添加、修改、删除、浏览等。零件库程序的实现综合采用了:UG/Open API、U G/O p e nMenuScript和UG/Open UIStyler等二次开发工具并结合了M F C和数据库S Q LServer技术。

2建库的关键技术

2.1建库方式选择

U G一个C A DC A MC A E集成软件, 参数化的设计思想是其主要特点之一。而参数化则是零件建库不可缺少的基本功能。所谓UG建库的方法[3,4]侧重点并非是数据库的设计与开发, 而是如何将库的参数信息在UG的模板零件中得到调用, 并使零件依此而更新, 达到参数化设计的效果。U G提供了许多可供用户创建零件库的工具以及二次开发工具。利用这些工具就可以建立自己的零件库, 建库的方法总结起来主要有以下五种:电子表格法 (Spreadsheet) 、程序设计法、关系表达 (Expression) 法、用户自定义特征 (User Defined Feature) 法和知识熔接 (Knowledge Fusion) 法。几种方法比较[5]如下:

(1) 电子表格法、关系表达式法、用户自定义特征法、知识熔接法都要生成part文件, 创建相对容易, 无需过多的UG专业知识。程序法和知识熔接法需要对UG/Open API函数, Knowledge Fusion, 和数据库、开发语言等有较深入的掌握。对开发人员计算机知识要求、成本、代价较高, 而且开发的周期比较长。但因其生成的是数据库文件, 因此用程序法生成的文件要比其他文件小得多。

(2) 在使用方便性方面, 电子表格法、关系表达式法、用户自定义特征法都要于U G的表达式和电子表格以及标准手册对参数修改生成该系列其它的标准件。而知识熔接法、程序设计法在调入时就可选择所需的标准件, 使用方便。

(3) 零件族法、关系表达法、用户自定义特征法建造的标准件库仅是图库, 而非真正数据库。程序设计法和知识熔接法需要有真正的数据库支持, 开发的系统也易扩充。因此在系统维护方面要求较高。

从上述分析可以看出, 每种方法都有优势与劣势, 作者经过反复尝试采用了关系表达式和程序法结合的方式并借助与数据库技术来构建标准件库和通用件库。其零件库的创建流程如图3所示, 零件模型的建立不是采用程序的方式, 而是通过定义模板的表达式, 仅仅是通过程序来提取出参数, 并将参数以数据库的方式来进行管理, 就可以大大减轻编程的工作量, 而且对任何复杂的零件都可以建立其模型, 同时也就可以很好的实现表达式参数的编辑。而在UG/Open API中也提供了一些函数[6]供我们对其表达式进行操作, 主要的函数有:

UF_MODL_ask_exps_of_part () :获得当前part中所有表达式的tag与数目。

UF_MODL_ask_exps_feature () :获得控制当前特征的所有表达式的tag。

UF_MODL_ask_exp_tag_string () :根据表达式的tag得到整个表达式。

UF_MODL_dissect_exp_string () :将表达式的名称和数值分离, 并得到表达式的tag。

UF_MODL_ask_exp () :由表达式的名称获得表达式的“name=value”对。UF_MODL_edit_exp () :更改表达式的数值。

UF_MODL_update () :更新来反应表达式的改变。

2.2 MFC开发的界面程序与UG应用程序接口实现

在建库中的另外一个关键的问题就是如何建立UG/Open API与数据库连接, 在本文中通过建立基于对话框的M F C程序, 其主程序.cpp建立与UG的接口, 通过对话框程序实现与数据库的连接, 这样, 就建立了VC、UG、数据库这三者之间的关联。图形库系统的界面是用M F C开发的, 而内部的许多程序是通过UG API开发的, 因此, UG的应用程序与MFC开发的界面程序之间的接口是必须要解决的问题。接口的实现可以有两种方式:

(1) 通过U G提供的应用程序向导UG/Open Appwizard创建, 如果用户想实现多个对话框之间的调用, 可以通过在同一工程中添加对话框类的方式。

(2) 通过动态加载动态连接库的方式来实现[7]。虽然UG/OPEN API没有公开提供对M F C的接口, 但是仍然支持一些Win32 SDK的函数。例如, LoadLibrary () 用于加载动态连接库, Free Libray () 用于卸载动态连接库, Get Pro Aress () 用于查找函数接口地址等, 这三个函数是实现UG应用程序与界面程序之间的接口的关键, 它们都在头文件afxwin.h中有声明。

U G应用程序与界面程序之间的接口是双向的, 即UG应用程序既能够调用界面程序的函数, 界面程序也能调用UG应用程序函数。U G应用程序通过调用Load Library () 和Free Libray () 加载和卸载界面程序, 通过GetProAress () 来查找界面程序提供的函数入口, 从而使UG应用程序能够调用界面程序中提供的界面。界面程序通过指针来调用UG的功能。界面程序是动态连接库, 被主程序加载后, 就与主程序共享地址空间, 所以能够调用主程序的函数。具体的实现方法是:由UG应用程序通过调用界面程序提供的函数接口将主程序的函数地址传给界面程序, 从而使界面程序能够调用UG的功能。其实现的关键程序如下:

使用这种动态加载的方式的一个明显的好处是, 应用程序可以在运行过程中决定需要加载的DLL。

3系统实现

采用上述方法实现了粉末冶金模具零件库的开发。粉末冶金模具零件库功能是按照用户确定的参数, 自动生成粉末冶金模具的标准件或通用件三维模型或二维工程图形。并可根据用户需要的参数, 修改, 查询, 添加或删除零件库中的零件, 另外用户还可根据需要选择是否将零件调入装配体或作为单个零件使用。以上下模冲压盖为例, 其界面如图4所示。

此外用户还可以点击“零件信息”按钮查看这个零件的基本信息, 该信息框中包含了对该零件的一些基本信息的描述。在单个零件的环境下, 用户还可以选择生成三维图或者二维工程图。

4结论

基于UG平台, 给出了建立零件库系统流程及程序实现方案, 论述了零件库现方法和关键技术, 综合运用了U G/O p e n MenuScript, UG/Open UIStyler和UG/OpenAPI等UG二次开发技术并结合了数据库和可视化编程工具MFC开发了了较为完备的参数化粉末冶金模具零件库系统。该系统采用开放的形式, 方便用户以后添加和修改, 其构建的数据库可后续开发的数据库管理PDM, 企业资源计划ERP和制造资源计划MRPII进行无缝连接, 有利于实现整个粉末冶金模具设计生产管理信息标准化。

参考文献

[1]李绍忠.我国汽车用粉末冶金零件的结构与发展.粉末冶金技术.1996.5

[2]胡道钟, 胡海, 李健华等.模具标准化和基于UG的模具标准件库的建立.汽车科技.2000, (6) :47-50

[3]张俊华, 应华.基于UG的汽车焊接生产线企业标准件数据库, 现代制造工程.2003, (5) :37-40

Web零件库 篇7

现有零件库在应用过程中存在扩展性方面的不足,根本原因是零件库结构不是开发式的。开放式结构是指系统数据结构和实现上的开放性。开放性首要考虑的是如何设计系统的开放式结构,使零件库以后的扩充无需改变以前的系统结构和源程序,即解决零件库的动态扩充问题。

建立开放式零件库系统存在很多难点,首先,零件数量大,种类多,要在保证零件信息完整性的同时提供良好的扩展性,需对零件进行细致分类。其次,零件规格参数数目不定、类型多样,相互关系复杂,需对参数进行分类,建立合适的主参数信息模型。最后,需要设计适合动态扩充的数据库结构。

本文针对以上难点,重点研究了零件库的动态扩充问题。根据参数化技术的特点,对零件参数进行分类,建立了零件的主参数信息模型。在此基础上,通过对零件库层次结构的分析,设计了适合动态扩充的数据库结构,并以Pro/E为平台,利用其应用程序接口Pro/Toolkit开发了基于Pro/E的开放式零件库系统。

1 开放式零件库系统的研究

1.1 零件库系统架构

零件库以Pro/E为平台,使用C/S系统架构,其中服务器端包括规格参数库和图形库,客户端包括零件调用、零件添加等模块,如图1所示。

1.2 零件库分层结构

零件库中的信息是一个分层结构,需要把不同的零件进行分类,并逐步细化。本文设立5个层次,即库分类、零件大类、零件小类、具体零件、零件规格,见图2。这5个层次是逐级细化的。库中零件通过分层的类别划分形成一个树状结构,叶节点就是各种不同的零件规格。标准件库是所有国标零件的总集合。用户自定义库为用户自定义零件留有专门的空间,用户可以将不属于国标零件的零件存储在这里。

1.3 主参数信息模型

文献[9]把零件信息概括为I={e,p,a}。其中,e表示零件的三维结构和形状信息,P为几何参数信息,a为非几何属性信息。e包含在几何文件中,在数据库中可以方便地作为二进制大对象存储。但p和a的结构不规范,难用统一格式表达,因此需要建立零件主参数信息模型,以统一表达和存储几何和非几何属性信息。

根据文献[1]中归纳的零件规格参数间的4种关系,结合库中零件的实际情况,本文将零件的特征参数分为主参数、一般参数和零件属性:

(1)主参数是指能封装零件下层几何参数信息和上层非几何属性信息的参数,分为一级主参数和二级主参数。对应一级主参数的一个值或一个范围,二级主参数有一系列的值与之对应。

(2)一般参数是除去主参数而又不能用其他参数的数学表达式来表达的几何参数。

(3)零件属性主要是包括材料、重量、热处理等信息。

用主参数去封装零件的几何参数信息,建立主参数信息模型,其BNF范式表示如下:

<主参数信息模型>::=<一级主参数>[<二级主参数>][<一般参数>{,<一般参数>}][<零件属性>{,<零件属性>}]

各项之间的函数依赖关系为:

2 开放式数据库设计

在零件库分层结构和零件主参数信息模型基础上,本文设计了可动态扩充的数据库结构,见图3。在该结构下,用数据表之间的映射关系反映零件库的层次结构,可以动态添加零件类别和零件,并且不限制零件的参数数量。

2.1 二进制大对象的存储

在图3中,模板文件库和图标文件库分别存储零件模型和零件示意图。模型文件和图标文件都以二进制大对象的形式分别存入到“模板文件”和“图标文件”字段中,其存储和提取的过程如图4和图5所示。

2.2 多参数存储技术

库中的零件种类繁多,零件参数多样化的现象也普遍存在,不同零件族间的参数数量相差较大。即使是同类零件族,也存在参数数量不等的情况。如在图6、图7中,沉头方颈带榫螺栓拥有5个参数,六角头铰制孔用螺栓拥有8个参数。2个零件的具体参数如表1所示。

零件参数在数据库中主要有2种存储方式:(1)将不同零件族的参数存储在不同表中;(2)将所有零件参数都存储在同一张表中。方式(1)为每个零件族都建立一张参数表,不用考虑参数数量不同的问题,但随着零件数量增加,参数表的数量会不断增大,不便于数据库的维护和管理。方式(2)在数据库管理和空间占用方面有优势,但必须解决不同数量的参数的存储问题。为便于数据库管理,本文采用方式(2),并采用存储副参数串来解决多参数存储问题。根据前文1.3中的参数分类,零件主参数和属性分别存储在参数表和属性表中。但由于零件的一般参数数量不定,很难将每个一般参数都用一个字段来存储。因此,本文将零件的一般参数的名称和参数值按照统一的格式写入一个字符串,再将字符串存储在规格表的“副参数串”字段。在使用一般参数时,可以从中提取出相应的一般参数的名称和值。字符串的统一格式如下:

参数名1:参数值1;[参数名2:参数值2;]…

对于图6和图7中的零件,假定D和L为主参数,则两个零件的副参数串为:

d1:18.000;d2:4.917;d3:11.050

d1:10.000;d2:4.917;d3:11.574;d4:7.000;d5:4.000;d6:1.5000;

为了查询和提取副参数,必须对副参数串进行分离和提取操作。假设副参数串为parastr,待查副参数为paraname,则其对应的副参数值为paraval。查询算法流程见图8。

3 系统的实现

系统分为四大功能模块(见图9),分别为用户提供了对库中零件的提取、添加、修改和管理等功能。其中比较完善的零件添加功能是开放式零件库必不可少的部分,零件添加流程如图10所示。

由于库中存在一定数量的装配件,需要考虑对装配件的支持。在Pro/E中,装配件的模型文件只记录了装配信息,其子零件的几何信息仍存储在各自的模型文件中。因此,在添加或提取装配件时,需要同时对其所有子零件的模型进行操作。

在系统中,将装配件的子零件信息保存在其参数中。在添加或提取装配件时,根据参数信息,采用深度优先算法遍历其装配树,完成对其子件模型的相应操作。模型A的装配树如图11所示。在对其进行添加或提取时,按照深度优先算法,操作顺序应为E、F、B、C、D、A。

本文运用上述理论和方法,利用SQL Server2000数据库对零件的模型文件和规格参数进行管理,在Pro/E平台上用VC++.NET和Pro/Toolkit开发了开放式零件库系统。系统界面如图12至图14所示。

4 总结

本系统是嵌入到Pro/E中使用的,用户可以在Pro/E的菜单中随时调用本系统提供的各项功能。系统为用户提供了比较完整的国标件和通用件模型信息,供用户随时调用;并提供了完善的零件添加功能,让用户根据自己的需要完善零件库。本系统目前已经应用到多个项目的设计工作中,对提高零件设计的质量和管理水平,降低设计人员工作量,缩短设计周期,提高设计的标准化均有重要的意义。

参考文献

[1]杨海成,廖文和.基于知识的三维CAD技术及应用[M].北京:科学出版社,2005.

[2]吴立军,陈波.Pro/ENGINEER二次开发技术基础[M].北京:电子工业出版社,2006.

[3]韩国才,张锂.基于Pro/E的机械零件特征模型库参数化设计[J].制造业自动化.2006,28(4):14-15.

[4]吴晓光,曾孟雄,陈燕.基于特征零件的CAD/CAPP集成系统[J].制造业自动化,2001,23(3):25-28.

[5]李迎光,周儒荣,黄翔,等.动态扩充的零件库系统的研究与开发[J].机械科学与技术,2002,22(3):505-507.

[6]A Z Qamhiyah.A strategy for the construction of customized design libraries for CAD[J].Computer-Aided Design,1998, 30(11):897-904.

[7]李强,王时龙,徐玲,等.工程数据库多参数存储技术的研究[J].机电一体化,2006(4):38-41.

[8]邵晓东,陈锋,刘焕玲.基于特征的异构CAD模型转换技术研究[J].中国机械工程,2007,18(1):60-64.

[9]李迎光,周儒荣,黄翔.基于主参数信息模型的多实例库设计[J].计算机辅助设计与图形学学报.16(1).2004:134-137.

[10]周晖,胡于进.基于PRO/E的标准件库及其装配工具集的开发[J].计算机与数字工程.2007,35(2):69-72.

Web零件库 篇8

随着工业信息化、标准化的加速推进,国内制造企业加大了对企业信息化建设的资金和人力投入,并逐步提高了企业标准化程度。而作为制造企业信息化和标准化的基础,构建符合自身要求的标准库或零件库,更是受到企业的重视。汽车焊装夹具设计制造是汽车生产的关键环节之一,对汽车的设计生产周期的长短有重要影响,而汽车焊装夹具因其规范性,设计时使用了大量标准件和相似零件,建立相应的零件库对缩短汽车开发周期有着重要的意义。

目前国内对通用零件库系统的构建有较广泛的研究,其中李原等人对基于CATIA软件的航空产品标准件库的关键技术和实现方案进行研究,提出一种基于CATIA的标准件库实现方法[3];李祥等人通过对CATIA管路设计模块的基本原理和组织结构的研究,提出了一种符合协同设计要求的管路类标准件库的构建方法[4]。这些研究对于零件库系统的建立提供了很多思路和方法,具有重要的指导意义,很多企业已经按以上思路构建了相应的零件库系统。但我们深入企业后发现,这些系统的使用率并不高,相应带来的效益也很有限。经过调查分析,我们发现这些零件库系统有些共同的特点:供选择数据太多,要找到设计需要的零件,往往要经过很繁琐的筛选。这些系统存在的另一个问题是不能满足设计员的多样化需求,不同设计员的设计习惯不同,他们往往会有自己的设计零件库,但系统不能提供相应接口。

如何提高零件库的开放性是目前研究开发工作的重点。对此,宁力等人提出了基于Pro/E的开放式零件库系统的实现方法[1],张祥林等人对基于UG的开放式三维零部件库的实现进行了研究[2],他们的研究工作提供了进一步的参考,但存在一定的局限性,且不适应于CATIA平台。因此,本文即以CATIA V5R19为平台,以汽车焊装夹具的零件库构建为研究对象,介绍了CATIA二次开发技术,设计了一种新的数据库结构,研究了ADO NET动态访问技术,进一步提出了零件子库的定制方法,及多种其它实现零件库开放性的方法和思路,并以Microsoft Visual Studio(VB)为开发环境,以Access2003构建数据库,构建了一个对不同项目、不同管理员、不同设计员均具有开放性的可定制库,很好地实现了相应功能。

1 CATIA二次开发技术

作为一款强大的工程软件,CATIA具有极强的开放性,它为用户进行二次开发预留了接口,这些接口提供了一系列用以完成各种功能的开发工具。不同用户可以根据自己的需要对CATIA进行各种方式不同程度的二次开发。CATIA的二次开发技术主要分为两类[5]:一类是基于O L E Automation API的COM技术,一类是基于CAA C++技术的产品扩展和快速程序开发平台C A A RADE。OLE Automation API主要基于CATIA预先编制好的开放函数,不需要开发人员具有高深的编程技巧,软件开发简便。而基于CAA的RADE开发环境虽然可以对CATIA增加可复用的接口函数,具有更加强大的功能,但是其对设计人员的开发技能要求很高,开发难度很大。考虑到系统开发的效率以及实际的需求,本系统采用Automation API驱动方式,利用VB来创建适合的CATIA应用程序。

2 系统基本原理和结构

2.1 系统原理

目前,基于CATIA建立零件库的方法主要有两种。一种是分析所有标准件的特点与建模过程,分别写程序进行驱动,它系统轻巧,封闭性好,反应灵敏,但编程工作量极大,且不方便扩充,适用于国标件库的建立;另一种是先建立不同型号的基本模型库,然后通过参数进行驱动,它扩充性好,程序简单,但数据量大。而实际生产中,用户往往知道如何操作CATIA,但不知道如何编程。且汽车焊装夹具所使用零件种类繁多,存在大量复杂结构。因此,本系统采用第二种方法,结合CATIA的参数化设计理念,借用企业长期积累和整理出来的现有标准件模型库,通过建立参数和关系,并程序驱动修改参数来达到参数化调用的目的。这将避免对每一个标准件进行编程,从而保证企业用零件库的良好开放性,同时提高系统开发的效率。

为了进一步实现零件库系统的开放性,我们主要采用了以下方法:

1)开发使用灵活的系统维护模块,使其兼具添加、删除和修改等功能——系统通过对参数化图形库和数据库的同步访问,实现对零件库的更改,从而达到维护零件库系统的目的;

2)实现数据库的定制——以数据总库或图形库为基础,按照用户选择,直接生成数据子库,并建立系统与数据库的动态链接,从而实现零件库的实时重构,使其对不同项目,不同管理员,不同设计员均可定制。

2.2 系统结构

在企业里,往往有大量的设计人员,他们每人使用一台工作站,如果每台工作站都装一个标准件库的话,一方面太浪费储存空间,另一方面不方便库的维护升级,因此,我们采用C/S(Clien/Server)结构,即把模型库和数据库放在服务器内,各使用者通过客户端进行连接调用,但是,如果所有数据都放在服务器内,将会导致系统封闭,使用时只能进行单向访问,而不能满足开放性的要求。综合考虑,我们采用了数据总库和程序分离,创建并分开储存图形子库和数据子库的方法,设计了如图1所示的动态数据库结构。

其中图形库包含CATIA 3D模型库(附有Exce表——方便信息备份和离线管理)、CAD 2D图(用于设计参数查看和加工图纸导出)、Jpg示意图片(含2D和3D截图),在结构上将3个库整合在一起,以便于统一管理和访问。数据库存放驱动参数、零件信息和结构信息。

为了保证原始数据的安全性,数据总库对设计员和临时事件是封闭的,但系统提供了对外接口——开放式定制模块,设计员可以据此定制个人数据子库,项目负责人可以据此定制项目数据子库。个人数据子库因其随意性,存于个人工作站内,而项目数据子库,因其局部通用性,存于服务器内。此外,结构中的个人数据子库除了可以由数据总库派生,也可以由个人图形库动态生成,充分满足设计员的设计习惯,从而提高设计效率。

通过以上结构可以看出,程序通过对数据库的操作间接实现了模型库的重构,从而实现了系统的可定制和开放性。

3 系统关键技术

3.1 参数化模型的建立与调用

参数化设计是由参数和约束驱动模型,通过修改参数值,实现模型修改和联动的一种先进设计理念。本焊装夹具系统既是在CATIA参数化零件库的基础上构建的。

3.1.1 参数化模型的建立[9]

在建立CATIA参数化模型时,必须充分解析产品的功能和原理,在此基础上细化零件各种参数化特征,如零部件构造几何特征、尺寸关系和约束关系等,然后根据零件的层次关系确定主控参数和一般参数,这样在调用过程中就可以通过修改主控参数来修改模型。实际操作时,先按照一定流程建立三维模型,对应确定的主控参数建立模型驱动参数,根据尺寸关系和约束关系建立模型关系式,然后保存为只读文件即可。

3.1.2 参数化模型的调用

参数化模型的调用,即通过输入的主控参数,程序驱动调用CATIA API,修改模型内对应参数值,并依据建立的关系式产生多米诺修改,从而产生对应的模型用于插入或打开。具体模型调用过程如图2所示。

要特别注意的是,最好不要在服务器文件库中打开/插入模型,因为库中的模型文件是只读的。在提取出来后,需先将其文件属性变成可写:

3.2 动态数据库的构建

3.2.1 ADO.NET数据访问接口

ADO.NET是ADO高版本,它是为更广泛地数据控制而设计的,它提供了一个一致的、高性能的、高兼容性的数据访问接口[8]。它相对ADO更灵活,效率更高。

ADO.NET有两个核心组件:数据集(Data Set)和数据提供程序(Data Provider),Data Provider用来和数据库连接,Data Set用来与XML数据连接[7]。Data Set设计目的是为了实现独立于任何数据源的数据访问,可以用于多种不同的数据源,也可以用于X M L数据,还可以用于管理应用程序本地的数据。数据提供程序(Data Provider)包括Connection、Command、Data Reader和Data Adapter对象,其设计目的是为了实现数据操作和对数据的快速访问。

本系统即通过ADO.NET强大的数据库访问接口,实现了对数据库的动态显示、动态添加、动态修改和动态删除等功能,构建了相应的动态数据库。

3.2.2 数据子库的动态生成

企业用零件库往往会进行明确的分类,如汽车焊装夹具可以分为企标件、外购件、常用非标准件三个大类,企标件下面又可以分为定位销、调整垫、压头、粗导向块、过渡连接块等许多小类。建立数据子库时,为了保证系统能统一调用,应和这些分类保持结构上的一致。因此新建数据子库时,需动态连接数据总库中的结构表。

本系统中,数据子库分为项目数据子库和个人数据子库,项目数据子库属于派生库,而个人数据子库既有派生库,又有映射库(如图3所示),它们的生成方法分别如下:

1)派生库的生成

由上可知,派生库包含所有项目数据子库和部分个人数据子库。要构建派生库,需先通过Connection连接数据总库,并由Data Adapter和Data Set建立数据缓存,然后通过List View、Combo Box和Text Box等控件进行显示,供用户进行选择,并填充到相应的Listview里。最后动态创建一个结构规范的空数据库,通过Command对象和循环语句分表进行导入。

2)映射库的生成

个人数据库的映射库是个人图形库的一个映射,为了保证数据的成功提取,个人图形库内的模型必须按规范建立,如有多参数和重要的零件信息,还需附有同名Excel文件(如图3所示)。程序采用循环语句遍历图形库文件夹,读取模型名称和同名Excel表内的信息参数,将读取的模型名和信息参数逐一写入新建的数据库中。数据库的操作和派生库的生成类似。此时将以子文件夹为单位进行建表,文件夹不能超过两层,否则数据库根节点需要下移一层,建立多个分库。

3.2.3 数据库的动态维护

数据库的维护主要包括零件或类的添加、修改和删除,这些操作只能由管理员来进行,因此进入该模块需设置相应的访问权限。进行数据维护时,我们提供两种思路,一种是,通过与‘映射库的生成’原理类似的方法,建立图形库和数据库的动态链接,从而实时的重构数据库,这种方法操作方便,只需将模型、Excel表及示意图存入相应图形库内即可,但它对模型和表的结构稳定性要求很高,且实时生成将耗费大量的执行时间,不利于系统的使用;另一种思路是,在原有数据库的基础上,手动导入或选择模型,并手动输入或修改数据表,这种方法在维护时操作稍显迟缓,但对图形库要求不高,不依赖于Excel表,且省去了后续实时生成数据库的时间。两种思路中,前者适用于数据量小,结构稳定,但变动频繁的系统;后者适用于数据量大,变动较少的系统。因为汽车焊装夹具零件库数据量较大,结构不固定,且维护只针对数据总库,变动较小,我们采用第二种方法。如图1所示,虚线双向箭头表示间接对应和连接。

本系统的维护模块与图形库和数据库的访问是双向的,因此最好使用Data Adapter和Data Set方法,保证链接的高效性和灵活性。

3.2.4 数据库的动态切换

为了实现零件库的可定制,我们建立了多个数据库,使用时如何实现数据库动态切换是必须要解决的问题。本系统的主界面设置了“选择库”输入框,默认情况下为总库,输入特定数据子库名称之后,将自动链接到对应数据库。此过程中,只需由程序将Text Box.Text的值赋给Connection String属性,再由Connection对象动态切换数据库连接。因为项目数据子库和个人数据子库存于不同的地方,需要在数据库号上加以区分,如本系统X开头的为项目子库,以G开头的为个人子库,系统将先提取数据库号开头字母进行判断,然后到对应的路径连接数据库。

4 系统使用方法与实例

4.1 定制库

我们用本系统为某重卡项目定制了一个焊装夹具项目数据子库,数据库号为X12017006,数据子库内容由项目负责人根据客户要求和实际需求确定。在系统的零件树里选择零件名称后,依次选择零件代号、系列范围,并填写备注,点添加,即可在底部列表框里看到已选的零件型号、参数系列和相关信息,如有错误,可以进行二次修改或删除,如此重复操作,完成后,点创建,如图4。生成的X12017006,最终数据量仅为总库的1/10。个人数据子库(派生库)的定制过程与项目子库的一致。而定制个人数据子库(映射库)的操作较简单,只需整理好个人模型文件,然后在定制界面指定路径即可。

4.2 使用库

项目管理和调用模块的图标已经通过宏命令嵌入到CATIA,可以直接在CATIA界面点击调用。使用焊装夹具零件库进行调用之前,可以先通过项目管理模块绑定当前项目,并设置项目文件保存路径,确定后,项目相关联的数据和信息将自动连接到客户端,并在保存路径下新建项目文件夹。此时,“选择库”将给出默认项目数据库,保存位置将自动指向项目路径,如图5所示。

使用库进行调用时,可以不使用默认数据库,勾选复选框后,输入所需数据库号即可,如图5选择X12017006,此时主界面只显示该数据库限定的零件。我们可以通过本系统进行打开、插入等操作,插入时可以选择特定的Product,也可以先打开2D图进行详细查看,左下角显示的是当前选择零件的信息。我们插入一个代号为DAE0001,参数H=80的粗导向块,选择零件名称、代号、参数和Ptoduct(Unit100)后,选择插入,插入后效果如图6所示。

4.3 维护

维护只针对数据总库,由管理员进行操作,通过账户获得访问权限后,可以进行添加、修改和删除等操作。我们给总库添加一个代号为DAI0035的过渡连接块,模型和图片已经建立并参数化,所属的零件类型和名称可以通过下拉框进行选择,然后选择模型和图片路径,输入参数即可,如图7所示。

5 结束语

本文所构建的系统以汽车焊装夹具的设计零件库为对象,从实际出发,结合使用者需求,完善了数据库结构,实现了数据库定制,并构建了完善的系统维护模块,具有良好的开放性和实用性。系统在实际应用中受到了使用者的欢迎,产生了很好的效益,相应的系统和数据结构及相关技术可以应用到其它行业的共享库系统中。

参考文献

[1]宁力,杜平安,张勇.基于Pro/E的开放式零件库系统的研究与实现[J].制造业自动化,2008,30(8):78-81.

[2]张祥林,徐雁冰.开放式三维零部件库建库研究[J].机械工程师,2007(1):57-59.

[3]李原,彭培林,邵毅,刘俊堂.基于CATIA的标准件库设计与实现[J].计算机辅助设计与图形学学报,2005,17(8).

[4]李祥,杜宝江,崔熠,马群.基于CATIA的管路类标准件库的设计与实现[J].制造业自动化,2012,34(3):20-22.

[5]周桂生,陆文龙.CATIA二次开发技术研究与应用[J].机械设计与制造,2010(1):81-83.

[6]王陆,董甲甲,王小平,梁春光.基于CATIA Automation API的工程制图二次开发[D].大连:大连交通大学,2010:25-29.

[7]石志国,刘冀伟,张维存.VB.NET数据库编程[M].北京:清华大学出版社/北京交通大学出版社,2009.

[8]蒋薇,赖青贵,秦玲,张小波.基于ADO.NET数据访问技术的研究和应用[J].微计算机信息,2010,26(10):141-143.

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【Web零件库】相关文章:

仿真零件05-18

零件装配05-27

三维零件07-06

农机零件07-13

偏心零件08-14

零件清洗08-21

零件公差08-22

金属零件08-29

精密零件09-12

零件加工合同05-08

上一篇:RAROC下一篇:金融学本科毕业