基于AutoCAD的箱包CAD系统设计与开发毕业论文Word文档下载推荐.docx
- 文档编号:7864367
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:37
- 大小:418.69KB
基于AutoCAD的箱包CAD系统设计与开发毕业论文Word文档下载推荐.docx
《基于AutoCAD的箱包CAD系统设计与开发毕业论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于AutoCAD的箱包CAD系统设计与开发毕业论文Word文档下载推荐.docx(37页珍藏版)》请在冰点文库上搜索。
1.2国内外研究现状
对于目前的箱包行业使用的箱包CAD软件来说,在功能上各有优点和缺点。
“Optitex”的兼容性很好,但是功能不专,比较复杂;
博凯实用性比较好。
但是由于是用数据库的,所以稳定性比较差,有些先天的缺陷;
时高、易图、慧工、市场占有率都很小,其软件问题就更多了;
台湾理星软件本意是为制鞋研发的,箱包只是它衍生出来的个模块,所以应用性也比较差了;
到目前为止还没有任何一家的软件能完全做到符合箱包生产所需要的功能的。
有些还是要靠手工制作才可以完成。
在使用范围上,国外软件比国内的要广泛很多了。
目前国内的箱包CAD软件都是局限与箱内和包袋类的。
如果应用到帐篷上都不是很好,“Optitex”侧是广泛应用于服装,家具,箱包等几乎所有布类,皮类制品的一个综合性的软件。
[2]
1.3设计的内容与方法
本课题研究的主要内容是设计与开发一个箱包CAD系统,掌握箱包的结构和设计过程,熟悉AutoCAD的二次开发环境,了解AutoCAD的二次开发语言和工具,掌握AutoCAD二次开发的方法和关键技术。
根据任务书的要求,本毕业设计的主要设计内容如下:
(1)分析箱包的结构、设计过程;
(2)研究箱包CAD系统功能框架、主要算法设计流程;
(3)开发箱包CAD常用工具;
(4)设计并开发一个基于AutoCAD的箱包CAD原型系统软件;
利用VBA对AutoCAD进行二次开发的技术基础,分析研究基于ActiveX技术和应用面向对象方法开发AutoCAD的有关问题,掌握AutoCAD二次开发的基本思路、主要步骤和具体方法。
第2章AutoCAD二次开发和VBA语言
2.1AutoCAD二次开发介绍
AutoCAD是Autodesk公司的系列产品,该软件从其使用和设计思路上都秉承了工程制图人员的绘图习惯,能够非常轻松地绘制出带有平面视图和三维渲染效果的工程图纸,是绘图人员的一个理想工具,随着CAD基础理论和应用技术的不断发展,对CAD系统的功能要求也越来越高。
因而AutoCAD不可能完全满足每个用户的具体而特定的要求。
设计人员希望它能从本质上减轻大量简单繁琐的工作量,使他们能集中精力于那些富有创造性的高层次思维活动中。
[8][9]
AutoCAD提供的开放式体系结构允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大程度地满足用户的特殊要求,更方便、更规范、更专业的实现设计和绘图中的应用。
AutoCAD二次开发,有很多不同层次的语言和库可供选择。
迄今为止,AutoCAD二代三代开发工具,如图2.1所示
图2.1开发语言的发展进程
首先是VisualLisp和AutoLisp。
Lisp是一门历史悠久的函数式编程语言,很多概念和C这种过程式语言不一样,据说他在人工智能等方面有广泛的应用。
CAD引入了这种语言,给他添加相应的函数库,就成了命令行使用的AutoLisp。
在此基础上再增加关于对话框和窗口界面的库,就是VisualLisp,简称VL。
VL在CAD中可以视为CAD命令的整合,是脚本语言,而且由CAD程序提供了编写环境。
因此上手相当容易,便于编写,调试也很方便。
第二大类是使用ActiveX和VB。
ActiveX是Microsoft提出的一组使用COM(ComponentObjectModel,部件对象模型)使得软件部件在网络环境中进行交互的技术集。
ACAD使用Acitvex把数据传送给ActiveX程序,程序处理后再传回ACAD。
这个过程有点像浏览器浏览动态网站。
AcitveX与具体的编程语言无关,因此理论上说可以用任何一种支持他的语言来编写,但通常大家选择VB语言。
VBA是VB的特殊形式,他将VB植入到应用程序中。
ACAD包含的VBA能够和CAD共享地址空间,而独立的VB则需要通过接口完成。
这种方法在编写上比Lisp复杂,调试也困难。
但速度快,功能更强劲。
但是在某些对速度要求相当高的运算和涉及CAD内部的应用上仍然会显得力不从心。
对于熟悉VB语言又不想学习Lisp奇怪语法的开发者来说,这是不错的选择。
[12]
第三大类就是ADSARX和ObjectARX。
ADS是AutoDesk从ACADR11开始提供的C编程环境。
它具有C的一切优点,又能操作CAD。
但他和ActiveX类似是通过管道通讯的。
ARX(AutoCADRuntimeeXtension)是在ADS基础上发展的面向对象的环境,使用C++语言。
最终ARX进化为ObjectARX,他完全面向对象,并且是以dll(动态链接库)的形式共享CAD的地址空间。
由于先前的ARX已被包含为子集,人们也就简称ObjectARX为ARX。
在CAD2006以前,只能使用C++语言和VC编译器来生成ObjectARX程序。
但目前已经可以使用VB.netC#C++等语言配合VisualS编译器来生成ARX程序了。
要选用何种语言进行二次开发,需要开发人员按照所开发系统的功能特性进行筛选来决定。
2.2VBA开发语言
2.2.1VBA开发的技术特点
VBA是微软开发出来的应用程序共享一种通用的自动化语言,它可以使常用的程序自动化,并可以创建自定义的解决方案。
VBA被集成到AutoCAD中,VBA和AutoCAD中强大的ACtiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。
通过VBA,我们可以操作AutoCAD软件,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。
下面就是VBA的主要功能:
(1)VBA提供强大的窗体创建功能,为应用程序建立对话框及其他屏幕界面。
(2)可以创建自己的工具条。
(3)可以创建功能强大的模块级宏指令,宏名实质上就是模块的过程名。
(4)提供建立类模块的功能,这对开发大型工程非常有用,因此类可以提供重用组。
(5)具备完善的数据访问和管理能力,通过ADO(ActiveXData0bjects),可以对Access数据库或其他外部数据库(像dBase,FOxPro等)实现访问和管理。
此功能比直接使用AutoCAD的数据库管理系统要方便,且功能强大。
[14]
2.2.2VBA开发的优势
(1)VBA能够使AutoCAD于其它应用程序直接共享数据,如MicrosoftOffice软件。
因为所有的VBA应用程序都可以方便的相互沟通,在设计过程中可以很容易得将AutoCAD与基于windows的应用程序联系起来。
(2)在VBA综合开发环境中,可以通过拖动图表的方法,简单而可视化的建立用户界面用户可以使用AutoCAD工具栏,也可以使用标准VBA界面工具创建新的工具栏。
(3)VBA的语言代码完全继承了VB的特征,可以说是世界上最简单的编程语言,但其功能不弱。
从数据计算,书库管理到Intemet软件开发,都可以见到VB的身影,并可通过各种在线帮助,随时得到名师真传。
(4)具有全开放式的对象模型。
AutoCAD软件中的ActiveX对象模型十分有用,它显示了每一个对象的方法和属性,用户可以按照自己的愿望编程或定制AutoCAD软件。
(5)良好的运行速度。
VBA是一个内嵌式的控制器,共享AutoCAD的内存空间,可以更好的与AutoCAD沟通。
其运行速度与ObjectiRX应用程序非常接近,比其它开发方式(如:
ADSRX,ADS和LISP)要提高许多。
无论编程技术水平如何,使用VBA编程都不会感到有很多困难。
自从带有VBA开发接口的AutoCADR14发行以来,已经有超过80万的开发者使用了这一软件,开发的应用程序将有更多机会为不断增长的用户群体服务。
[15]
2.2.3ActiveX技术
对AutoCAD的二次开发可以通过ActiveX技术来实现,利用ActiveX技术,通过编程,用户可以在自己的应用程序中方便地对另一应用程序进行操作。
自AutoCADR14后,AutoCAD都支持该技术,这样许多面向对象的语言和应用程序都可以通过该接口从AutoCAD内部或外部来操纵AutoCAD暴露的对象。
在AuotCAD中,几乎暴露了所有对象,也就是说,用户可以操作几乎所有的AutoCAD对象。
AutoCADVBA是受ActiveX技术支持的,从运作上看,VBA通过AutoCADActiveXAutomation接口将信息传送给AutoCAD,而AutoCADVBA也允许VBA环境与AutoCAD环境同时执行并通过ActiveXAutomation接口提供AutoCAD的程序。
如此,AutoCAD、ActiveXAutomation与VBA的结合方式,提供了功能极强大的接口,不仅可以操作AutoCAD的内部对象,更可以在其他的应用程序之间传送或接受数据。
2.2.4ActiveX对象的使用
AutoCAD暴露的这些对象是以层次式结构来组织的,其根部是应用程序对象,对象的继承阶层结构就称为“对象模型”。
VBA访问AutoCAD对象的原则是按照对象模型进行访问。
VBA提供了一个特殊的对象——Thisdrawing,它是AutoCADVBA的一个术语,代表当前打开的AutoCAD图形文件。
在创建实体对象之前,要确定实体将放于何处,并且要先引用这个对象。
创建实体采用AddEntity形式的方法,即“创建(Add)”+“实体名字(Entityname)”。
2.3ADO数据库连接及操作技术
2.3.1数据库系统概述
数据库系统是由计算机软、硬件资源组成的系统,它实现了有组织地、动态地存储大量关联数据,方便多用户访问。
通俗地讲,数据库系统可把日常的一些表格、卡片等的数据有组织地集合在一起,输入到计算机,然后通过计算机处理,再按一定要求输出结果。
所以,对于数据库来说,主要解决三个问题:
(1)有效地组织数据,即对数据进行合理设计,以便计算机存取;
(2)方便地将数据输入到计算机中;
(3)根据用户的要求将数据从计算机中抽取出来。
我们这里主要是解决第3个问题,任何将数据库中,满足要求的数据,抽取出来,进行设计。
2.3.2数据库种类
数据库在发展过程中诞生了层次型、网状型、关系型三种类型的数据库。
其中,关系型数据库具有更完美的内在机制,它建立在严密的关系代数基础之上,可以通过SQL标准查询语言实现对数据库的操作。
因此,自上一个世纪80年代来,关系型数据库成为了主流数据库而被广泛应用。
包括大型数据库,如Oracle,SQLServwe和桌面数据库,如Access,FoxPro都属于关系型数据库。
在VBA环境下,Access数据库是缺省数据库,Access所采用的Jet数据库引擎得到了最有效的利用,例如VBA的内部数据访问控件(Data)就是建立在Jet引擎基础上的。
因此,我选用Access数据库建立数据库。
Access数据库管理系统是MicrosoftOffice套件的重要组成部分。
Access不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体(表单),查询,报表和应用程序等。
2.3.3数据库系统的建立
在Access数据库系统中,信息以数据库形式为文件单位储存到介质如磁盘、光盘中。
其数据库文件扩展名为MDB。
在“程序”菜单中会出现MicrosoftAccess项,单击“开始”/“程序”/“MicrosoftAccess”。
启动后会出现一个对话框,对话框中有两个组合框,选择“Access数据库向导”,单击“确定”。
接着选择“常用”中的“数据库”,单击“确定”,接着找到合适的存储地方,单击“确定”,出现一个新页面,双击“通过输入输入数据创建表格”,最后根据需要输入字段,输入完毕后,保存。
这样一个数据库就建好了。
2.3.4AutoCADADO对象
AutoCAD的dbconnect功能可以在AutoCAD环境下配置数据库,还可以直接连接到外部数据库,纸箱数据的浏览、查询和管理。
可以通过VBA与ADO(MicrosoftActiveXDataObjects)的结合使用达到与外部数据库连接的目的。
ADO是以OLEDB为基础的面向对象的应用程序接口,核心是Connection、Command和Recordset对象。
Connection对象用于建立与数据源的连接,Command对象可以在数据源中添加、删除或才更新数据、或者在表中查询数据、Recordset对象只代表记录集、在ADO对象模型中所有对数据源的操作几乎都是Recordset对象完成的。
把从数据库中检索出的数据和AutoCAD编程对象方法中的参数进行加护,就可以在AutoCAD环境下实现基于外部数据库应用的流程图件图2.2
图2.2ADO流程图
2.3.5数据库的连接和操作
首先应该连接数据库到AutoCAD,这样就可以调用数据库指令。
(1)定义工程文件路径和对象以及记录集对象:
PublicstrPath01AsString
DimadoCon01AsConnection
DimadoRs01AsRecordset
(2)必须先获得当前的工程路径:
strPath=ThisDrawing.Application.VBE.ActiveVBProject.FileName
(3)连接数据库:
SetadoCon=NewConnection
adoCon.CursorLocation=adUseClient
adoCon.Open"
Provider=Microsoft.Jet.OLEDB.4.0;
DataSource="
&
Left(strPath,Len(strPath)-14)&
"
*.mdb;
"
(4)打开记录集:
SetadoRs=NewRecordset
adoRs01.Open"
lianzhouqi"
adoCon,adOpenDynamic,adLockOptimistic
(5)将型号添加到列表框中:
RefreshList‘为刷新列表框子程序
IfadoRs.RecordCount>
0Then
adoRs.MoveLast
adoRs.MoveFirst
ExchangeData‘为根据字段名称或索引访问控件内容
EndIf
这样数据库就已经连接上,我们可以对他进行各个事件的操作。
(1)首先是刷新列表框子程序,通过下面这个子程序,在“ListBox”控件中,将列出数据库中第“01”列的所有数据。
PrivateSubRefreshList()
ListBox.Clear
DimiAsInteger
adoRs.MoveFirst
Fori=0ToadoRs.RecordCount-1
ListBox.AddItemadoRs.Fields("
01"
)
IfNotadoRs.EOFThen
adoRs.MoveNext
Nexti
EndSub
(2)通过下面这个子程序,我们可以根据字段名称或者索引均可以访问其内容,让数据库中的各列中的数据显示到对应的“TextBox”中。
PrivateSubExchangeData()
TextBox1.Text=adoRs.Fields("
02"
TextBox2.Text=adoRs.Fields("
03"
TextBox3.Text=adoRs.Fields("
04"
TextBox4.Text=adoRs.Fields("
05"
TextBox5.Text=adoRs.Fields("
06"
TextBox6.Text=adoRs.Fields("
07"
(3)通过下面这个子程序,我们可以根据字段名称或者索引确定参数值。
PrivateSubCommandButton5_Click()
X1=TextBox1.Text
X2=TextBox2.Text
X3=ListBox3.Text
X4=ListBox3.Text
X5=TextBox5.Text
X6=ListBox6.Text
EndSub
(4)最后关闭连接和记录集:
adoRs.Close
adoCon.Close
第3章箱包CAD/CAM系统的结构
箱包CAD/CAM系统分为CAD(ComputerAidedDesign,计算机辅助设计)和CAM(ComputerAidedManufacturing,计算机辅助制造)两部分体系组成。
CAD部分称做出格系统,而出格系统的功能包括常用工具、裁片对位、背包抛围、打褶、打角、专业工具、导出物料表格。
CAM部分由排料系统和输入输出两部分组成,排料系统包括自动排刀、打印导出排刀报告、手动排刀、分床排料、分色排料,输入输出包括自动切割控制和数字化仪。
整个系统的结构如图3.1。
图3.1箱包CAD/CAM系统结构
3.1箱包CAD系统的结构
箱包的CAD出格系统具有很多为箱包特别设计的工具栏,解决了普通CAD软件无法完成的很多功能,出格系统包含箱包、手袋的款式设计到实样的生产跟管理。
出格系统能是出格师傅从繁琐的手工操作中解放出来,大大提高了生产效率,缩短了生产周期,降低了生产成本。
为箱包、手袋行业的产业升级带来了革命性的突破。
出格系统能使箱包、手袋行业真正实现了从手工操作向自动化过度的课程。
3.1.1常用工具栏
箱包CAD的出格系统包含了很多的传统的工具栏,这是我们设计箱包必须需要的一些工具栏,比如传统中的直线、矩形、曲线等传统工具栏。
这些工具在AutoCAD二次开发基础上使用人机交互界面创建,区别于AutoCAD原始工具。
我们常用的一些工具操作非常简单,比如梯形上底,下底,高输入正确的数值即可完成;
直线中点会自动捕捉;
拉链窗操作更加快捷,有好几种叉刀的选择;
加逢边工具,可向内或者向外加;
对于车逢边不同系统提供了修改缝边工具;
牙位工具,不同的位置系统会自动判断;
输入文字,自由输入,可以把常用的文字存储在系统中,下次直接调用,不需要人工书写,清晰明了。
3.1.2专业工具栏
裁片对位工具非常的专业,两纸格之间的车缝,埋袋;
系统自动在对应的纸格上找到相应的牙位及长度;
更快,更准确。
(手工操作用锥子慢慢的对版)打角智能的双线工具,方便做两线的等长;
里布的打角,过一点做两边等长的垂线更加人性。
打褶强大的打褶功能,特别是时款袋经常会打些褶。
多褶,单褶,工字褶系统很方便的就可以做出来,而且我们时时可以预览到打褶的形状。
背包抛围侧片展开——功能非常独特。
因为背包的前后片还比较好操作,但是围片的操作是一件很麻烦又耗时的工作,系统把烦锁的抛围对版工作用科学的方法计算出来。
我们只需要用侧片展开工具,直线走两点,曲线走三点即可完成。
曲线编辑一个袋版是否美观,对弧线的要求很严格。
系统提供了对曲线强大的编辑功能,可以完成任何形状的曲线操作,自由加减点。
这边做好之后,另外一边复制对称过去,还可以对称修改。
自由曲线,要什么形状都可以,形状不变改变线长,固定两端改变线长,线长不变改变形状这些功能完全可以达到复杂而灵活的出格工作。
快捷工具对于一些狗牙,裁片分解;
系统单独提供了线上阵列,裁片提取工具,转眼之间就可以完成。
这些实用的工具,都会让我们感受到在使用计算机出格的时候事半功倍。
导出表格方便的资料交互:
生存裁片之后,系统很方便的将做好的纸格导出EXCEL表格中,瞬间完成每个纸格的用码量计算;
自动计算出纸格的周长、面积等数据,方便后道工序的算料报价。
数字化仪对于外来纸格或者需要描版:
系统提供对数字化仪输入的完美线型,独创一手输入,只需掌握几个数字就可以完成纸格的录入工作;
直线,曲线,牙位一次完成;
当然更提供了修改版型随意操作。
切割机一套纸格做好之后,输出到切割机只要一个键即可完成;
用电脑平板切割机直接切割出纸格,替代了传统的介刀,减轻出格师傅的劳动强度。
通过这些特定的工具栏我们可以很好的做出符合设计跟工艺要求的是箱包模型,这些工具是CAD出格系统的重要组成部分,因为箱包设计有很多工艺设计需求,而出格系统囊括了这些专业的工具栏。
这些工具栏是独一无二的,能够很好的针对这个箱包模型设计。
3.2箱包CAM系统的结构
箱包CAM系统由排刀跟排料系统组成。
排刀系统能够让出格后的裁片在规定的范围内进行合理的排放,排刀的系统能够对按设定好的方案系统会运算并显示出排刀的样式。
排料有称排版,是指将此箱包的裁片样板在规定的面料幅宽内合理排放的过程。
排料是进行辅料和剪裁的前提。
箱包的CAM系统最本质的特性就是其灵活性。
它能够从款式库中调出箱包款式,对其进行板型设计后,再根据箱包号型表进行放码,接着在几分钟内即可完成排料过程。
自动排刀根据出格师傅的裁片自动计算物料、多种排刀方案可供选择,打印导出排刀完成后,我们可以把排刀报告打印出来,做个开料的指导图,而且这张图纸会跟着生产单一起走到开料那里。
详细的一些数据同样可以导出EXCEL表格中——排料统计表,每一个裁片的单位用量,用码量,一目了然。
手动排刀手动组合方案,人机交互式的,排料师傅根据经验手动调整;
系统提供裁片各个方向的移动、翻转、复制等工具,很快完成排刀工作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AutoCAD 箱包 CAD 系统 设计 开发 毕业论文