当前位置:首页 >> 机械/仪表 >>

电器开关柜三维零部件自定义库设计与实现


新疆大学 硕士学位论文 电器开关柜三维零部件自定义库设计与实现 姓名:张振江 申请学位级别:硕士 专业:机械制造及其自动化 指导教师:孙文磊;李力 20070101





本课题是在Windows XP平台上,基于集CAD/CAM/CAE于一体的软件
Solid

Edge和经典编

程软件Visual

Basic

6,0,利用Solid Edge良好的开放性,通

过一系列的二次开发方法的综合运用,针对电器开关柜结构复杂、工期紧、工 作量大、部分零部件已经系列化等特点,开发出了专用电器开关柜三维零部件 自定义库。 在本课题中主要研究了: 深入研究了Solid Edge的实体建模,主要包括实体建模、表达式和参数驱 动;深入研究了Solid Edge二次开发的方法,主要包括:应用程序Visual
Basic

和SolidEdge接口;深入研究了VisualBasic和SQL(结构化查询语言Structured
Query Language)数据库接口;研究了Solid Edge二次开发的流程;研究了电器

开关柜的设计、加工流程;研究了机械通用标准件的外形特征,以及标准件库
的建立方法:深入研究了建立用户自定义的方法并建立自己特色的自定义库。 在上述研究的基础上,提出电器开关柜三维零部件自定义库的总体设计方 案:运用特征造型和参数化设计的基本原理,基于SQL语言的数据库思想对电 器开关柜(GGD和GCS系Yd)eFl所有零部件进行建模,建库;设计利丌发了专

用CAD软件——电器开关柜三维零部件自定义库软件。该系统的使用只需用
户的初步Solid Edge操作知识就可进行操作,适用于产品系列化设计,可大大 提高电器开关柜产品的设计效率。该系统界面简洁直观、操作方便、具有良好 的人机交互性、可扩充性和可移植性。

关键词:

Solid Edge

CAD

YB

SOL

二次开发电器开关柜

ABSTRACT
This

prDject

develops
On



three-dimensional CAD system module for electrical


tank.、It is based

Solid Edge which is

integrated

CAD/CAE/CAM software of
has


UGS(Unigraphics Solutions)Corporation
is


of American and Visual Basic 6.0 which

classics programming software of Microsoft

Corporation,The project

further study in it electrical tank

by synthetically

using



series of development methods and


serialized

characters:complex structure,tight time limited for

project

and

big woddoa& mainly carried
0n

The author has

the following researches in this paper:

Studied
of solid

the solid modeling of Solid Edgc

thoroughly,induing the application

modeling,express methods

and Parameter-driven modeling.Studied Secondary

development

of Solid Edge:including the Al

l(Applicatinn Programming

Interface)about

Visual Basic 6.0

and

Solid Edge;including the API about Visual

Basic 6.0 and SQL program;Studied the whole process of secondary development.
Studied design and manufacturing process of electric
as

tank.Studied

the

shape

characteristics of mechanical standard parts

well

as

the development methods of

standard

parts library.
Oil

Base

the above researches,the author also brought forward the master CAD system;finished all modeling work of electric

design.of

electric tank GCS

tank(GGD and
parameterized

series)parts

by using the basic principles of feature model and

design;designed and developed CAD software———electric tank

CAD

system.The system only demand users’basic ability of operating of Solid Edgc,fit
to serialize designed products,and the dcSign efficiency can be greatly promoted by

using this system.The system has the following feature:simple interface,easy

tO

噼,favorable mall—machine conversation,expandability,transplantation
Keywords:
Solid Edgc,CAD,VB Electric Tank

etc.

SQL、Secondary DcveMpment、



新疆大学硕士研究生学位论文

第一章绪论
高低压电器开关柜是由各种钣金件、电气元件、导线、母排和通用标准 件构成,其产品以抽屉式、柜体式、箱体式和板式结构为主的机电一体化产 品。其设计主要分为两部分:电气设计和柜体设计。设计工作主要由工作经 验丰富的工程师进行,国内外的电器开关柜企业应用的软件主要是二维CAD

软件以及在二维CAD基础上开发的专用模块。在电气设计和原理设计部分使 用二维CAD软件及其专用模块完全可以满足设计需求,但在柜体的设计上, 由于结构复杂,应用二维CAD软件就很难满足设计需求了,而且经常出现设 计问题。因而把三维CAD软件引入到电器开关柜企业进行柜体设计成为可
能,这样就可避免设计中的绝大多数的设计问题.


1课题来源
本课题来源于新疆科力公司和新疆大学共同承担的新疆中小企业技术创

新基金项目.。电器开关柜三维零部件库设计接口软件(新疆维吾尔自治区企

业技术创新基金项目(编号:200553103)),课题内容是依托于新疆奎屯电 气开关有限公司和新疆新特顺电力设备有限责任公司的高低压电器开关柜系
列产品,在Solid Edge,UG NX和CAXA等三维软件上进行二次开发,开发

出适合于电器开关柜产品的专用CAD系统。本课题将完成这个项目中的主要 部分..基于SolidEdge的电器开关框三维零部件自定义库接口设计,然后再 后续课题中将会按照我完成该课题的技术路线、方法,在UG NX和CAXA 等三维软件上进行二次开发,扩充该项目的内容和功能。 高低压电器开关柜生产特点是典型的多品种、小批量、面向订单型生产 制造。产品非标及变型较多。根据用户的需求不同,组合形式千变万化,但
各个零部件具有很大通用性,因而特别适合于采用标准件库的方法来进行设 计。

新疆大学硕士研究生学位论文

1.2课题的研究目的及意义.
电器开关柜三维零部件库的功能具有二维电气尽管很多企业在设计低压 成套电器开关柜机时已采用了各种CAD系统,在一定程度上简化了设计工 作,但基本只是停留在较低层次的二维计算机辅助设计阶段,当面临用户不 断变化的工程合同时,难以实现敏捷而准确的产品设计.电器开关柜的机械 结构多为钣金件和通用标准件,加工易于实现高度自动化。为了进一步缩短 设计时间、提高准时交货率以及提高一次设计正确率,以大规模定制化设计 思想来满足日益个性化的市场需求,以标准件库的设计思想,开发一套高低 压电气开关三维标准件库的建立与开关柜虚拟装配系统,解决传统设计中的 不快、不便和不准等难题。 相对于疆外的电器开关柜企业,新疆的企业研发能力较弱,产品的设计 还停留在二维设计环境,产品设计和生产依靠传统的设计方法和工程技术人 员的经验来完成。详细规范的安装指导手册的缺失,导致同样规格的产品由 于批次不同,安装工人不同,产品存在较大差异。设计人员的大部份精力花 费在二维设计无法表达的诸如干涉、走线方式、元器件安装分布等问题上, 对新产品的开发精力投入不足。因而该课题的研究不但可以解决电器开关柜 企业的各种问题,而且填补了国内电器开关柜企业在标准库方面的空白。

1.3课题的主要研究内容和解决的问题
本课题的主要研究内容如下:
1.三维实体造型技术基本理论及参数化设计方法和技术;
2.Solid

Edge二次开发方法、流程,二次开发工具的联合使用;
6.0与SOL数据库的联合开发技术;

3.Visual Basic

4.用户自定义库的设计 5.虚拟装配的初步研究. 电气开关制造企业目前急需解决的问题如下: 工期紧:由于电器开关柜产品大多数是为工程配套服务的,客户通常在




新疆大学硕士研究生学位论文

工程后期进行设备的采购,这些客户在资金上的安排是非常紧凑的,不会给 生产厂家留下很富裕的时间,使得任务急、交货期短. 产品设计错误多:产品是按订单设计的,即单件生产模式.特点是变化 多,工期紧.由于企业中经验丰富的设计人员相对较少。


缺乏产品变形设计手段,合同定单响应速度慢:目前,单纯依靠CAD软

件只能解决出图快,不能提供任何变形设计功能和手段.根据客户特殊要求 设计生产的产品,销售部门很难准确、快速地对客户进行产品报价,无法对 客户的要求及时反馈.


报价、成本核算困难:企业经营者需要准确掌握每个合同的利润和成本 情况,及时调整销售策略,在竞争中取得优势。 部门间信息传递慢,影响设计生产整体进度:对于每一个合同来说,承 接和签订由企业的销售部门完成。技术交底、合同评审和全部的工程设计、 工艺设计工作由企业的技术部门完成。本课题的研究成果将可以很好地解决 上述问题。
1.4
“、

电器开关柜产品设计国内外概况
本课题主要完成的工作是电器开关柜三维零部件自定义库的设计与开发

实现,所以有必要对国内外电器开关柜企业所使用的产品设计软件进行了解,
又由于本课题的内容是依托于新疆奎屯电气开关有限公司和新疆新特顺电力

设备有限责任公司的电器开关柜系列产品,因而对新疆奎屯电气开关有限公 司和新疆新特顺电力设备有限责任公司进行简要介绍。
1.4.1

电器开关柜产品设计国外概况

在国外所使用的二维CAD软件主要有:西班牙的ELECIRICAL

Designer、丹麦的PCSchematic压lAutomation、美国的Promis.c、德国的Rupiah、
EPLAN、elcad等.西班牙的ELECTRICALDesigner为例,进行介绍国外二维 电气设计软件的情况.ELECTRICAL Designer和美国德国等代表软件都是基 于AUTO CAD发展起来的,ACERI公司与1987年就开始开发此软件,现在

基本上能够实现一次设计、二次设计、接线设计等功能外、还能进行动态仿


新疆大学硕士研究生学位论文

真和原理分析,具有丰富元器件库和图库,此外还具有项目管理功能.但是基 本都是基于二维设计,不够直观,专门针对电器开关柜三维产品的设计软件 至今还没有。 1.4.2电器开关柜产品设计国内概况 目前,国内绝大部分的电器开关柜生产企业都使用二维CAD软件进行电 气设计、原理设计和柜体设计,没有专门为电器开关柜设计的三维软件。 在国内有天正电气、浩辰电气(IDq5.0-AP)、理正电气、博超电气、利 驰电气、大恒软件等,这些软件(主要在Auto CAD的基础上进行二次开发 的模块)均着重于电气设计和原理设计,对于产品的结构方面涉及很少,即 使有相关的模块,但由于二维软件自身的限制,无法使其在广大企业中推广. 浩辰电气软件IDq从92年推出经过十几年的不断更新和完善,但是设计局限 性较大,应用范围不强,没有从根本上解决电器开关柜企业的设计不快不准,
时间紧工期短的局面。

现在新疆奎屯电气开关有限公司已发展成为自治区同行业之首,企业完 全具备技术装备先进、技术力量雄厚、自主开发的综合配套能力,具有产品 开发和严格的质量保证体系。 新疆新特顺电力设备有限责任公司是由新疆惠源电力有限责任公司、新 疆特变电工股份有限公司、新疆新能物资集团有限责任公司三方共同出资组 建而成,2004年与扬州京隆电器开关有限公司共同出资组建了由新疆新待顺 电力设备有限责任公司控股的新疆新特顺京隆电力设备有限公司。 以上两个电器开关柜公司是新疆规模和效益最大的公司之一,但就其设 计技术手段上还处于较低阶段。基本以AUTO

CAD为主要设计软件,遇到新 的合同基本是在原来资料图纸上进行修改,仓促完成设计要求。因此三维CAD
具有建立与实物完全相同的数字样机、辅助复杂机构与新产品的设计、参数

化驱动(--维CAD是线条驱动尺寸,线条画短了,尺寸就小了)、自动或者
方便的检测数字样机的干涉与间隙,自动统计明细表与材料清单、自动生 成工程图、自动计算重量与重,tL,、提高设计效率、立体图提高制造效率,


新疆大学硕士研究生学位论文

减少制造差错、可以实现系列化、通用化、自动化设计、数字模型为CAM/CAE 提供基础


1.5本课题研究背景及主要内容
SolidEdgc是国际著名的中档性价比较高的三维CAD软件,在国内许多 大型企业都有应用.新疆科力公司自2000年引进SolidEdge后,在产品可视 化设计、装配设计、结构分析等方面得到一定应用。由于Solid Edge是大型 三维软件,价格高、功能多、使用复杂,因此对设计人员要求高,这在一定 程度上影响了其在新疆其他们企业中的应用。例如,在新疆现在只有新疆科 力公司、金风科技有限责任公司、新疆第三机床厂和石河子天业集团等少数
几家企业应用Solid

Ed寥,而且软件套数非常少.三维CAD软件在电气领域

中难以得到规模应用,更没有标准件库了.
然而,三维造型设计取代二维平面设计是工程设计的必然趋势。就目前

来讲,三维造型在可视化设计、装配设计、分析、加工等方面有着平面设计 无法比拟的优越性,是提高设计质量的重要手段。但是电器开关柜的设计还 停留在应用二维CAD技术的水平上,产品开发周期长,成本高,并且在很大 程度上依赖于设计工程师的经验。因而,三维CAD软件在电器开关柜产品开 发中的应用前景广阔。闯题主要在于:如何使三维造型设计变得简单、快速, 商业通用软件无法解决这个问题,只有结合产品具体设计进行通用软件的用
户定制或二次开发.

基于这样的背景,本文首先论述了三维实体造型技术的基本理论及参数 化特征造型的基本方法,研究了Solid Edge二次开发方法,获取了Solid Edge 二次开发的完整实施进程,提出了电器开关柜三维零部件自定义库总体设计 方案,最后给出应用实例..电器开关柜三维零部件自定义库系统软件。



新疆大学硕士研究生学位论文

第二章电器开关柜三维零部件自定义库系统的总体结构
软件工程是把软件用工程化的方法进行设计、制作、使用和维护。本章 利用软件工程的基本方法,对电器开关柜三维零部件自定义库接口设计从需 求分析、实现目标、实施原则、软件平台等方面提出总体设计方案。
2.1

电器开关柜三维零部件自定义库系统的设计需求、目标和设

计原则
下面从软件工程的角度出发,来了解电气开关三维CAD的开发流程。
2.、1.1

电器开关柜三维零部件自定义库系统的设计需求

电器开关柜的整体设计是一个技术含量高、变化多的工业门类。电器开 关柜三维零部件自定义库接口设计要求能够最大限度的简化电器开关柜设计 过程,缩短电器开关柜设计周期,准确把握电器开关柜尺寸。过去采用的是 计算机辅助绘图设计,为提高设计质量,有必要实现电器开关柜的设计从“绘 图”到“设计”的转变,实现三维造型设计。 虽然目前许多cAD软件具有很强的实体造型功能,可采用多种方法生成 复杂的实体.但是,由于实体造型是复杂而繁琐的交互过程,其间要进行各 种各样的操作.以Solid
Edgc

V14为例,要实现在己知正方体上打孔一简单

造型,需进行如下十余个步骤方能实现: 。1、选择开孔的平面; 2,孔选项:选择孔类型、孔单位、孔直径、孔延伸量及v型孔底角等 3、确定孔位置,选择水平位置参考线并输入数值; 4,确定孔位置,选择垂直位置参考线并输入数值; 5、确定,完成此孔 可见,为了完成此孔,需要进行一系列的操作和选择。步骤相对繁多,

三维CAD的优点是直观,但是比二维CAD要复杂。又由于实体造型需十分
精确地表达三维物体的几何信息,相对位置信息等,故三维实体造型比二维


新疆大学硬士研究生学位论文

绘图要复杂得多。



经过在新疆奎屯电气开关有限公司和新疆新特顺电力设备有限责任公司 的调研,并与两厂的工程师交流,制定了本系统实现的基本功能有以下几点: 在Solid Edge环境下,由有经验的人员集中把电器开关柜柜体零件和相 应的电器元件做成一套Parent(X)标准文件.
通过Visual
Basic

6.0和SQL(结构化查询语句)建库而做成的电器开关

柜三维零部件自定义库接口设计。把上步做的Parent标准文件管理起来. 设计人员根据需要从笔者开发的电器开关柜三维零部件自定义库中选择

此零件,在Solid Edge环境中直接生成,此时就把原先的设计变成选择.
1.设计人员尤其可以利用Solid Edgc的参数化建模功能,通过选取 Parent文件,在Solid Edge中生成,通过和笔者开发的电器开关柜三维零部 件自定义库接口设计结合产生的参数化对话框,重新更改相应参数,就可以

得到一系列和№收)标准文件相似的Child(子>文件。

2.设计人员通过简单的选择Parent(父1标准文件或参数化重新生成和 Parent(父)标准文件相似的Child(子)文件,便很方便虚拟装配成自己的产品。 3在完成以上2个步骤后,设计人员就可以从繁琐的设计任务中解脱出 来进行创新设计. 4.用户还可以自行添加零部件库,即用户自定义库。由于产品的更新, 用户可以把自己的创新力作作为新Parent(X)标准文件,为生成Child(子)文 件做准备.


5.对生成的三维图,可直接生成符合国标的二维图,以及主要尺寸自动 标注. 关于第5点因其难度与工作量都很大,本课题的软件只完成了二维工程 图的投影和尺寸关联,没有开发自动标注. 2.1.2电器开关柜三维零部件自定义库系统的设计目标 由于开发三维CAD软件需要耗费大量的人力、物力和资金,同时还要承 担很大的风险,所以对一般的公司和单位来说,从底层设计开始开发机械产


新疆大学硕士研究生学位论文

品的CAD软件系统是不现实的,比较现实的方法是尽量利用性能优良的、成

熟的商品化三维CAD软件进行用户化、定制化开发。本课题所开发的电器开
关柜三维零部件自定义库接口设计就是基于Solid Edgc和厂商开发电器开关 柜的设计流程的基础上进行的二次开发来完成用户的特定功能和目标。论文 本阶段的任务和目标: 1>选择合适的CAD软件平台、软件开发工具。 2)选择合适的软件开发模型。 3)获得专门CAD软件的二次开发方法及实现途径。包括:@CAD用 户界面设计及接口研究;@CAD用户应用程序设计及接口研究。 4)建立和开发专用CAD软件..电器开关柜三维零部件自定义库。要求 全中文交互友好的界面。设计人员可以不必掌握Solid Edge操作的专门知识 和比较复杂计算机软硬件知识,便能很方便地在定制界面上操作。 5)添加电气元件、常用零部件、柜体骨架及通用机械标准件的参数化库。 对各种电气元件、零部件、柜体骨架和通用机械标准件建库工作是CAD开发 的基础。 今后可在此基础上进一步开展如下研究工作: 1)建立各种绘图,加强3D图形与2D图形之间的转换。目前3D图形还 需转化为2D工程图作为加工依据,此工作主要为生成电器开关柜2D工作图 提供各种标准符号,如尺寸标注、粗糙度符号、形位公差符号、标题栏符号
等。


2)针对设计对象建立设计过程程序。提供装配及干涉分析报告。某些典 型零件的设计有着一套较为规范的步骤,但每一步又涉及到许多复杂的计算 及相关设计资料的查询,如十字槽螺钉等。 3)进行虚拟产品设计。通过虚拟产品可以检查真实空间和虚拟空间的许 多参数,降低和生产成本 2.1.3电器开关柜三维零部件自定义库系统的设计原则 1.友好的入机交互界面


新疆大学硕士研究生学位论文

电器开关柜三维零部件自定义库的使用对象是普通设计人员,所以应具
有适合设计人员设计习惯的用户界面。通过用户界面,设计人员不必了解许

多关于计算机硬件和软件的知识,只需按屏幕提示便能方便地完成产品设计. 它满足以下几方面的要求: 1)使用方便提供的设计界面方便设计人员使用,无需进行专f]N练或 进行少量的、简单的培训即可使用。 2)记忆最少设计人员尽量少记各种操作规则、命令、图标、专有名词 和特殊符号. 3)帮助提示各种操作具有恰当的帮助提示,引导设计人员顺利地完成 设计工作。 4)良好的人机交互方式
?

在界面设计流程上需考虑设计人员的常用思

路,提高界面的可视性,减少界面的层次以加快操作,所有界面均采用中文 提示,与人们的日常工作习惯相符. 5)可时时更新,用户不用编程,就能轻易往库里添加删除用户的自定义 零部件.自定义库的能够更新是此软件的核心,更要便于维护。 2。正确的软件工程方法


软件工程是指导计算机软件开发和维护的工程科学,即采用工程的概念、 原理、技术和方法来开发和维护软件。 3.确定合理的产品结构


经过多年的设计总结,电器开关柜部件已形成不同型号的系列化产品,

使得电器开关柜参数化特征造型设计成为可能. 本课题利用参数化建模方法,将电器开关柜零件简要地分为如图2.1所示
的结构图.



新疆大学硬士研究生学位论文

图2。l电器开关柜零件分类

2.2选取三维零部件自定义库系统设计软件的软件
1.CAD软件平台

I-DEAS、Pro/E、CATIA、CIMATRON等,中、低端三维G虹籼有Solid
Edge、Solid

目前国内广泛使用的三维鲫c氏E软件非常丰富,高端产品有UGNX、
work、CAXA等。

电器开关柜三维CAD的软件平台之所以选用Solid Edge主要基于如下考 虑: I)SolidEdge是中档CAD/CAE软件,具有性价比高。应用广泛的特点。
2)Solid

Edge是国际著名的机械CAD/CAE/CAM一体化软件,具有广泛
Edge具有多种功能应用模块的无缝集成,可满是用户的各种需

的应用。
3)Solid

求。
4)Solid

Edge具有良好的、成熟的二次开发环境,可方便地实现各种用

户化定割。
5)Solid

Edge具有良好的售后服务支持,从2000年至今已经从V14版

发展到V19版,各项操作减化,功能完善,基于达到高档CAD软件的水平。
10

新疆大学硕士研究生学位论文

6)solid Edge二次开发工具用的是高级语言Visual Basic,工具易于掌握, 开发技术成熟,故可行性,可操作度高。
因此,基于Solid Edgc的电器开关柜三维零部件自定义库不仅是可行的,

而且其研究对电器开关柜三维零部件自定义库的后续集成工作及基于UG NX、Pro/E、CAXA平台的其它产品三维CAD应用都有一定的意义. 2.开发软件平台 目前流行的通用软件开发工具有Visual C¨、Delphi、C++Builder和
Visual

Basic等。Solid Edge支持C忙++、Visual Basic语言编程,而Solid Edge

内嵌专用的Visual Basic语言及其编程工具帮助,故先用Visual Basic6.0作
为开发工具:
1)Visual Basic

6.0简单易学,而Vc斗+操作起来不方便,掌握时间周期 6.0短期内可以编出功能强大的完全具有Windows风

长。相比Visual 格的程序.

Basic

2)用Visual Basic 6.0作为开发工具,可以完全利用Solid Edgc内嵌的
Visual

Basic语言的编程帮助。这一条是大多数开发人员首先Visual Basic作

为开发Solid

Edge的首选软件平台。

3)VisualBasic程序的可移植性非常优良,程序可独立于Solid Edgc平台 运行.


4)为以后Solid Edge的更深入开发和对uG Nx、CAXA的后续开发奠
定基础和积累经验。

2.3电器开关柜三维零部件自定义库系统的设计功能模块
根据计算机科学的软件工程这门学科的知识可知,软件开发一般都经历 项目可行性分析、需求分析、总体设计、详细设计、软件实现和应用维护这 几个阶段.也就是说在软件开发到真正进行程序编制的阶段时已经进行了大 量的工作,其中总体设计也在其中。因而我们在软件编制之前一定要对所开 发的软件进行总体设计,而模块划分就是软件开发中总体设计阶段的主要工 作,在模块划分工作中确定该软件有哪些功能模块,可以实现什么样的功能,
11

新疆大学硕士研究生学位论文

并定制出流程图。 根据零部件建模和总体装配的结果进行分析,并根据电器开关柜产品的 组成结构和参数特征模型的特点,把基于Solid Edge电器开关柜三维零部件 自定义库的功能模块划分成如图2.2所示的电器开关柜三维零部件自定义库 系统模块图。其中(a)为系统按参数驱动类型划分的二个模块:(b)、(c)、 分别为选择参数或手动输入参数驱动模块、无参数驱动模块。

(a)

电器开关柜三维零部件自定义库的模块划分

(bJ选择参数或手动输入参数驱动模块的组成

薪疆大学硕士研究生学位论文

{c)无参数驱动模块的组成 每一模块功能的实现大致分为十个左右的步骤。下面以参数配置文件参 数驱动模块中的六角头螺拴(部分螺纹)零件为例,来说明其实现过程,如
图2.2。

选择公称直径 选择公你长度 选择螺纹显示类型
载入相应的 模型文件

打开配置文件谈
取相应的参数


对参数进行处理


参数驱动模型

并更新模型

图2.2六角头螺栓模型的生成流程
13

新疆大学硕士研究生学位论文

第三章设计三维零部件自定义库系统软件的关键技术
基于Solid Edge三维零部件自定义库软件系统的开发所涉及到的关键

技术主要有:
1.

低压电器及电器柜分类与编码.

2.全参数驱动建模技术。 3.SQL数据库技术 4.系统开发过程中的程序处理技术 知己知彼百战不待,只有充分明确目标,任务,才能很好的找到切入点; 只有很好的明确关键技术,才能有的放矢;只有很好的掌握关键技术,才能完 成事先的目标。 3.1低压电器及电器柜分类与编码 低压电器产品的设计过程十分复杂。要设计一台性能优良、工作可靠、 价格合理的低压电器开关产品,必须经过电气特性与机械特性的反复计算与 研究。即使这样,设计计算参数与产品实际性能,仍然会有很大差距,必须 通过反复的试验验证。因此低压电器产品开发周期长、资金投入大。 低压电器柜三维零部件自定义库设计接口软件的开发,其核心就是要把 电器柜制作厂商常见的柜体和常用的低压电器分类建库,从而用户利用库直 接生成所需的电器柜,进而缩短开发周期,提高设计效率。所以低压电器及 电器柜的分类至关重要,关系到低压电器柜三维零部件自定义库设计接口软 件开发的质量和软件成功的重要因素,也是用户能否乐意接受的一个重要因
素。
3.1.1

电器开关柜之低压电器柜分类与编码

本装置适用于发电厂、石油化工、冶金、纺织、高层建筑等公众场合和 工业领域,同时也适用于大型发电厂、石油化工等自动化程度高、要求与计 算机接口的场所。作为三相交流频率为50(60)Hz,额定工作电压为 400V(690V),额定电流为7400A及以下的发、供电系统中的配电、电动机控

新疆大学硕士研究生学位论文

制、无功功率年补偿之用。设计开关柜依据的标准有: GB7251《低压成套开关设备和控制设备》
JB/T9661‘低压抽出式成套开关设备》 GBl4048‘低压开关设备的控制设备》

GB4942‘低压电器外壳防护等级》
GB3047‘面板、框架和柜的基本尺寸》

GB9466‘低压成套开关设备基本试验方法》 GB2681《电工成套装置中的导线颜色》
IECA39

‘低压成套开关设备和控制设备》
Electroltechnical

根据mc(t雾际电工委员会International

Commission)标准

(m∞8,珥C298,玎BoB9)和欧洲标准规定:小于或等于1.0kV的电压称
为低压,1~72.5kV的电压称为中压,大于72.5kV的电压称为高压。按国际

大电网会议的规定,最大线电压为伽kv~100m|v的电压称为超高压,
1000

kV以上的电压称为特高压。也就是说我们目前研究的只是1.0KV以以

下的电器开关柜及相应的用电器。通过在新疆奎开电气有限公司和新特顺电 气有限公司的调研,及在网上检索得出,现在国内国外目前主流的电器开关 柜有: 1、GGD型交流低压配电柜(固定式低压开关柜) 2、Mzs低压抽出式开关柜 3、GCKl低压抽出式开关柜(低压抽出式开关柜) 4、GCS低压抽出式开关柜(抽出式低压开关柜) 5、MzS.1B低压抽出式开关柜 6、KYN口.10户内金属铠装移开式开关设备

7、KYNl.10(嘴装移开式金属封闭开关设备
8、KYN6.10铠装移开式金属封闭开关设备
9、XGN2.10箱型固定式金属封闭开关设备

10、axoN-12(F、R)高压环网开关柜 11、PZ20、30系列模数化终端组合电器
15

新疆大学硕士研究生学位论文

下面以主流型的GGD型为例来具体阐述其编码,下图为新疆奎开有限责

任公司生产的GGD型电气柜:

图3.1

GGD型交流低压配电柜

图3.2 编号规则为:

GGD型交流低压配电柜内部结构一瞥

16

新疆大学硕士研究生学位论文





D口口口
辅助电路方案代号 主电路方案代号
设计序号1--'-分断能力为15KA 2—分断能力为30KA
,.—分断能力为50KA

电力用柜 电气元件固定安装,固定接线
交流低压配电柜

图3.3 GGD型编码规则解释

GGD型交流低压配电柜——配电柜的柜体与结构为: 1本配电柜的柜体采用通用柜形式,构架用8MF冷弯型钢,部分焊接组 装而成,由定点的型钢生产厂提供构架零件及专用配套零件,保证了柜体的 精度和质量。 2本配电柜在设计时,充分考虑了柜体运行中的散热问题,在柜体上下 两端有不同数量的散热槽孔,柜内电器元件通电发热后产生的热量通过上端 槽孔捧出,而冷风不断地由下端槽孔进入柜内,自下而上形成一个自然通风 道,达到散热目的。’ 3柜门用转轴式活动铰链与框架相连,安装拆卸方便。门沿及年边处嵌 有橡塑条,防止门和柜体直接碰撞,也提高了防护等级。柜体的防护等级为 IP30,用户也可根据环境的需要在IP20-IP40之间选择。 4装有电器元件的仪表门用多股软铜线与构架相连。柜内的安装件与构 架间用滚花螺钉连接.整个柜体构成完整的接地保护电路5母线和导线的颜 色及排列符合GB7251.1-1997第7、8条的规定。GGD型交流低压配电柜的外 形尺寸(嘞)

17

新疆大学硕士研究生学位论文

钤彩示意凰
图3.4 GGD型柜体外形尺寸示意图
型号 额定电压
(y) A B

额定电漉
(A)
100

额定短跑 开断电漉
(KA)

额定短时 耐受电流
(KA)

额定峰值 耐受电流
(KA)

6GDl

姗 瑚 珈

600(650) 400 150(1600)

15

15

30



GGDZ



l咖
3150 2500

30

30




A B

GG∞



2咖

50

50

l晒

图3.5 GGD型柜体电气指标~览表 3.1.2电器开关柜之低压电器分类与编码
根据我国‘标准化法》的规定,我国的标准分为国家标准、行业标准、

地方标准和企业标准四级。需要在全国范围内统一的技术要求,应制订国家 标准;以电工行业的国际标准化组织“IEC”(国际电工委员会的英文缩写) 为例,自1906年成立以来,世界上已有40余个国家参加了该组织的活动,
】8

新疆大学硬士研究生学位论文

并将本国的技术标准向IEC标准靠拢,或承认IEC标准为有效标准。随着总 线技术的发展和应用,又制定了3项有关总线的标准。
(1)GB/T 14048.122000低压开关设备和控制设备总则; (2)GB (3)GB
14048.222001 14048.322002

低压开关设备和控制设备低压断路器;

低压开关设备和控制设备第3部分:开关、隔离

器、隔离开关及熔断器组合电器; (4’GB 动机起动器:
(5)GB
14048.522001 14048.422003

低压开关设备和控制设备机电式接触器和电

低压开关设备和控制设备第521部分:控制电路

电器和开关件机电式控制电路电器; (6)GB
14048.621998

低压开关设备和控制设备接触器和电动机起

动器第2部分:交流半导体电动机控制器和起动器: (7)GB
14048.721998

低压开关设备和控制设备辅助电器第1部

分:铜导体接线端子排; (8)GB
14048.821998

低压开关设备和控制设备辅助电器第2部

分:铜导体的保护用导体接线端子排; (9)GB
14048.921998

低压开关设备和控制设备多功能电器设备

第2部分:控制与保护开关电器(设备); (10)GB/T
14048.1021999

低压开关设备和控制设备控制电路电器

和开关元件第2部分:接近开关;
(11)GB/T 14048.1122002

低压开关设备和控制设备第6部分:多功

能电器第1篇:自动转换开关电器: (12)GB
17885.1999

家用及类似用途机电式接触器; 低压开关设备和控制设备的尺寸在成套开关

(13)GB TI"1933422003

设备和控制设备中作电器机械支承的标准安装轨; (14)GB/T 4942.321993 低压电器外壳防护等级;

(15)GB/T 18858.122002低压开关设备和控制设备控制器.设备接

t](CO I)第部分:总则;
19

新疆大学硬士研究生学位论文

(161 GB/T 18858.222002低压开关设备和控制设备控制器.设备接 D(CD I)第2部分:执行器-传感器接13(AS-I);
(17)GB/'r 18858.322002低压开关设备和控制设备.控制器.设备接

n(CDD
第3部分:Device
Net;

(18)GB 887122001交流接触器节电器。

随着经济的增长和对外改革开放政策的实施和对外交流的不断扩大深 入,采用国际标准,努力提高产品质量是我国着重加强和重视的。我国国务 院有关部门发布了一系列有关采用国际标准和国外先进标准的若干规定。目 的是促进技术进步、提高产品质量、扩大引进、提高新产品开发和质量管理 工作。而实际低压电器按功能分类为:

低压空气隔离番开关、隔离开关、熔断器组合电器(39系列) 低压熔断器(20系列) 低压断路器(43系列) 控制器( 接触器( ;5系列)
低压 AD0系列信号灯 ADl系列信号灯

其它电器 控制电继 电器(砷系列) 主令电器
,cJ衰’葡I、

AD2系列船用信号灯 l l
i l }



Ⅺ时i系茹信号灯

电阻器、变阻器(16系列) 电磁铁(19系列)

起动器(12系列)
图3。6低压电器按功能的分类

新疆大学硕士研究生学位论文

开关 熔断器
电电

l|
电阻器、变阻器

低压电

制电

图3.7低压电器按用途的分类 从调研得出常用低压电器的种类为11大类共分为314个系列。可见低压 电器种类比较繁多,对其进行分类,建库可见工作量之大,任务之繁重,同 时对提高用户的设计效率和虚拟装配甚至进行模拟仿真都做了一个良好的铺
垫。 3.2

全参数驱动建模技术
在不涉及到Solid Edge的二次开发的用户一般只用普通的建模,即只关

心最终的建模结果是否符合自己的需求,而对于参数化技术中最重要的部分 ..表达式几乎都不重视甚至不采用。下面将对表达式进行一些介绍并列举一 些表达式在本系统中的应用实例。 1.表达式的基本概念 表达式是可以用于控制一个部件特性的算术或条件语句.表达式可以定 义和控制一个模型的许多尺寸,如一个零部件的外形尺寸。 在参数化设计中表达式是有很大的价值的,因为它们可用于控制在一个 零件的特征问关系或控制在一个装配件的零件问关系。例如,六角头螺栓的
2l

新疆大学硕士研究生学位论文

螺距和它的公称直径是有关系的、螺纹的长度和它的公称长度之间是有关系 的,那么修改了公称直径或公称长度,螺距和螺纹长度的表达式值就会自动 改变。 2.表达式语言 表达式有它们自己的语言,它模仿c编程语言。 左侧:变量名
a =

右侧:表达式字符串

b+c

3.表达式的分类
Solid

Edge中的表达式可分为三类:一般表达式、条件表达式和几何表达

式。

一般表达式:由变量、运算符和各种函数组合而成。如:length=2200、 d1=d—P、pl=(1/3-0.5/SORT(3))+S等。 条件表达式:为了进一步提高表达式的灵活性,Solid Edge提供了程序控 制语言..if和else。通过这种控制语言可以创建条件表达式。如: width=if(1ength<8)(2)else(3) 这个表达式表示:如果length小于8,则width等于2,否则为3。这样 实现用length在不同的条件可以控制得到不同的width的值。 几何表达式:是指在表达式中引用某种几何特征作为定义特征参数的约 束。如,使用两个对象之间的最小距离作为正方体的长度。几何表达式共有3
种:距离表达式、长度表达式和角度表达式。

4.表达式的注释 为了使表达式的表达意思更加容易被理解,可以利用““’符号在表达式 中增加注释,一般将注释语句放在““’之后,SolidEdge系统自动忽略表达式 行““’后的任何字符.如: width=if(1ength《8)(2)else(3) 应用实例 在“工具”菜单中,单击“变量(Variable)”。 在“变量表”中的“单位类型”列表中,选择变量值的单位类型。缺省类型
22

‘根据length计算width。

新疆大学硕士研究生学位论文

是“距离”,这表示创建的任何表达式都将用于距离。例如,如果您想创建一 个变量来控制角度大小,则必须选择“角度”。

图3.8低压电器按用途的分类

5在“名称”列中,单击空白单元。为您想要创建的变量输入名称。按Enter
键。

6在同一行中的“公式”列中,执行下列操作之一: 1)输入要让变量具有的值。 2)为变量输入一个简单表达式。简单表达式使用基本数学运算符来设 置使用值和其他变量的方程式。例如,如果变量Vatl和Vat2已存在,则 可以在创建新交量时输入以下公式:
、j缸1

oV破

Varl/3.0
Var2


(Vat2+5.m。V缸1



3)单击“检查”按钮来创建交量。 4)重复l—4还可以修改变量

新疆大学硕士研究生学位论文

3.3系统开发过程中的程序处理技术
通过调研,在这里采用了3种主要的处理技术来处理大量的重复代码、 对话框、选择步骤. 1.为了避免大量的重复代码可以采用公用函数技术来处理大量的重复代
码:

2.在所有的零部件的生成工程中均会用到对话框,如果每种零部件都有 一个对话框的话,将会有大量的对话框存在,在这里我们采用公用对话框技 术来处理大量的部分重复的对话框,即对于同一类零件,具有相同参数的只设 置一个公共对话框; 3.在处理机械通用标准件时,为了避免大量的参数选择,采用参数配置 文件技术来处理大量的参数选择步骤,在整个过程中只需要选择l一3个参数 便可得到最终的模型. 下面将会举俩来说明这三种技术的应用。 1.公用函数技术 在进入到编程阶段时,会发现对每种零部件进行编程时有大量的重复代 码,分类相同的零部件只在局部代码有所不同,这样就可采用公用函数来处 理这些大量的、重复的代码。 2.公用对话框技术 根据本系统的总体设计可知会用弼大量的对话框,根据分类可知在褶同 的分类中的零部件用到的对话框基本上是一样的,只是局部有所不同,比如 六角头螺栓的公称直径和十字槽螺钉的公称直径对话框基本上一样,只是十 字槽螺钌的公称直径系列的个数要少于六角头螺栓的。具体实现: 把所有用到的公称直径系列全部设计到一个公称直径对话框内,可以根 据不同的标准件类型控制该类型标准件的公称苴径对话框显示。核心代码如
下: ,/控制六角头螺栓(部分螺纹)的公称直径对话框的显示 if(standardcomponentnum一1)


新疆大学硕士研究生学位论文 for(I=l:I<=5:i++) {

SetVisibility(dialog id,DiameterNum[i],FALSE):
l for(I=11:I<.27;i+之) {

SetTisibility(dialog_id,OiameterNum[i],FALSE):
) SetVisibility(dialog id,DiameterNum[30],FALSE): l

胜制十字槽螺钉的公称直径对话框的显示
if(standardcomponentnum=4)

For I=10
to

30

SetVisibility(dialog_id,DiameterNum[i],FALSE):
Next



上述代码中,用standardcomponentnum变量来表示标准件的类型,不同 的变量值代表不同的标准件,其中standardcomponentnum—l表示标准件 的类型为六角头螺栓,standardcomponentnum=d表示标准件的类型为十字 槽螺钉. 这样就可以使所有的标准件共同使用一个公称直径对话框,使用这个技 术可以使本系统所有使用的对话框的总数在十个以内。

3参数配置文件技术
在编制通用机械标准件的程序时采用如下方案,在这里我以六角头螺栓 (部分螺纹)为例来说明该技术方案: 1)Parent(父)文件思想,即:在Solid Edge中为六角头螺栓建立一个 3D模型,在后面的步骤中把该Parent(父)文件载入、另存,修改六角头螺栓 参数并更新模型后就得到新的六角头螺栓。 2)全参数驱动,因为六角头螺栓总共需要8个参数才能完全表达螺栓的 模型,因而新建8个参数,并用这个8个参数每一个参数来驱动3D模型。 3)参数配置文件,由于正常情况下,在机械设计手册中查询六角头螺栓


新疆大学硕士研究生学位论文

只需要查公称直径和公称长度,这时只有两个参数,无法完全驱动六角头螺 栓3D模型,如果把8个参数全部在用户界面内选择,系统将会交得十分复杂, 也不符合工程习惯,因而在这里采用配置文件方案,即:在用户界面内只选 择六角头螺拴公称直径和公称长度两个参数,其余参数写到一个配置文件中, 由程序来查找公称直径和公称长度所对应的其它参数。参数配置文件如图3.9
所示。

4)利用程序来计算六角头螺栓的螺纹长度,通过总结机械手册中螺纹长 度和公称长度的关系,得到可以用程序来计算螺纹长度的结论,因而可以编 写一个子程序来计算螺纹长度。 5)修改表达式的值并更新3D模型,在用户界面内得到2个参数,在参 数配置文件中得到5个参数,利用4)中的子程序得到螺纹长度参数,用这8 个参数来修改3D模型的所有表达式并更新模型。

图3.9六角头螺栓的参数配置文件 4.程序流程图 根据上述方案得到如图3.10所示的生成六角头螺栓的程序流程图:
26

新疆大学硕士研究生学位论文

启动接口设计软件 打开Parent文件并对 应参数配置文件 用日斌函数修改参数并 更新生成Child模型

_)

I另存为用户文件I

图3.10生成六角头螺栓的程序流程图 在本系统中的所有零部件的生成都是要经过一系列的选择步骤的,比如 生成双掷开关就要经过以下的步骤: 在系统TreeView中选择低压电器一选择双掷开关一选择双掷开关系列一 最后修改双掷开关的参数并更新3D模型得到新的双掷开关一另存为用户文 件。下面给出生成双掷开关的步骤图,如图3.11所示:

3.II.1系统TreeView中选择双掷开关节点

新疆大学硕士研壳生学位论文

3.11.2从数据库中选择双掷开关系列

3.11.3更新3D模型得到新的双掷开关

新疆大学硕士研究生学位论文

3.11.4另存为用户文件

同时为了提高代码的执行效率和对内存的最小占用来提高运行速度,不 得不考虑如从代码中删除不必要的元素,在这里充分依据此6条原贝Ij: 1.减少加载窗体、控件数目和用标签代替文本框 每一个加载的窗体,无论可视与否,都要占据一定数量的内存(其数量随
窗体上控件的类型和数量,以及窗体上位图的大小等的不同而变化)。。要释

放所有空间,可用关键字Nothing使窗体的引用无效。当设计应用程序时, 窗体应尽量少用控件.设计时尽可能地使用控件数组,而不是在窗体上放置 大量同类型的控件 2使用磁盘文件或资源和组织模块 在设计时,直接放入应用程序的数据(象属性或代码中的文字字符串和数 值)将增加运行时应用程序占用的内存。运行时从磁盘文件或资源中加载数据
可减少占用内存。Visual Basic只在需要时才加载模块即当代码调用模块中

的一个过程时,模块才被加载到内存。如果从未调用一特定模块中的过程,
Visual visuaI

Basic决不加载该模块。因此,尽量把相关的过程放在同一模块中,让 Basic只在需要时才加载模块.

新疆大学硕士研究生学位论文

3.考虑替换Variant数据类型 Variant数据类型使用极其灵活,但是比其他数据类型所占内存大。当要 压缩应用程序多余的空间时,应考虑用其他数据类型替代Variant变量,特别 是替代Variant变量数组。 4.使用动态数组并在删除时回收内存 使用动态数组代替固定数组。当不再需要动态数组的数据时,用Erase
或ReDim Preserve放弃不需要的数据,并回收数组所用内存.

5.回收被字符串或对象变量用过的空间 当过程结束时,可自动回收(非静态)局部字符串和数组变量所用空间。但 是,全局和模块级的字符串和数组变量一直存活到整个程序结束。要想应用 程序尽量小,就得尽可能回收这些变量所用空问。如下面的语句:SomeString Vat=”’就可以回收字符空间 6.消除死代码和无用的变量 在开发和修改应用程序时,可能遗留了死代码~代码中的一个完整过程, 而它并没有被任何地方调用。也可能声明了一些不用的变量。虽然在创建.cxe. 文件中,Visual Basic确实可删除无用的常数,但不能删除无用的变量和死代
码。这些无用的变量和死代码在程序执行时可能被调用,势必占用内存空间 和CPU。因此要消除死代码和无用的变量。

新疆大学硕士研究生学位论文

第四章高级语言VB与Solid Edge和Access软件集成
本课题是基于vB的Solid Edge二次开发,同时又借助于Acccss数据库 技术来进行项目文件的管理工作而又是相对于Solid Edge、Access、VB独立 的一个平台,是第三方软件.故如何把三者有机的结合,有机的链接,是本
课题的重中之重。

4.1高级语言、『B与Solid Edge接口实现
4.1.1、,B语言的ActiveX技术与开发Solid Edge接口
Solid

Edge的开发接口采用OLE Automation(自动化)技术.0LE

Automation建立在COM基础之上,具有语言无关性和进程透明性。它不同

于以往CAD系统采用的专用开发工具,如AutoCAD的AutoLISP语言.自
动化技术通过Windows里COM的IDispatch接口,使不同程序之间进行相互 通讯。用户可以通过任何支持OLEAutomation的语言对SolidEdge进行二次 开发,其中包括VC、BC、VB和Delphi等,甚至可以使用Office里的宏命 令(Macro)直接驱动Solid Edge。Solid Edge的开发接口主要是通过自动化对象 的方法(Method)fi*l属性(Property)来实现的。属性是自动化对象的数据特征, 本质上是一个值,即可以被设置,也可以被获取。一般来说,属性以只读方 式居多方法要比属性灵活得多,它可以不带参数,也可以具有多个参数。利 用方法可以实现多种操作,如设置和获取某些对象的数据,或完成某些动作 等。例如,用VB获取工程图中所有线段的数量,可以读取Line2d对象的属 性Count。LineCount=ob{ActiveSheet.Lines2d.Count:
又如,要在工程图

中从(o,o)到(1,2)绘毒制一条线段,可以使用Line 2d对象的方
法:AdcLBy2Points。
call

objActivcShcet.Lines2d.AddBy2Points(0,0,1,∞
Automation是Microsoft公司提出的基于COM的技术标准,以

AetiveX

前又被称为OIE技术,其宗旨是在Windows系统的统一管理下,协调不同的 应用程序,使这些应用程序之间相互沟通,相互控制。每个应用程序可以决
31

新疆大学碗士研究生学位论文

定自己的哪些信息可以暴露出来,这些暴露出来的信息可以被其他程序搡级。 ActiveXAutomation技术通过在两个程序问安排对话,达到一个程序控制 另一个程序的目的;但这种对话不是双向的,对话双方也不是平等的。客户 程序(cIjent)是开始要求对话的应用程序。服务程序(server)是晌应dicnt的应用 程序。AetiveX Automation的代码在客户程序上运行,而这些代码所控制的动 作由服务程序执行。用VB开发Solid Edge时,可将Solid Edge理解为一个服 务程序,而二次开发出来的程序为客户程序。用户只要在客户程序上进行操 作,客户程序就会驱动Solid Edge完成相关的工作,用户无需全面掌握Solid
Edgc。


要用VB开发的用户交互界面来控制Solid Edgc就酋先必须在Visual Basic环境中引用SolidEdgc有关类型库,才能通过ActiveXAutomation访问
Solid Edge提供的主要对象。

在Visual Basic的集成环境中,在“工程”菜单下选择“引用”命令,弹

出如图4.1所示的对话框,将Solid Edgc所涉及的库选中即可。当使用
ActiveX

Automation为一个支持ActiveX Automation的应用程序进行编程.丌

发时,就必须和该应用程序进行通信。ActiveX Automation技术通过在两个程 序间安排对话,达到一个程序控制另一个程序的目的。客户程序(Client)是开 始要求对话的应用程序,服务程序(Server)是响

新疆大学硕士研究生学位论文

4.1引用Solid Edge类库对话框

应Client的应用程序。ActiveX Automation的代码在Client上运行,而 这些代码所控制的动作由Server来完成。这里将Solid Edge理解为一个服务 程序(Serve0,而 二次开发出来的程序为客户程序(Client).用户只需在客户程序上进行操 作,客户程序将驱动Solid Edge完成相关的操作.
Visual

Basic提供两个函数调用Solid Edge:CreateObject和GetObject.

CreateObject方法可以新建Solid

Edge应用对象;GetObjcct方法既可以新建

一个对象实例,又可以连接到一个已存在的实铡。如语句
Set

objApp=GetObject(,”Solid Edgc。Application”)

和Set objApp=CreateObjea_(”Solid Edge.Application。)为使用这两个 函数连接到Solid Edge的实例。具体创建一个三维零件环境的部分接口代码 如下:
Dim seApp As_solidEdgeFramework.Application

n{m惭_rnnr

Ac

‰1{一Fd口p阳rt p爿rtDnellmpnt‘声明所需季的对象蛮量

新疆大学硕士研究生学位论文 End If

前面说了,我们这个课题一个核心的技术就是参数化驱动,参数化设计, 如何通过VB来获得Solid Edge环境下的文件的参数呢?Soled Edge自身提 供有变量表和零件族功能,利用标准件的相似性,可以创建不同型号和尺寸 的标准件.通过打开种子文件,提取变量,在VB环境下修改变量(参数)便 能生成相似标准件。打开种子文件和提取变量表程序代码如下: ‘打开种子文件
On Error Resume Next Set iapp


CreateObject(”SolidEdge.Application”1

Set doc=iapp.ActiveDocument Set doc

=lapp.Documents.Add(Progld:=”SolidEdge.PartDocumeat”.

TemplateDoc:=”种子1.Par”) ‘获取变量表(参数)
Set

Vars=objVars.Query(pFindCritedum:--”’”、

Listl.Clear DimiAsInteger Fori=1ToVats.Count Set

Var=Vars.Item(i) doe.Variables.GetNamc(Var)

Listl.Addltem

通过在VB环境下代码的控制,修改变量(参数)并在Solid Edge环境 重新生成相应的准 件。代码如下:
Set Set

iapp=GetObject(,一”SolidEdge.Application”)
doe=iapp.ActiveDoeument

DoEvents Call

doe.Variables.Edit(Listl.List(2),Textl.Text)

通过Edit函数重新参数化驱动部件,生成的部件保存在特定文件夹中, 备用于虚拟装配或进行结构、强度等分析或组成虚拟样机,进行产品的工业
34

新疆大学硕士研究生学位论文

设计等。这用就算完成了高级语言VB和Solid Edge设计接口软件的核心技 术了i

4.2高级语言1I『B与Access数据库的有机集成
4.2.1

YB访问Access数据库方式的选择

在VB的开发环境中,可以使用三种数据库访问方式,它们分别是:数 据访问对象(DAO)、远程数据对象(RDO)和ADO对象模型。数据访问对象 是用来显露了MicrosoftJct数据库引擎(最早是给MicrosoftAccess所使用, 现在已经支持其它数据库),并允许开发者通过ODBC直接连接到其他数据 库一样,直接连接到Access表。ADO"扩展"Y DAO和RDO所 使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数), 以及事件。在VB的开发环境中,可以使用四种数据库访问方式接口,它们 分别是:数据访问对象(DAO
Data Access

Objects)、远程数据对象(RDO)、

ODBC(Open Database Connectivity,开放数据库互连)和ADO对象模型。下面 分别进行简要的介绍:
1.DAO(DataAccess Objects)

数据访问对象是用来显露了MicrosoftJet数据库引擎(最早是给Microsoft Access所使用,现在已经支持其它数据库),并允许开发者通过ODBC直接 连接到其他数据库~样,直接连接到Access表。DAO最适用于单系统应用 程序或在小范围本地分布使用。其内部已经对Jet数据库的访问进行了加速优 化,而且其使用起来也是很方便的。所以如果数据库是Access数据库且是本 地使用的话,建议使用这种访问方式. VB已经把DAO模型封装成了Data控件,分别设置相应的DatabascName 属性和RecordSourcc属性就可以将Data控件与数据库中的记录源连接起来 了.以后就可以使用Data控件来对数据库进行操作.
2.RDO(Remo£e Data RDO(Remote Data

Objects)

Objects)远程数据对象是一个到ODBC的、面向对

象的数据访问接口,它同易于使用的DAO style组合在一起,提供了一个接
35

新疆大学硕士研究生学位论文

口,形式上展示出所有ODBC的底层功能和灵活性。尽管RDO在很好地访

问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程 序来访问关系数据库。但是,RDO已被证明是许多SOLServer、Oracle以及 其他大型关系数据库开发者经常选用的最佳接口。RDO提供了用来访问存储 过程和复杂结果集的更多和更复杂的对象、属性,以及方法。和DAO一样, 在VB中也把其封装为RDO控件了,其使用方法与DAO控件的使用方法完 全一样,
3.ADO(ActiveX Data
ADO(ActiveX Data

Object)

Object)是DAO/RDO的后继产物。ADO 2.0在功能

上与RDO更相似,而且一般来说,在这两种模型之间有一种相似的映射关系。 ADO“扩展”了DAO和RDO所使用的对象模型,这意味著它包含较少的对 象、更多的属性、方法(和参数),以及事件。作为最新的数据库访问模式, ADO的使用也是简单易用,所以微软已经明确表示今后把重点放在ADO上, 对DAO/RDO不再作升级,所以ADO已经成为了当前数据库开发的主流。 ADO涉及的数据存储有DSN(数据源名称)、ODBC(开放式数据连接)
以及OLE DB三种方式。后面的例程将详细讲解这三种方式的具体访问实现。

要使用ADO,必须清楚ADO的对象层次结构,其大体上分为以下7个 对象层次: 1)Command对象:包含关于某个命令,例如查询字符串、参数定义等 的信息。Command对象在功能上和RDO的RDOOuery对象相似。 2)Connection对象:包含关于某个数据提供程序的信息。Connection对 象在功能上和RDO的RDOConnection对象是相似的,并且包含了关于结 构描述的信息。它还包含某些RDOEnvironment对象的功能,例如transaction 控件.


3)Error对象:包含数据提供程序出错时的扩展信息。Error对象在功能 上和RDO的RDOError对象相似。
41

Field对象:包含记录集中数据的某单个列的信息。Field对象在功能


上和RDO的RDOColumn对象相似。

新疆大学硕士研究生学位论文

51

Parameter对象:包含参数化的Command对象的某单个参数的信息。

该Command对象有一个包含其所有Parameter对象的P锄metefs集合。
Parameter对象在功能上和RDO的rdoParameter对象相似. 国Property对象:包含某个ADO对象的提供程序定义的特征。没有任 何等同于该对象的RDO,但DAO有一个相似的对象。.
。‘

∞Reeordset对象:用来存储数据操作返回的记录集。此对象和Connection 对象是所有对象最重要的两个对象。 综上,我们可以看出每种数据库各有特色,各有利弊.综合本课题和具 体情况具体对待笔者在不同的场合使用了ADO(ActiveXDataObject)和DAO
(Data Access

Objects)数据访问接口技术。下面分别介绍如何使用ADO

(AetiveXDataObica)和DAO(DataAccessObjcds)数据访问接口技术。
1)ADO(ActiveX Data Object)

由于ADO Data控件为ActiveX控件,因此,要使用它,必须首先将其增

加到工具箱中。为此,可在VB语言环境下选择菜单(Projed)中的Components

打开Components对话框,然后在Controls选项卡中选择Microsoft
Controls

ADO

6.0(OLEDB)。如图4.2所示:

4.2利用Components对话框安装ADO Data控件
37

新疆大学硕士研究生学位论文

笔者希望使用Access数据库,可点击生成,弹出下图所示的数据链接属性对
话框:

4.5利用Data

Link

Properties对话框设置ConnectionString属性

然后选择“连接”选项卡如下图所示,在选项卡中输入或选择一个Access 数据库名称就可以利用Data控件访问Access数据库了。

4.6利用连接选项卡选择数据源

2)DAO(DataAccess

Objccts)

新疆大学硕士研究生学位论文

DAO(Data Access Object)全称为数据访问对象,它是数据库编程的重要 方法之一.DAO的~种面向对象的界面接口,特色为它不是可视化的对象,使 用它全部都要靠编码来完成,DAO是设计关系型数据库系统结构的对象类的 集合。它提供了完成管理这样一个系统所需的全部操作的属性和方法,包括 创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等
工具.由于ADO(ActiveX
Data

objed ActiveX数据对象)的出现,DAO的使

用已大大减少,但它无须使用ODBG(开放数据库连接)便可连接各个数据源, 而且DAO不是那么的过分依赖Data控件,因而我仍在合适的场合用经典的
DAO.

DAO使用之前必须先引用。方法为打开VB6.0,从VB的”工程”菜单中, 选择“引用”项,当”引用嚼r话框出现后,从库的列表中,选择”Microsoft
3.6 DAO

Object Library”。单击一确定”。现在便可以使用DAO对象库提供的所有对象

进行编程了。如下图所示;

4.7引用Microsoft

DAO 3.6

objcct Library

4.2.2采用DA0(数据访问对象)访问Access数据库
一、DAO创建数据库:

在DAO中用CreatDataBase方法可以根据用户需求动态的创建数据库。 这一点在程序中是非常有用的.用户可以根据要求实时建立数据库.建立过 程如下:


新疆大学顽士研究生学位论文

Pdvate Sub Com_creat
On Error GoTo Errl00

Click0

CrcatDataBase“数据库名称.mdb”,dbLangGcneral

Msgbox”数据库建立完毕”
Exit Sub Errl00:

MsgBox”不能建立数据库!”&vbCrLf&vbCrLf&Err.Description,
vblnformation

EndSub

这样,数据库便在当前默认的路径下建立了。 二、创建表与字段: 建立数据库后,则需要在该数据库中建立表,这要用到TableDcf对象。 先定义一个TableDef类型的对象,然后用TableDef集合中Append方法将之 追加到数据库当中去。并且同时定义一个Field对象,用CreatFiele的方法创 建一个Field对象,向表中添加字段。例如:
Private Sub

ComDable_Click0

On Error GoTo Errloo Dim Defdb As DataBase Dim NewTable As TableDef

Dim NewFieldAs Field
Set

Defdb=Workspaces(0).OpenDatabase(App.path&”\数据库名称.mdb”,0,

False)‘
Set NewTablc=DefDataBase.CreateTableDef(”表名1 Set NewField=Defrable.CreateField(”字段名”,dbText,6)’创建一个字符型的

字段,长度为6个字符
DefrableFields.Append

NewField’字段追加 NewTable‘表追加

DefDatabase.TableDefs.Append

Msgbox”表建立完毕。
40

新疆大学硕士研究生学位论文
I'xnSub

E玎100:

MsgBox”对不起,不能建立表.请先再建表前建立数据库?”,vbCritical


EndSub



三个数据库可能有十几个甚至几十个字段,一个表中有多少个字段,则 要创建多少次并要追加到表中。每建立一个字段后都要用到字段追加命令, 但是表追加只需在所有字段建立完成后用一条命令即可完成. ?三、打开数据库: 在VB中,对一个对象交量引用之前必须加以说明。DAO也是如此,必 须先声明数据库变量,例如:Dim
dbase As

Database.建立了数据库对象变

量后,我们便可打开数据库了,在一般情况下都只是访问一个数据库,当打 开数据库后再对数据库中的各个记录进行操作,这就要用到Rccordset对象建
立记录集.例如:
Private Sub Command Dim dbasc
as

OpenDatabasc_Click0

Database


Dim体As Rccordset Set Set

dbase=OpenDatabasc(App.path&。懒据库名称.mdb”)
rs=dbasc.OpenRecordset(”select‘fTom表名”)

EndSub

这样,数据库中的记录便放到Rccordsct中,可以进行后续操作了.
四、使用数据库:

当打开数据库,建立Rccordset记录集后。便可浏览、删除、添加、查找 数据库中的内容。 1)向前浏览
Private Sub

cmd..prcvious_C'lick0

Is.MovcPrevious
if Is.BOF=True then

ls.Movelast
41

新疆大学硕七研究生学位论文 Endif fori=0t011

label(i).caption=体.Fields(i)&”“
next

EndSub

在字段赋值的末尾加上…‘可以避免许多不必要的错误,在数据库中,当 一个字段为空的时候,它的值为Null,Null表示什么也没有。因此无法赋值, 赋给变量时会出错。但我们加上w’空格符时,便有效的避免了赋值错误,这
个技巧非常的有用。

2)向后浏览
Private Sub cmd next

Click0

Is.MoveNext
If rs.EOF=True then

Is.MoveFirst
Endif

fori=0t011

label(i).caption=rs.Fields(i1&…。
next

EndSub

3)删除记录
Private Sub cmd del

Click0

On Error G01ro handle Dim msg
as

string

msg=”是否要删除记录”&Chr¥(10)

msg=msg&label(0)把删除记录的代号加入msg中
If

Msgbox(msg,17,”删除记录”)<>1 Then

Exit sub

rs.delete

Is.Movenext
42

新疆大学硕士研究生学位论文

Ⅱ璐.EOF=TrueThen

rs.MovePrevious
Endif

fori=0t011

label(i).caption=墙.Fields(i)&”
next

handle:

MsgBox”该记录无法删除!!!”
ExitSub
EndSub

4,添加记录 向数据库中添加记录比较麻烦一点,大致分为三步:首先,用AddNew 方法向数据库添加一个新的空白记录;其次,将要输入的数据分别赋到数据 库的各个字段中;最后,用Updata的方法,把记录写到数据库中去.例如:
Private Sub crad new 强.AddNew Fori=0t011

Click0

稻.Fields(i)=TextBox(i).Text
Next
Is.Updata EndSub

5)查找记录

查找记录可以用Find方法,例如:
Private Sub

Cmd_search_Click0

Set陪=dbase.openRecordset(”表名”,dbopenDynaset) 璐.findfhst”字段名=t一&Text.Text&””Text.Text是输入的关键字
firs.Nomatch=True then

Msgbox”对不起,没有该记录。

新疆大学硕士研究生学位论文

第五章用户自定义库软件系统的开发
5.1自定义库的应用背景
用户白定义库是体现软件服务的高质量窗口,也是体现以人为本,人性 化设计的思想。虽然我们已经组织大量人力物力对I-GGD型全部零部件及 常用低压电器进行了参数化建模并入库,但是用户在设计过程中,自己特定 的一些零部件也想入库进行参数化设计或下次再利用。就要有自定义库这一 模块的功能来满足用户。同时由于用户作为一个使用者他做的仅仅是进行选 择而不是进行专业的编程,就能够很容易的把零件存入库中作为Parent
Part

或直接利用。简易的操作是衡量受用户欢迎程度和软件是否拥有市场的一个 重要因素。也是本软件势在必行要攻克的核心模块。

5.2系统设计
5.2.1模块设计 根据本系统的需求,结合实际用户需求操作的意愿情况,经过模块分析, 本系统应具有如下功能模块: 1)数据装载模块 本系统的数据量(超过1000个零部件)比较庞大,所以在程序的开始必 须有~个数据装载模块,等到数据完全被装入之后才能正常执行程序。 2)零件入数据库(添加)模块 用户要把具有自己个性的零件按照一定的规范存入库中,以备下次无参 数化使用(直接再次使用,而无需更改任何参数)或作为Parent Part来生成 系列Child Part进行样机研制,虚拟装配,有限元分析等。 3)参数化定制零件模块 用户把零件存入了数据库中作为Parent Part来生成Child Part,就必需进 行参数化定制对话框,来更改参数(交量)并在Solid Edge环境下重薪生成
Child

Part并进行用户化。

4)查询和删除模块
44

新疆大学硕士研究生学位论文

由于零件入库.用户可能对以前入库的零件直接找不是很容易便可以直 接通过查询来完成。查询后的结果可以直接激活来在Solid Edge环境下重新 生成Child Part并进行用户化。或由于数据库的庞大或由于某个零部件已经失 去利用的价值和机会,就可以对其进行删除操作,来释放其占有的宝贵计算 机资源。由于查询和删除具有承前启后性,故把它们作为一个模块。 5)用户权限


数据库的资源是一个宝贵的资源,数据相当珍贵,对数据库进行操作只 有进行对操作对象进行一定的限制,才能保证数据库的健康,也便于维护, 提高利用效率。 5.2.2系统的整体流程 根据用户意见和建议综合对流程的分析获得以下的操作流程,同时又 结合上述的各功能模块,确定系统的整体流程如图5.1所示:

登录

5.1系统的总体流程图 5.2.3数据库设计 Access是Office系统中一个重要的组件.它提供一组功能强大的工具,
45

新疆大学硕士研究生学位论文

以及一系列数据库方面的解决办法。这些工具提供的功能非常完善,既能满 足普通办公人员的需要,又能满足专业开发人员的需要。通过它可以创建功 能强大的数据库解决方案,这种数据痒解决方案使用户能够比以前更轻松地 组织、’访问和共享信息。 在很多人的眼里,Access数据库,仅仅只是用于小型数据存储的容器, 如果一定要用来开发程序,也仅仅是开发一些简单的个人应用,根本不适合 大型的企业应用,久而久之,易用和简单似乎就成了Access的全部。实际上, 这种看法是非常片面的。Access是一个非常强大的前端开发工具,由于Access 的弹性,它可以应用在不同的行业及不同的领域中,既可以在个人信息管理 方面展露拳脚,也可以在大中企业的仓库管理、财务、采购销售、生产管理、 质量控制等多方面的企业信息管理中大显身手。
以UGS公司的Solid
Parent Edge

V19版本为例。他的标准件库里有近5000个

Parts零部件(近2.5G的容量)和相关的零部件图片及信息,其管理

这些信息的库就是用的Access数据库和数据表格,而其Access存储的信息量 也才近20M的容量。以此类推,Access最多可以存储2G的容量,可以存储
Solid

Edger的Parent Parts文件达到NUM=2G*5000/20M=10485760万个零

件,即可以存储1048千万个零件,这是多么庞大的数据,所以,我们开发这 个系统,用Access完全的够用了,甚至永远都不会出现不够用的情况。 另外笔者认为搞学问当然要攀登科学高峰往深里走,但是做项目傲课题, 用最简单的工具用最高的效率开发最容易操作的系统。同时也是节约开发成 本,提高产品竞争力的一个重要因素。故在此选择Access数据库作为容器。 同时可以使用文件夹工具作为文件的存储容器。在任一盘符下建立一个名称 为用户自定义库的文件夹。同时在用户自定义库中建立两个文件夹,一个名 称为无参数化,另一个名称为有参数化。无参数化和有参数化文件夹里按类 在迸行建立多个文件夹,把相应的Parent Parts零部件放入对应的文件夹,这 是零部件的物理存储单元,也是借助于硬盘的存储作用。具体结构如图:

46

新疆大学硕士研究生学位论文

用户

列断路嚣

5.2用文件夹方式存储零件物理特性 用Access数据库表格来存储零部件信息。故 1.零部件自定义库表的设计 自定义库表描述的是零部件的信息数据表,包括以下部分:零件序号 (巧XuHao)、零件名称(LjMiagChcng)、零件路径(LjLujiag)、零件作者 (1.jZuoZhe)、零件制作日期(LjRiqi),零件备注(巧BeiZhu)。在数据库中 创建一个表,表名为“ZiDingYiKu”,其字段结构如下表5-1所示 表5—1
字段名
LjXuHao

零部件数据信息表(ZiDingYiKu)
字段说明 零件序号 零件名称 零件路径 零件作者 零件日期 零件备注 类型 文本
4 50 50

宽度





不能为空 主关键字 不能为空 不能为空 不能为空 不能为空

LjMingCheng LjLujing LjZuoZhe
LjRiQi

文本
文本

文本,
日期时问 文本。

50


LjBeiZhu

50

其中,LjMingCheng(:攀件名称)字段为该表的主关键字(Primary Key,PK), 惟一标识了一条零件信息。
4,

新疆大学硕:}研究生学位论文

这里要注意两个问题:虽然在Access中建立的数据表,其字段的名称虽 然可以为中文,但是从以往经验来年看,字段名最好不要为中文,这是因为: (I)在某些不支持中文的系统中,字段名称含有中文的数据库,将不能 够被识别。这样该数据库就不能够使用,从而使数据库的可移植性下降。 (2)用于系统开发而建立的数据库最好不要使用中文,而是使用对应于 该中文意义的英文,这样既解决了中文字段的弊病,也提高了数据库的可读
性。


2.用户权限表(user)的设计
用户权限主要是对管理员设置的,当用户需要自定义库时,或进行添加

删除库里的文件时需要输入用户名和相应的密码。只有二者全部对应正确才 能通过。故包括以下二个部分:用户名(yonghuming)、用户密码(mima). 在数据库中创建一个表,表名为“USgr”,如下表所示:
表5-2

用户权限表(user)
字段说明 用户名 用户密码 类型 文本 文本
50 50

l字段名 I l
y。nghuming mima

宽度





不能为空 不能为空

表5-1(零部件数据信息表(ZiDingYiKu))和表5-2(用户权限表(user))
之间没有联系,所以二者没有互访。

5.3程序预览
5.3.1…Splash窗体(FrmSplash.frm)
运行本系统,将出现Splash窗体(FrmSplash.frm),如图5.2所示。

新疆大学硕士研究生学位论文

5.3

Splash窗体

通常来说,Splash窗体用来向用户展示有关系统的版本信息,开发情况 和版权信息等,同时,它还可以用来对应用程序系统的参数初始化数据库连 接。注意,Splash窗体的BorderStyle属性被设为3-Fixed Dialog,同时Caption 设为空,此时设置可以去掉窗体的标题栏. 1)窗体界面具体设计: 1)在工程中添加一个窗体,BorderStyle属性被设为3-Fixed Dialog,同

时Caption设为空。这样做的目的是为了生成流行的启动界面。而启动界面一
般的情况下是没有标题栏的,故要这样设置 2)添加一个Image控件,属性Name为imgLogo,DataFormat属性为: 图片。Image控件主要是为了


3)添加一个timer控件,属性Interval为3000ms 2>窗体代码设计 1.添加背景图片的程序为: imgLogo.Picture=LoadPicture(App.Path+甲+”达坂城风机.bmp") 2,添加背景字代码为: r&=TextOut(hdc,100,20,”低压电器柜三维零部件库接El系统V1.0”, 35)


f&=TextOut(hdc,240,.60,”测试版V1.O”,11)

f&=TextOut(hdc,240,370,”作者:砀and w】【”,16)
f&=TextOut(hdc,220,400,”数据初始化,请稍等….。,22)


5.3.2登录窗体(Frn矗lain.fm) 通过Splash窗体进行了程序的初始化工作后,将退出Splash窗体,并进
入登录窗体(FrmMain.frm)。事先给用户一个初始用户名和一个初始密码,

用户进行正常登录或登录成功后自定义自己特色的用户名和自己的密码.如 图5.4和5.5所示:

新疆大学硕士研究生学位论文

5.4以初始用户名和密码进行登录

5.5新用户注册

当用户成功登录后就进入自定义库管理系统界面或在自定义系统进行新 用户注册成功时自动弹出用户名和密码提示对话框。如下图5.6所示:

5.6提示成功及新名称和密码
I)窗体界面设计

首先在主窗体上添加TabStrip,该控件也用于制作选项卡式对话框,能 够将程序中的窗口或对话框的同一区域定义为多页(即分开到多个选项卡中 去)。这样在一个界面可以实现标准件和登录界面迸入自定义库融合在一起, 减小窗体数目,增加程序可读性。并添加几个Label控件(建议是Label数组)
属性Caption分别设置为“请输入用户名”,“用户名”,“密码”。同时再加入

几个命令控件(Command)属性Caption分别设置为“进入系统”,“用户注
册”,“退出系统”. 2)窗体代码设计

首先要声明对数据库的引用:
Const Con_DBpath As Stri

ng=。DB\dbl.mdb”

Publ ic G1b_MyWkSp As Workspace
50

新疆大学硕士研究生学位论文

Public Glb.MyDB

As DAO.Database

Dim曲set

As DAO.Reeordset

当用户使用初始用户名和密码登录时,要进行验证的程序代码为: IfTcxtl(1).Text="zzjxju”And Text2。Text=”zzjxju。Then
UnloadMe’

zjdjngyiku.Show
Else
Set Set



Glb_MyWkSp=Workspaecs(0) GIb_MyDB=Glb_MyWkSp.OpenDatabase(Con_DBpath)
SQLStr


“SEU;(T

COUNT(’)

FROM

user

WHERE

yonghuming=”&Textl(1).Text&…AND mima='。&Text2.Text&”。
Set db If

set=Glb_MyDB.OpenRecordset(SQLStO

db_set.Fields(0)>0 Then
Unload Me zidingyiku.Show 1

Else

response:MsgBox(”你输入的用户名和密码有误,请重新输入.“,
vbOKOnly,”错误”)
EndIf EndIf

再者当用户更改密码或以新的帐户进行注册时,也有相应的代码实现。

5.3.3自定义库管理系统(ZiDinlgYiKu.fm)
这是本课题的核心管理界面,如何高效的管理和高效的执行文件,又如 何能够解决用户随意把相应的文件放在不同的路径下这种随机性,是本课题 一直受困的难点。经过分析和学习,决定模仿Windows管理资源的方式用自 己的资源管理器来管理文件和执行文件.

新疆大学硕:I:研究生学位论文

5.7资源管理器模式管理文件 这样有两个好处: 1.可以增加程序的灵活度,不再受文件路径的更改而影响程序的运行。 2.淡化程序接口,利用Windows内部程序操作文件。采用资源管理器的 方法,可以直接双击文件,Windows自动给打开根本无需VB和Solid 的接口问题,增加程序的执行效率。 1)窗体界面设计 1)在工程中添加一个窗体,名称为:zidingyiku:Caption属性为自定 义库管理系统;BorderStyle属性被设为2-Sizable. 2)加载ExplorerTree(树型目录窗格)和ExplorerLis(列表窗格)控件, 利用NEWEX这个优秀的第三方控件,我们可以用VB轻易做出与Windows 几乎一模一样的资源管理器。简要介绍一下NEWEX控件: (一)加载控件
启动Visual Basic 6.0,创建一个工程并保存为”工程1.vbp”,同时产
Edge

生一个名为”Forml”的窗口。在工具箱的空白处单击鼠标右键,从弹出的快 捷菜单中启动”部件“窗口,点击”浏览”按钮,从存放NEWE×控件的文件夹 中找到newex.ocx文件.点击”应用”后NEWEX控件就添加到工具箱中。
52

新疆大学硕士研究生学位论文

你会发现工具箱中多了3个图标,如图5.8。我们要用到的是最后两个.

图5.8工具箱中的NEWE×控件
(二)主要属性介绍

本例中我们用到的是ExplorerTree(树型目录窗格)和ExplorerUs(列 表窗格)控件.用以显示左边选定对象所包含的内容。下面列出它们的几个
主要属性. Explorerl"ree的主要属性
AppearanCe

控件外观是否立体,.}为3D边框,o为平面。 控件的边界类型
背景色



l {

Borderstyle Backcolor

BrowseFrom
TreeHasBuftons TreeHasLines Path

转到地址栏输入的目录路径 在树状目录中是否显示+按钮
在树状目录中是否显示关联虚线






地址路径

ExplorerList的主要属性

|Appearance
}BorderStyle

控件边框是否立体,1为3D边框,O为平面。 控件的边界类型 是否显示隐藏文件


|ShowHiddenFile
lview

查看方式0-平铺,1一图标,2?列表,3.详细信息

lFileName

选中文件的文件名

新疆大学硕士研究生学位论文

(三)添加控件,完成界面的设置 1在Forml中添加一个ExplorerTree和一个ExplorerLis控件,调整好位 置大小。 3)做菜单栏:包括菜单有:用户注册、零件管理、排列图标、帮助 几个工菜单可以进行快速的进行用户注册、零件管理、排列图标、帮助 等操作。 4)添加几个命令按钮:包括零件入库、参数化、查询与删除、返回。这 几个命令按钮是来进行事件响应的。当用户需要零件入库时,就可以进行相 应的操作,这几个按钮和菜单是对应的。 2)窗体代码设计 首先实现资源管理器的功能代码为: ①添加以下代码,使右边列表窗格显示左边树型目录窗格选定对象所包 含的内容。
Private Sub ExplorerTreel On Error Resume Next ExplorerListl.TreeDatas=ExplorerTreel.TreeDatas End Sub Private Sub

TreeDataChanged0

ExplorerListl_FolderClick0

ExplorerTreel.FolderClick(ExplorerListl.filename)
EndSub

②模仿Windows右键的查看菜单。在Windows资源管理器中点击鼠标右 键选“查看”可以选择查看文件的方式,而利用ExplorerList的View属性也可 以模仿出这个功能.
首先,我们要先设计一个弹出菜单。选择’工具’下的4菜单编辑器”进行

菜单的设计.如图:5。9所示:

新疆大学硕士研究生学位论文

图5.9菜单编辑器 菜单的具体设计如下表:
菜单标题信息 弹出菜单 查看 平铺 图标 列表 详细信息 菜单名称
PopMnu

是否可见 否 可见 可见 可见 可见 可见

级别
l 2 3 3 3 3

MnuView MnuS
MnuN MnuL MnuD

其次,设计好菜单后,添加以下代码实现点击鼠标右键弹出菜单。
Private Sub

FomjouseDown(Button
Single)

As Integer,Shift As Integer,

X As Single,Y As

If Button=vbRightButton Then PopupMenu popmnu

End If
End Sub

最后,编码以响应菜单事件
Private Sub

mnuD_Click0

ExplorcrListl.View=3‘详细信息


新疆大学硕士研究生学位论文 EndSub Private Sub

mnuL_Click0

ExplorerListl.View=2’列表
EndSub Private Sub mnuN

Click0

ExplorerListl.View=1’图标
EndSub Pfivme Sub mnuS

Click0

ExplorerListl.View=0’平铺
EndSub


5.3.4零件信息注册窗体(ZhuCeJieMian。fm) 就是通过本窗口的运行,能够把零件信息存入库中,也就是要把零件序 号(LjXuHao)、零件名称(LjMingCheng)、零件路径(巧Lujing)、零件作者 (LjZuoZhe)、零件制作臼期(LjRiqi)、零件备注(LjBeiZhu)这些信息存入 数据库。考虑到零件名称和零件路径一般情况下比较长,用户进行手动输入 费时费力。也可能会出现错误。实际上这里采用智能的办法,就是当用户在
点击某个零件时,程序会自动把相应零件的名称和路径存入。而零件序号也

是数据库根据数据表中的序号自动加1生成,也不需要用户来手动添加。用 户只需要把零件作者(LjZuoZhe)、零件制作日期(I.jRiqi),零件备注 (LjBeiZhu)手动输入便可,操作简便,信息全面。故力求操作简便,界面 简洁。 I>窗体界面设计 1)在工程中添加一个窗体,名称为:zhuccjiemian;Caption属性为零件 信息注册界面;BorderStyle属性被设为2-Sizable. 2)加载一个Frame控件,并在其上加四个Label和四个text控件和三个 Command控件。属性为表所示:

新疆大学硕士研究生学位论文

对象
Framel

属性
BorderStyle Caption Caption Caption Caption


设置
l~Fixed Single

Labell(0) Labell(1) Labell(2) Labell(3)
Commandl
Command2 Command3

零件序号 零件作者 制作日期 零件备注 确定 取消 参数化

Caption
Caption Caption

其中Text属性默认便可,故不在表中显示,这样简单的界面就算完成了 如下图所示:

图5.10零件信息注册窗体 2)窗体代码设计

笔者,只需要简单加入SQLStr=”INSERT INTO

zidingyiku VALUES



&LjXuHao&”:”&功MingCheng&…,…&LjLujing&”:”&LjZuoZhc&”’t竹 &LjRiqi&…,”&qBcizhu&”'“这样的SQL(结构查询语句)的语句,通过 点击确定按钮,就可以轻易把零件信息存入数据库中,编程简单,操作方便。 5.3.5参数对话框界面(CanShuDuiHua.frm) 此对话框兼有显示零件参数,同时改变参数,修改参数并在Solid
Edge

环境下更新零件的功能。是参数化设计的核心,也是一个难点.经过细致的 分析反复的实验,最后确定的界面如下

新疆大学硕士研究生学位论文

图5.11参数对话框界面 1>窗体界面设计 从上面的界面我们很轻易的可以看出 1)首先加载一个窗体,名称为CanShuDuiHua,属性为参数对话框。
2)分别加入一个Label和一个Text控件数组。当数据比较庞大时,

Text比Text数组要占用更多的资源,同时使用数组能够更好的管理数据和有
利于数据的传递。(当一个零件的变量(参数)超过窗体显示的数目,程序会 自动创建更多的Label和Text数组,这里实现了程序的智能化)

3)一个List控件。List控件主要是当参数对话框发生Load(装载)事
件时,自动获取目前Solid Edge环境下零件的参数,并列表显示出来.用户

只需双击变量,结合Text数组进行修改参数。 4)三个Commond控件,分别Caption属性为:确定、另存为、返回。 确定用于动态在Solid Edge环境下更新三维模型;另存为用于把更新过的三 维模型另存为,实现用户化;返回用于结束此操作回到上个界面. 5)一个CommonDialog控件,用于当触发另存为事件时,弹出Windows

标准的公共对话框一另存为对话框。如图5.12所示

新疆大学硕士研究生学位论文

图5.12调用公共对话框—另存为对话框 注意:要想加入CommonDialog控件并调用Windows标准公共对话框, 必须事先要在VB语言环境下选择菜单(Project)中的Components打开 Components对话框,然后在Controls选项卡中选择Microsoft Common
Control Dialog

6.0(se3),如图4.2所示.

2)窗体代码设计

由于本窗体,设计好以后通过相应的代码较易实现,这里不在累数。 5.3.6零件信息查询界面(LjXinXiCa/(un.frm) 本窗体是信息查询和删除,还有生成功能的组合。事实上单纯的查询没 有太大的意思。只有对查询的结果进行比如删除,生成等操作,才算是有意 义的,把相应的功能集成在一个窗体上。如下图所示窗体,来介绍窗体的设
计过程。

堑望查兰婴圭堕窒笙兰垡堡奎
图5.13零件信息查询界面
1)窗体界面设计 从上面的界面我们很轻易的可以看出

1)首先加载一个窗体,名称为LjXinXiCaXun,属性为零件信息查询 界面。 2)分别加入一个Label和一个Text控件数组。 3)一个MsHFlexGrid数据控件。MSHFlexGrid控件主要是显示用户 的查询结果的,然后以表格的形式显示罗列出来。 4)5个Commond控件,分别Caption属性为:查询、取消、删除、 生成、返回。查询是当输入查询条件触发查询事件发生,符合的项目便以表 格形式显示在MSHFlexGrid控件;取消是取消查询或刷新查询条件;删除是 对查询的结果进行删除;生成是对查询的结果进行参数化驱动j在Solid 生成查询的零件;返回是返回到上一级界面。具体操作流程为:
Edge

图5.14零件信息查询操作流程图 2)窗体代码设计 有了以上界面的设计和相应的操作流程就可以编写相应的代码了.

5.4自定义库系统操作的实例
一)自定义库操作流程: 1.先基于Solid Edge环境下,在Solid Edge中制作一个Parent—parts

新疆大学硕士研究生学位论文

零件. 2.把第1步做的Parent-parts零件按类放入自定义库里的参数化中的相应 文件夹中. 3.运行电器开关柜三维零部件自定义库接口设计. 4.用户名密码登录,如果不正确,提示错误,重新登录。 5.登录成功,进入用户自定义库接口软件主界面。 6.可以点击菜单用户注册,自定义自己的密码和登录名称。 7.通过资源管理器,找到相应的自定义库中的相应文件夹中的第1步做 的Parent-parts零件.双击后Windows自动调用相应的程序把第1步做的
Parent.parts零件在Solid Edge环境下打开。

8.点击注册,弹出零件信息注册窗体(ZhuCeJieMian.fTm),填写相应信 息,便可以完成入库的功能.


9.注册完后可以实现参数化功能,通过点击参数化命令按钮,自动提取 零件参数,用户修改便可,修改成用户满意的相应尺寸后,通过另存为命令 按钮来调用Windows公共“另存为”对话框,完成零件的用户化。 10.查询和删除功能,如果用户不想保留自定义库某个文件夹下的某个文 件,点击查询,找到相应的文件,删除便可。 11.退出可以看出在以上过程中,用户只需要简单的进行选择便可,无 需要编程,操作简便,效率高。具体流程图如下所示:

61

新疆大学硕士研究生学位论文



图5.15自定义库操作流程 二)新建开关柜项目操作流程

1.创建开关柜项目所要保存相应的文件夹 2.运行电器开关柜三维零部件自定义库接口设计。 3.用户名密码登录,如果不正确,提示错误,重新登录 4.登录成功,进入用户自定义库接口软件主界面。 5.通过资源管理器(如果零件很多,可以通过数据库查询功能),找到相 应的自定义库中的相应文件夹中的Parent.parts零件(如门横梁、纵横梁、内 立柱、电缆粱、刀开机构粱,挂料粱、NT00挂料梁、母排粱、电容器梁等). 双击后Windows自动调用相应的程序把Parent-parts零件在Solid Edge环境下
62

新疆大学硕士研究生学位论文

打开。如果是Parent.parts文件不需要修改直接可以用通过另存为到1步创建 的文件夹.如果需要更改参数,则转入6。 6.通过点击参数化命令按钮,自动提取零件参数,用户修改便可,修改 成用户满意的相应尺寸后,通过另存为命令按钮来诱用Windows公共“另存 为”对话框,把Child文件保存在1步的项目文件夹中,完成零件的用户化.
流程图如下:

另存 目文

图5.16新建开关柜项目操作流程 三)新疆项目过程实际截图演示 按照上述步骤,下面给出使用本系统使用过程中的一些截图,存储模式 采用仅保存,都采用标准类型. 1.在任一盘符下新律一项目文件夹

新疆大学硕士研究生学位论文

图5.17新建项目文件夹 2.运行电器开关柜三维零部件自定义库接口设计,进入系统如图5.7 3.选择一个挂料梁,双击,在Solid Edge环境下打开零件,如图:

图5.18在Solid Edge环境下打开零件

4.参数化驱动在生成,如图5.1I:
当触及确定时,在Solid Edge环境下更改参数并重新生成:

新疆大学硕士研究生学位论文

图5.19更新参数并重新生成 5.完成后,把其另存为到GOD型交流低压开关柜文件夹中,如图5.12: 6.重复3.5把一个柜型需要的零部件全部重新生成,并存在GGD型交流低 压开关柜文件夹中进行虚拟装配,装配的结果如图:

图5.20虚拟装配的效果演示

新疆大学硕士研究生学位论文

5.5程序发布
利用Visual Basic开发完全应用程序后,通常要将该程序发布给其

他人,即在脱离Visual Basic运行环境的情况下,用户可以使用该应用程序。 一般的情况下,程序发布有两种方法:第一种借助第三方软件,来进行程序 发布,如专用软件FilePacker V1.1和MakeInst(软件安装打包工具)v8.9等专 业用于发布的软件,可以生成类似标准软件那样的安装程序(不过需要购买 在)。第二种方法选择VB自带打包向导工具Package&DeploymentWizard来 发布VB应用程序。对于前期的测试来说,选择VB自带打包向导工具Package
&Deployment

Wizard工具来进行测试,应用已经够了,况且这也是对程序的

最初测试,只有通过这种基本的测试才能最终生成安装程序,最后出版销售。 下面将介绍如何利用VB自带打包向导工具Package&Deployment Wizard来
进行VB程序的发布。


1.程序编写调试完毕后,单击Visual Basic程序“文件”一>“生成电器 开关柜三维零部件自定义库接口设计.cxe”,将该数据库程序编译成可执行程 序电器开关柜三维零部件自定义库接口设计.exe。这一步通过便可以利用VB

自带打包向导工具Package&Deployment Wizard来进行VB程序的发布。
2.具体操作是在点击:开始-->Microsoft Visual
Basic-->Visual Basic 6.0

工具-->Package&Deployment Wizard向导,便出现如图5.20所示的打包和
展开向导。

如图5.21打包与展开向导
66

新疆大学硕士研究生学位论文

第六章虚拟装配与实现
SOLID

EDGE是真正的原创Windows软件.它不是将工作站软件生硬地

搬到willdOWS, 而是充分利用了Windows基于组件对象模型(COM)的先进技术重写 代码,这就使得习惯使用Windows软件的用户倍感亲切。SOLID EDGE调动 全部Windows的功能,提高设计工程效率,缩短学习时间,减少培训费用和
对系统的管理.SOLID EDGE与Microsoft Office兼容,与Windows.OLE技

术兼容,这使得设计师们使用CAD系统时,能够进行Windows下的字处理、 电子报表、数据库、演示和电子邮件包等,也能与其它OLE兼容系统集成。
Solid

Edge的装配功能是在装配主窗口下完成的。通过相应的装配命令,

可以为每个零件定义装配关系,实现零件装配功能。Solid Edgc支持两种装 配设计方法:一是基于Solid Edge环境下人机交互装配,二是通过程序控制 数字化装配而实际生产中,两种装配设计方法可能是并存的。 6.1装配操作的基本概念 SOLID EDGE的装配采用树状的管理方式.一个装配件内可以包念多个 子装配件和零件,层次清楚并易于管理。从装配的方式来说,它同时支持自 顶向下的和自底向上的装配技术。用户可以使用邻近零件的几何图形,以确 保装配的准确性,保证了新零件的造型可以在装配部件内进行。SOLID EDGE 包含一个独特的爆炸环境,可以在保留装配结构和零件关系的同时,使系统 按预先设定的方向自动爆炸装配件;同时也可以由用户手动操作,按照自定
义的方式设定各种装配方向和距离。SOLID EDGE在处理大规模装配时独具

匠心,采用了一系列技术: 1)LightWcightPart技术 这项技术优化了软件的内存管理,使得Windows有限的资源得到了合理利 用,从根本上避免了一些基于Windows的CAD软件在处理大装配时速度和 性能急剧下降的现象.这项技术使SOLID EDGE装配件的文件容量缩小,使 大规模装配件调入系统的时间明显快于同类软件。
67

新疆大学硕士研究生学位论文

2)并行设计技术
SOLID

EDGE向工程师提供了广为接受的、切合实际的装配设计方法,正

如传统的图样设计,二维装配设计草图可以在一个项目的初始阶段使用,在 三维空间内,这些设计提供了自顶向下的框架,以指导和加速零件和部件的 设计。负责详细设计的设计师能直接参与零件轮廓、界面和设计包络线以及 产生零件的实体造型。SOLID EDGE支持并行装配存取,因此许多设计师们 可以在同一个装配项目中工作。这一独特性能使若干设计师在同一个装配造 型内同时进行不同零件或部件的工作,并随时了解其他设计人员的最新工作
情况。

3)特殊选择技术 为了解决大规模装配件里零件众多,难于找到特小零件的难题,sOuD EDGE提供了特殊的选择工具,专门解决抓取特小零件的方法。
Solid

Edge装配知识要素和基本操作及术语有:

1)装配关系和零件装配 利用贴合、对齐、相切、平行及点线的连接、平行,凸轮连接和坐标系 匹配等装配关系组合,可方便地解决各种实际的装配情况。装配零件的过程。 实际就是定义零件与零件之问几何关系来定位实际零部件的空间位置。 Drag&Drop的装配方法,能方便地进行产品的装配,智能装配条件能根据选择 的目标自动判定适用的装配关系,简化了步骤,提高了装配效率。 2)装配管理器 装配管理器集中了用于装配的多种工具,包括装配树、零件库、装配族、 监测器、层、工程设计参考(Engineering Reference)和搜索工具。装配树 工具可以查看装配结构、编辑零件装配关系。零件库类似于Windows的资源 管理器,可以浏览及装配零件。装配族能实现多种装配方案,通过零件替换 或变量控制就能在一个装配文件中动态反映不同零件的装配结果。监测器是 实现精确设计的好帮手,能对给定的设计准则提供实时监测。搜索工具能迅 速地查找并显示装配中的零件。层控制能对设计布局草图进行显示控制,工 程设计参考能方便地生成常用工程零件如:齿轮、凸轮、轴等。与相应的浮
68

新疆大学硬士研究生学位论文

动菜单相结合,使用装配管理器可以完成所有的装配工作。
3)

二维/三维混合设计
Solid

Edge允许设计师使用二维装配布局生成三维零件模型。其独特的

“Zero

D”和“Hybrid”设计思想,允许设计师先定义产品结构,再具体设

计出产品模型。Solid Edge提供特有的二维/三维混合设计方法,先在装配环

境中创建布局(如同零件中的布局),再按常规设计流程(自顶向下、由底往 上)生成三维模型。用户能够以“Zero D”方法开始设计。建立局部或者完 整的装配件结构,而并不需要创建真实的文件。整个过程中已有的二维或三 维设计都可以有效利用,或完全来自新的设计,以创建出虚拟的二维零件和 子装配件结构。当设计概念已经成熟后,就可以实际设计了.一个简单的“发 布(Publish)”命令将虚拟装配件布局和几何信息传递到对应的零件j部件 中去,生成实际的零件和子装配件文件,各设计单元就可以按照总体设计思 想详细地、同步设计三维产品. 在装配环境中建立虚拟的产品结构,在适当的时候再移到三维环境进行 设计,这是一种有效的工作流程,帮助公司快速应对新的目标和客户的需要。
4)

装配简化

为提升Solid Edge的大装配能力,Solid Edge现采用过去高端产品才具 备的大装配功能,对部件和总装进行轻量化表达,使得系统的大装配能力有 几何级数的提高。系统采用自动推算的方法计算出装配的内外表达面,加上 智能小零件过滤及手动干预等手段,将装配中的不重要或设计者不关心的零 件或部件从视觉上去除已达到大幅度减轻系统要求的功效如:几何图形操作、 装配打开的时间、二维绘图的投影时间都会大幅度降低,同时系统可利用装 配简化和设计模式的转换,回到原始设计状态;这样,不同的目的采用不同 的方法,已达到最优的效果。有如此优秀的装配管理系统,Solid Edge可以 轻松完成超过500,000个零件的大型装配设计. 5)装配族
装配件族的创建是通过一个高效的表格驱动用户界面完成,它允许设计

者从可替换系列件中寻找需要的组合,已达到简化设计或系列化设计的要求。


新疆大学硕士研究生学位论文

装配件族的成员和变量的组合可预先配置或使用过程中动态配置形成不同的 子装配组合,而每一个可能的装配组合都可以有一个对应的属性描述,这样 才能保证PDM系统对设计系统的要求. 使用装配族工具,可以在同一个装配文件中保存一系列相似的装配体, 为设计和评估各种装配方案提供了方便。使用Solid Edge的装配件族,设计
者能够自由调控、动态设置装配选项。

6)可调整装配 采用可调整装配技术,能使某个特定组件,在不同的装配条件下,以不 同的状态装入上一层装配体,它通过装配欠约束条件定义零件或部件可能存 在的自由度,在利用其进行装配时,自动利用其装配条件,匹配相应的装配 位置,这样才能真实反映实际的设计过程,并为管理BOM精准和简化设计工 作提供保障或便利。 7)镜像装配
Solid

Edge为左,右件的设计问题,提供了最完美的解决。用户可选择

旋转或拷贝操作,系统快速地产生一个或多个零件或部件的镜像,并保持相 关性。而且用户可以通过表格单的形式动态来编辑镜像的装配结构。 8)零件快速定位 在大型装配体中,若零件嵌套太深,定位或寻找它在装配体中的位置可 通过零件定位命令轻松实现。只要在装配窗口中选择零件,然后右击鼠标, 执行浮动菜单上的零件定位命令,特征树就会自动展开至选中的零件,它在 装配体中的位置和相应的装配关系也就一目了然了。你也可以通过使用子装 配中的相同零件、装配件中的相同零件来快速定位相同零件。
9)装配结构管理

为便于管理大型装配体,可以使用零部件转移、零件归并、部件拆分和 重新排序等装配整理工具。零部件转移能将零部件由一个装配体转移至另一 个装配体而保持其装配关系。零件归并能够将选定的一组零件下浮一级,归 并为一个新的子装配体。部件拆分能将子装配体拆散,并使其组成零件上浮 一级。重新排序能在同一级装配结构中对具有固定装配关系或自由零件重新
7n

新疆大学硕士研究生学位论文

编排装配顺序.
10)

装配剖视/动态剪裁

装配剖视图/动态剪裁是用一个假想的剖切面将整个装配体剖开后得到 的一种图形。在装配剖视图向导的指引下指定剖切面位置、剖切方向和剖切 范围后,装配体的三维剖视图就生成了。动态剪裁能获取装配的动态剖面状 态,装配剖视图/动态剪裁都是表明装配结构的一种好方法。
11)

装配监测 在装配过程中,可以设置装配距离传感器、变量传感器或自定义传感器,

用以监测零件之间的相对距离、装配变量或某特殊变量。不管系统如何修改, 这些传感器都能实时提供反馈,帮助用户建立正确的装配体. 12)干涉分析与测量工具 干涉分析是验证装配体工作时是否发生碰撞的理想工具。通过指定两个 检查对象,并指定提供反馈的形式,系统就能自动分析判断零件是否干涉, 并给出相应的反馈信息.若发生干涉,还可以使用系统提供的各种距离、角 度等测量工作找出干涉原因。Solid Edge还可以找出检查对象间的最小距离.
运用碰撞分析工具,Solid Edge还能帮助用户模拟机构的真实运动状态,

判断机构是否会出现自锁。
6.2基于Sol
id

Edge环境下人机交互装配
Solid

Edge在装配环境中可以设计新的零

件,利用相邻零件的几何形状保证精确的配合和
功能.Solid Edge同时支持自上而下和自下而上

的设计技术,提供最新的版本管理和配置工具, 这简化了用非激活零件和装配选择工具进行大装 配的过程.多个设计者可以同时对相同的装配进 行工作,彼此之间直接访问当前的设计。

图6.1电器开关柜样品
Soled

Edge自身拥有较强的装配功能,通过对相应的对设计人员进行短
7l

新疆大学硕士研究生学位论文

期的培训就能掌握其操作,设计人员便拥有更大的灵活性和自由度,更能发 挥设计人员的创新能力。图6.1便是通过人机交互装配和工业设计做成样品。

6.3通过程序控制数字化装配 在装配文档(AssemblyDocument)00,一个装配体就是一个零部件的集合 (Occurrences)。向装配图中加入零件分为两步:第一步,利用零部件集合 提供的AddByFilename方法添加一个零部件(Occurrence)。语句“Set objOccurrence=objAssmDoc.Occurrences.AddByFilename(”D:、chead.par”1,,就 是表示向Occurrences装配体中加入D盘下的零件chead。第二步,删除加入 装配体的零件的三维关系,并设置其新的三维关系。可以通过两个集合访问 装配关系对象:AssemblyDocument对象中的Relations3d集合和每个零件对象 的Relations3d集合。图5就是通过虚拟装配电器柜指导并完成现实柜体的一 个实例.可以进行干涉判断,判断安装元件位置之间是否符合国家电器柜电器 元件安装的相关标准。电器工程师通过虚拟电器柜的指导可直接完成现实柜 体的研发,修正,生产,装配,分析,大大缩短研发周期,提高效益。

图6.2虚拟柜与现实柜的对比 综合,人工装配拥有较多的灵活性,自由性,但是却费时费力,同时对 设计人员的技术素质要求较高。而通过程序来自动装配时,效率高,省时省 力,提高效率,降低成本。是理想的状态也是本系统最终实现的目标。但是
72

新疆大学硬士研究生学位论文

通过程序装配,首先需要大量的编程,对开发人员的消耗相当严重,延缓了 软件的开发周期,更重要的一点通过程序自动装配的可改变性较差,技术要 求较高。

新疆大学硕士研究生学位论文

第七章结论与展望
本文提出了电器开关柜三维零部件自定义库的设计方案并开发实现,论 述了三维实体造型技术的基本理论及参数化特征造型的基本方法和对电器开 关柜柜型和相应低压电器的分类归纳:研究了Solid Edge二次开发方法,获 取了Solid Edge二次开发的完整实施进程;最后给出应用实例一电器开关柜 三维零部件自定义库接口设计与实现。该系统使用只需要初级的Solid
Edge

操作知识,适合电器开关柜产品的开发和已有产品的快速修改设计,在加快 电器开关柜产品的设计速度、节省设计时间方面将会取得很大的成效.本课 题在论文阶段实现如下预期目标;
’‘

1.获得实现本系统的Solid Edgc的二次开发方法及实现途径。主要包括 用户界面设计、用户应用程序设计及接口研究,具体内容如下: 1)实现基于VB6.0开发平台与Solid Edge应用程序接口; 2)实现基于VB6.0开发平台与Access数据库应用程序接口; 3)实现VB6.0调用Windows标准公共对话框应用; 4)实现电器开关柜的VB6.0程序三维参数化驱动造型。

2.建立和开发专用CAD软件一电器开关柜CAD系统,实现电器开关柜
产品的快速造型,提高了电器开关柜的设计质量与速度。系统界面简洁直观、 操作方便、具有良好的人机交互及可扩充性和移植性。
Solid

Edge是大型CAD/CAE/CAM一体化集成软件平台,作者在CAD方

面作了大量工作,在CAE方面仅仅作了初步研究,由于时间和水平的局限, 还存在许多不足之处。在今后的工作中,可在该系统的前端加入与二维 CAD(如Auto CAD等)的接口,这样可以把电器开关柜的电气设计与机械结构 设计结合起来,使该系统更加符合客户的需求。在系统的后端,也就是在快 速建模的基础上,进一步实现智能装配、常用标准图库的完善、工程图的标
注、典型零件智能设计等用户功能集成,并在图档管理及PDM方面进行用户

化. 本电器开关柜设计软件的设计,针对最终用户,它具有如下特点:
74

新疆大学硕:匕研究生学位论文

1)内容较全面,使用方便,简单易学。 ∞采用先进的资源管理器方式管理文件,不在受地址的影响. 3)淡化接口,提高程序执行效率。由于采用了资源管理器的方式,打 开文件的任务交由Windows操作系统来完成,效率当然最高。 4)零部件参数化:把零部件做成参数化驱动的三维模型,用它来作为 种子文件,可以快速生成新的实体,占用存储空间小。 5)数据库基本上覆盖了低压电器的绝大部分电器,还有一整套L-GGD 系统电器柜。数据库基本上初具规模。 6)大量控件基本上都是采用数组的方式来管理,这样更好的节省内存, 提高程序执行效率。 今后可在此基础上进一步开展如下研究工作: 1.在本系统的前端添加与二维CAD软件(如Auto

CAD等)的接口

本系统主要针对的是电器开关柜的总体结构进行设计的,没有考虑电气

方面的设计。如果在系统前端加入与二维CAD软件的接口,这样可以把电器
开关柜的电气设计与机械结构设计结合起来,使该系统更加符合客户的需求。 2.继续添加常用标准件及通用件的参数化库。 出于工作量是问题,本系统中只完成了GGD系列固定式开关柜的零部件 库、部分电器开关柜附件库、部分电气元件库和部分通用机械零部件库的建 立。这样是远远不能满足企业的需求的。本系统的架构已经搭建完毕,需要 后续的大量零部件库的填充,使本系统更加完善。 3.加强三维图形与二维工程图之间的转换。 目前三维图形还需转化为二维工程图作为加工依据,在本系统中已经可 以实现二维工程图尺寸与三维图形的参数相关联,自动生成标题栏等功能。 还需要在后续的工作中完成粗糙度符号、形位公差符号、焊接符号的自动生
成工作,使得到的二维工程图更加符合企业加工的实际需求。

4.针对设计对象建立设计过程程序。 建立电器开关柜部件自动装配程序,提供装配及干涉分析报告。某些典 型零件的设计有着一套较为规范的步骤,但每一步又涉及到许多复杂的计算
75

新疆大学硕士研究生学位论文

及相关设计资料的查询,建立一套CAD程序,大大提高设计速度,或引进人 工智能及优化设计技术,提高设计质量。

新疆大学硕上研究生学位论文





经过二年多的资料准备、调研和相关知识的学习,尤其是最近一年多的 努力,本入的毕业设计(课题项目)和学位论文终于完成。本人的毕业设计 和学位论文是在我的导师孙文磊教授的精心指导下,依托新疆科力先进制造 技术有限责任公司的软件和新疆奎屯电气开关有限公司的电气开关产品数据 的基础上完成的。


我衷心的感谢导师孙文磊教授在论文完成过程中所给予的悉心指导、热 情关怀和孜孜不倦的帮助.渊博的知识和严谨的学风永远值得我学习。从论 文的初稿的形成到最后的收尾工作中,都给了我很多有用的、重要的指导和 建议。同时,在三年的学习生活中,也给予了我很多的关心和帮助。 我要真诚的感谢新疆科力公司的李力总经理、张科总工程师、孙利峰(硕 士)、鞠俭工程师、冯新虎工程师以及公司其他的员工,在我近两年的兼职期 间为我提供的许多专业上的帮助和指导,参与或独立完成了公司的多个项目, 使我的专业水平和计算机水平大大提高。感谢新疆奎屯电气开关有限公司的 生志远总工程师,王芳工程师,周元安工程师,在我调研期间给我提供了许 多方便和有用的电器开关柜方面的知识。我还要真诚的感谢新疆乌鲁木齐金 水杰科技有限责任公司的蒲晓东工程师,裴朝斌工程师,在项目开发和编程 中给予我的指导和帮助,这在我编程的过程中起到了十分关键的作用.以及
“Solid

Edgc二次开发”群联盟中众多不知名的网友通过网络给予我的无私帮

助!

在此我还要真诚感谢我的老师周建平(博士)老师,袁逸平(博士)老 师,黄艳华(博士)老师及闻霞、任建国、王为、李国伟、黄艳、陶彦辉等 同学,在我三年的学习和生活中给予我的关心帮助和指导. 最后要感谢我的父母,我取得今天的成绩离不开他们的关心和支持,希 望论文的顺利完成能够使他们感到欣慰.
作 者

2007年05月30日
77

新疆大学硕士研究生学位论文

参考文献
[1】
【2】

张秉森等.计算机辅助教程清华大学出版社.2005
(美)Chris H.Pappas著冯博琴等译.、rB进阶—用Windows API编程.西安交通 大学出版社.2001.04

[3】李启炎等.Solid Edge二次开发高级指南.上海:同济大学出版社,2000. [4】彭颖红.Solid Edge Visual Basic开发入门呻】.北京:科学出版社,2001.

[5】覃征等.Software Architecture[M】.西安:西安交通大学出版社,2002.12
[6】Robert C.Martin著.Agile [7】
Software Development.Prentice Hall.2002.10

王晟.Visual

Basic

6.0中文版.清华大学出版社.2004

[83
[9】

陈学东.Visual Basic 6.0程序设计教程.清华大学出版社.2005 东岳创作室.Visual
Basic

6.0应用与提高.人民邮电出版社.1995.5

[10】李兰友.Visual Basic程序设计教程.天津大学出版社.2004.8 [1l】龚沛曾等.Visual Basic程序设计教程.高等教育出版社.1998.8 [12】孙家广编著,计算机辅助设计技术基础,第二版,

清华大学出版社2000.9

[13]孙家广等编著,计算机图形学,第三版,清华大学出版社2002.1
[14】林陈雷等Visual Basic教育信息化系统开发实例导航.人民邮电出版社.2003.3 [15]赵玮.Visual Basic中文版快捷编程实战训练.人民邮电出版社.2003,9 [16]龚沛曾等.Visual Basic程序设计教程.高等教育出版社.2000.7 [17】秦相林等.Visual Basic程序设计教程.电子科技大学出版社.2004.9 [18】徐谡等.Visual Basic应用与开发案例教程.清华大学出版杜.2005.4 [19]黄明等.Visual Basic 6.0信息系统设计与开发实例(第2版).2005.1 [20]刘燕等.Visual Basic程序设计.东南大学出版社.2000.9

[21]廖明潮等.Access 2003应用技术实验}乜导与实训.2006.1 [22]郭琦.Visual Basic数据库系统开发技术.人民邮电出版社.2003.12 [23】严蔚敏,吴伟民编著,数据结构,清华大学出版社,1999.2 [24]机械设计手册,第3卷,机械工业出版社,1991.9
[25】简明机械设计手册,机械工业出版社,1997.10

[26】中国国家标准分类汇编,机械卷5,中国标准出版社.1993 [27】机械工业部.低压电器产中样本.机械工业出版社.1997.
[28】李茂林等.低压电器及配电电控设备选用手册.辽宁科学技术出版社.1998

[29]高春艳等.Visual Basic数据库开发关键技术与实例应用.人民邮电出版社。
78

新疆大学硕:t研究生学位论文 2004.5

[30]夏邦贵等.SQL Server数据库开发入门与范例解析.机械工业出版社.2004.6

[31]Alna Cooper著.The

Inmates Are Running The Asylum.Macmi 1 1an Computer

publishing U.S.A.1999

[32](美)Mark Pearce著.Comprehensive
cA 94710 DSA. 2003

vB.NET Debugging.Apress L.P.,Berkeley,

【33](美)Paul Dements等著.Documenting
Beyond.Pearson Education.Inc.2003

Software

Architectures:Views

and

[34]Carl Machover,Four
Appl ication,Nov.1994

Decads of Computer Graphics,Computer Graphics and

(35]Computer [36】Richard
Inc,1998

Aided Design Report,Follow-up

on

Parametric Technology.1990

C Leinecker&Tom Archer,Visual C++6 Bible,ID6 Books WorldWide。

[37]H-(;rabowski,S-Rude etal,New

Developments

in CAD Concepts,1992 K.,

[38】Shin,Hayong;Olling,Gustav J.:Chung,Yun C;Kim,BO H.;Cho,Su



integrated

CA盼fc堪system

for

stamping

die

pattern

machining.

Computer-Aided Design Volume:35,Issue:2,February,20(13

[39]Quinn,James Brian:Baruch,Jordan J.:Zien,Karen Anne,Software-Based
Innovation,The Journal of Product Innovation Management Volume:14,Issue: 3,May,1997

[40]Lye

SW.Tor SB.Lee

SG,Parametric

study

of

expandable

polystyrene

foamprotective,1998

新捐大学硕:l:研究生学位论文

攻读硕士学位期问所发表的论文 I、张振江孙文磊,三维电器开关柜图库建立与数字产品虚拟装配,‘现代制 造工程》,2006年第9期 2。张振江孙文磊,电器开关柜三维图库建立与数字化虚拟装配,‘机械工程 与自动化》
2006年第6期

3,孙文磊张振江,三维电器开关柜参数化设计与虚拟装配,‘机械制造》,
2006年第12期



电器开关柜三维零部件自定义库设计与实现
作者: 学位授予单位: 张振江 新疆大学

本文读者也读过(10条) 1. 沈晓玲.洪家娣.SHEN Xiao-ling.HONG Jia-di 基于Solid Edge的参数化设计建立三维冲模标准件库[期刊论文 ]-华东交通大学学报2005,22(1) 2. 施卫东.王准.刘厚林 涡旋前伸式双叶片污水泵设计与试验研究[会议论文]-2003 3. 黄罗军 虚拟视景系统中的关键技术研究[学位论文]2007 4. 李世国 基于Solid Edge的三维模型通用参数化程序设计方法[期刊论文]-机械设计与制造工程2002,31(1) 5. 顾跃东.吴晓慧 变量表在SolidEdge参数化设计中的应用[期刊论文]-南通纺织职业技术学院学报2003,3(4) 6. 闻霞 电气开关柜三维图库系统的开发研究与虚拟装配[学位论文]2007 7. 张旭.曾红.吴鹏 基于Solid Edge平台的三维模型参数化设计的实现方法[期刊论文]-辽宁工学院学报(自然科学 版)2004,24(1) 8. 吴贵军.王藏柱.国秀丽 基于Solid Edge的液力偶合器三维参数化设计[期刊论文]-起重运输机械2007(3) 9. 吴贵军 基于SolidEdge的液力偶合器三维参数化设计及运动仿真[学位论文]2006 10. 吴贵军.王藏柱.国秀丽.宋辉梅.Wu Guijun.Wang Cangzhu.Guo Xiuli.Song Huimei 基于Solid Edge参数化设 计的两种方法[期刊论文]-重型机械科技2006(3)

引用本文格式:张振江 电器开关柜三维零部件自定义库设计与实现[学位论文]硕士 2007


相关文章:
开关柜装配
开关柜装配开关柜装配隐藏>> 开关柜装配 1、总则 本作业指导书规定了低压配电产品...准确测量、调整安装位置后将其紧固,调整时不得重击零部件和电器元件。 3.2.1...
机械设计实验指导书07级用
机械设计 实验指导书 福建农林大学机电工程学院 机械工程系编 2006 年 7 月 1 日 观看《机械通用零件陈列》实验一、实验目的 机械设计陈列是根据机械设计课程...
几种低压开关柜的比较探讨
当柜内电器元件发热后,热量上升,通过上端槽孔排 出...而冷风不断地由下端槽孔补充进柜,使密封的柜体自下...开关柜内部尺寸、零部件尺寸、隔室尺寸均按照模数化...
低压开关柜基本知识介绍
前部为电器室,后部为电缆进出线室,各室间有钢板...等部件组装成完整的开关柜.开关柜内部尺寸,零部件...3.MNS 型低压开关柜的结构设计可满足各种进出线方案...
7装配设计0802
(2)从"图素"设计元素库中拖出一个长方体,圆柱...从图7-3中可以看 到,插入零件支持很多三维软件的...也可以把常用 零/组件组成自定义设计元素库,如图...
高低压开关柜介绍(带图)
在柜体上下两端均有不同数量的散热槽孔,当柜内电器...下端槽孔补充进柜,使密封的 柜体自下而上形成一个...开关柜 内部尺寸、零部件尺寸、隔室尺寸均按照模数...
开关柜
检查机械 和电器连锁 k. 设置开关柜的控制保护原件...2、一般要求维护工作与设备或零部件和老化情况有关...检测抽出单元辅助开关的安装, 按照连锁的设计要求保证...
GCS低压开关柜通用零部件明细表1TG
GCS低压开关柜通用零部件明细表1TG_机械/仪表_工程科技_专业资料。序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25...
开关柜型号及用途
电器元件发热后,热量上升,通过上端槽孔排出,而...端槽孔补充进柜,使密封的柜体自下而上形成一个自然...零部件通用性强,适用性好, 标准化程度高 2,柜体...
毕业设计 配电柜的设计
为了保证配 电柜的安全各种电器、电路的正常运行,...对机柜的总体及 零件部件制造的可行性和经济性的...配电柜及仪表柜三维立体图 2.1 7 济源职业技术...
更多相关标签:
开关柜零部件检验单 | 电器开关柜 | 四川开关柜电器公司 | 汽车零部件三维模型 | 电器零部件 | 电子电器零部件 | 饥荒自定义三维mod | 饥荒自定义三维上限 |