毕业论文AutoCAD设计与绘图应用软件开发36836.doc

上传人:laozhun 文档编号:2884038 上传时间:2023-03-01 格式:DOC 页数:54 大小:1.44MB
返回 下载 相关 举报
毕业论文AutoCAD设计与绘图应用软件开发36836.doc_第1页
第1页 / 共54页
毕业论文AutoCAD设计与绘图应用软件开发36836.doc_第2页
第2页 / 共54页
毕业论文AutoCAD设计与绘图应用软件开发36836.doc_第3页
第3页 / 共54页
毕业论文AutoCAD设计与绘图应用软件开发36836.doc_第4页
第4页 / 共54页
毕业论文AutoCAD设计与绘图应用软件开发36836.doc_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《毕业论文AutoCAD设计与绘图应用软件开发36836.doc》由会员分享,可在线阅读,更多相关《毕业论文AutoCAD设计与绘图应用软件开发36836.doc(54页珍藏版)》请在三一办公上搜索。

1、目 录第一章 绪论11.1课题背景11.2 AutoCAD文档保护现状3第二章 CAD技术及二次开发工具52.1 CAD技术发展概况52.2 CAD系统组成62.2.1 CAD硬件系统62.2.2 CAD软件系统62.3 开发工具概述72.3.1第一代开发工具82.3.2第二代开发工具82.3.3第三代开发工具92.4 各种工具的比较与选择12第三章 电子印章插件的设计及分析133.1设计要求133.1.1功能需求:133.1.2相关法律法规:143.2系统设计方案153.2.1电子印章的生成:153.2.2系统方案分析:16第四章 电子印章插件的实现174.1 印章的制作方法174.2 印章

2、子模块的实现184.2.1 日期模块的实现184.2.2 五角星模块的实现184.2.3 印章轮廓的实现234.3 印章插件的实现25第五章 程序在AutoCAD菜单中的嵌入375.1编辑程序375.2加载程序385.2.1命令行方式385.2.2对话框方式395.2.3自动加载415.3运行AutoLISP程序425.4添加自定的按钮和菜单44结 论46致 谢47参考文献48第一章 绪论1.1课题背景通信技术特别是互联网技术的飞速发展为人们共享信息提供了便利,但是也为企业重要文档在管理上提出了挑战。近些年来,企业重要文档资料泄漏已经从外部攻击转向内部泄密。如何有效防止内部人员泄密已经成为企业

3、管理层迫切需要解决的问题。现有的防火墙或专用网技术已经可以解决外部人员非法访问的问题,但是无法解决内部人员通过各种方式将电子文档进行二次传播。内部人员窃取企业的机密信息往往比外部攻击的危害更大。内部人员非常容易接触敏感信息,并且他们所窃取信息都具有很强的针对性,往往是企业最核心的机密或数据。同时,内部人员对企业内部的管理机制、运营方法都非常熟悉,他们窃取内部机密就很难被察觉。当前许多企业在各地都建立了工厂及研发机构,同一项目的研发需要几十甚至上百名员工协作完成。由于工作需要,涉及企业机密信息的环节和人员都非常众多,给企业的知识产权保护带来管理上的困难。在以往的商业机密案例中,对知识产权被侵害的

4、取证和赔偿方面的鉴定技术要求都非常高。我国现有知识产权保护法律尚有很多需要完善的地方。在现有技术条件和法律环境下,企业只用通过对自有知识产权进行严密保护、加强防范意识、制定切实可行的规章制度才是很好的选择。企业制定一系列规章制度对各种内部信息的流转加以规范的同时,还应该通过保密工作加强管理。企业在日常运营过程中,为员工提供了很多信息传输方式。这些传输方式方便了员工之间的交流,但是也为内部信息的窃取提供了可能。主要的泄密途径可以是网络(如电子邮件、即时通讯软件等),也可能是其他外部设备(U盘、移动硬盘、刻录机等)。采取断开网络,甚至禁用各种外部设备的方法虽然能够在一定程度上防止信息的泄漏,但是会

5、严重影响企业正常运转。不能因为安全原因导致工作效率的急剧下降和企业资源的浪费。这就使得许多企业因此面临一个难题即要保证正常的信息交流不受影响,又要最大限度地保障内部信息的安全。企业迫切需要一种切实有效的技术手段能够从根本上防止泄密事件的发生。由于大量的盗窃机密信息的手段往往是最简单的复制和粘贴,而企业网络中的防火墙、入侵检测等手段对这种看似简单的操作却无从下手,甚至起不到应有的防范作用。因此,必须从设计图纸等电子文档本身出发来进行安全防范,才能真正做到防止涉密事件的发生。电子图纸,特别是CAD电子图纸可以说是计算机和工程制图的完美结合。CAD软件是在软件行业里的一场革命,它将工程制图带入了个人

6、计算机时代。在过去的十几年,全世界数以千万计的建筑工程设计师和产品制造工程师利用CAD的数字化设计技术,甩掉了笨重的图板、铅笔和角尺这些束缚人类创造力奔涌的传统设计工具,用数字化方式与无数的施工现场和车间交互各种各样的工程建筑与产品制造信息,使得在数字化工程设计上的设计效率普遍提高。CAD软件也为中国的改革开放和社会主义现代化建设创造了丰功伟绩1。电子图纸作为电子文档的一个重要组成部分,在文档信息安全中起着举足轻重的地位。因为电子图纸中所携带的信息往往是企业的具体工作内容,可以说电子图纸的地位要比其他电子文档(如Word文档等)要高得多。比如一张建筑工程图纸的价值可能就是几千万,一旦保护不当造

7、成泄密就会直接导致企业几千万的直接经济损失。更为重要的是,我国军方保存着海量的CAD电子图纸,这些电子图纸迫切需要进行安全保护。因此,对电子图纸的信息安全保护势在必行,不但具有极其广阔的市场前景,而且有着极其重要的军事意义。工程制图方面,AutoCAD软件的广泛应用引起了设计单位工作方式的巨大变革。AutoCAD是由美国Autodesk公司于二十世纪八十年代初为微机上应用CAD技术而开发的绘图程序软件包,经过不断的完美,现已经成为国际上广为流行的绘图工具。AutoCAD可以绘制任意二维和三维图形,并且同传统的手工绘图相比,用AutoCAD绘图速度更快、精度更高、而且便于个性,它已经在航空航天、

8、造船、建筑、机械、电子、化工、美工、轻纺等很多领域得到了广泛应用,并取得了丰硕的成果和巨大的经济效益。计算机辅助制图由于其制图快、清晰、准确,便于修改、传阅,容易保存等显而易见的优点必将源远流长。先进的计算机制图技术在提高工作效率的同时,也引发了一系列新的安全问题。这些安全问题已经成为技术进步和应用的巨大阻碍。在现代化工作方式中,电子图纸往往需要多个部门、多个设计人员合作。电子图纸可以通过网络提交和审批,可以方便地被不同设计人员根据自己的需要进行修改。在图纸被传输、审批和修改的过程中,如何保证图纸信息的完整性,以及如何确认设计者身份的真实性,如何保证设计者对而且只对自己作出的修改部分负责,这些

9、安全问题为新的工作方式的普遍应用带来了新的挑战。在传统的制图过程中,现有的安全机制已经经受了时间的考验。例如:将图纸委托给信任的伙伴或亲自提交就可以保证作品不会被恶意篡改,手写签名或加盖公章也可以很好的验证设计者的身份。这些传统的方法虽然有效,但是工作效率低下,主要依赖于人与人之间的信任关系,而这种信任关系往往是不稳定的。因此,在计算机制图时代,在充分发挥计算机制图技术所带来的诸多优势的基础上,电子图纸技术的进步和应用迫切需要一个合适的安全解决方案来保证设计人员与部门之间的信任关系。1.2 AutoCAD文档保护现状AutoCAD是当今流行的二维绘图软件,拥有广泛的人群。AutoCAD电子图纸

10、的安全问题也已经引起了人们的注意。但是与Word、PDF等格式的文档保护相比,国内外对于AutoCAD电子图纸的保护的研究和应用还处于初级阶段,相关的安全产品也并未得到广泛应用。现如今文档保护方法基本上都是版式化文档保护。它是指以文档版面描述语言为关键,包括文档生成、转换、显示和打印等步骤的文档技术。版式文档大多数情况下都不包含文档的结构化信息,如段落,小节等,但却能够明白的解释文档中的文字、图片和表格等元素,这样做就能够把各种不同格式的文档转换成统一的格式进行处理。现有的文档保护产品,就是利用了版式文档的这种优势,将各类格式的文档一律转换成类似PDF的版式文档,然后对版式文档进行保护。Aut

11、oCAD电子图纸以成版式文档保存后,不能直接转换回原来的DWG(或者DXF)格式。这就使得用户对文档的利用带来了困惑。我们希望安全产品在对文档进行保护的同时不影响用户对文档的合理使用。AutoCAD电子图纸的保护远远的落后于AutoCAD软件的应用。造成这种现状的原因主要有两点:1:各类工程图纸的格式的差异,现在仍然没有一个统一的格式来对所有工程图纸格式进行相互转换,即使同一种工程图纸软件(如AutoCAD)也会经常更新版本。2:图形的保护难度非常大。矢量图是用数学方式存储图形信息,它只存储了图形的结构信息,而忽略其它空白部分。矢量图文件格式比位图更加紧凑,在里面中嵌入版权信息的难度非常大。而

12、且,由于Autodesk公司一直不公布DWG图纸格式,外部人员很难解析出文件的具体存储格式,这使得被保护的图纸内容受到限制。电子文档保护这一新兴研究领域越来越受到企业和政府的重视,目前国内外很多企业涉足电子文档保护领域。根据目前国内外电子文档保护所采用的技术,主要有以下几类方法。电子文档保护已经吸引了众多软件和系统开发商的积极参与。作为电子文档的一种重要组成部分,CAD电子图纸的文档安全问题也受到整个行业的广泛重视。Autodesk公司的AutoCAD是CAD软件中市场份额最高的主流CAD软件,在中国有着数以百万计的正版和盗版用户群。但是,与Word、PDF等各式的文档保护相比,国内外对于Au

13、toCAD的文档保护还处于起步阶段。市场上还没有只针对AutoCAD等主流CAD软件进行安全保护的软件问世。这是由几个原因决定的。一是AutoCAD的文档格式难于解析。AutoCAD所在的Autodesk公司将AutoCAD自带的文件格式视为同可口可乐公司配方一样的绝对商业机密,外部人员破解Autodesk公司AutoCAD默认文档格式DWG文件的可能性极小,难度也相当大。文件格式无法解析,加密的强度就大大减小,甚至只能对整个文件进行加密,而不能对顶点、线段、圆等这样的元素进行加密。二是各类CAD软件的文档格式不统一,现在仍然没有一个统一的格式所有CAD软件格式进行相互转换,这就使得从事信息安

14、全的公司不考虑针对某一个CAD软件进行文档保护的成本问题。三是主流的CAD软件的更新换代速度太快。以Autodesk公司的AutoCAD为例,AutoCAD的更新速度基本上是每年推出一个新版本,而且几乎每三年推出一个全新的Release版本。新的Release版本对上一个版本都进行了大幅改动。这使得很多从事信息安全的公司不能只针对某一个版本进行开发。而且软件升级换代的速度也无法跟上AutoCAD的更新速度。四是矢量图的文档保护难度非常大。矢量图的基本组成部分是顶点、线、圆等元素。在矢量图中嵌入数字水印等版权信息的难度非常大。在矢量图中嵌入矢量印章的难度也非常大。五是现有的一些文档保护软件将各类

15、软件格式一律转换成类似于PDF格式的版式文档,然后对版式文档进行文档保护。虽然国内外对版式文档的安全保护研究已经取得一定突破,但是从版式文档恢复成矢量图的难度非常大3,在版式文档上对各个矢量元素进行编辑的难度也非常巨大。根据以上研究现状,可以得出如下结论:电子图纸文档保护市场需求量巨大,而且前景非常广阔,世界上数以千万计的CAD软件用户是这个市场的直接需求者。而且,一些主流的CAD软件公司(如Autodesk公司)近年来加强了对盗版软件的打击力度,这一行动的直接结果就是国产廉价的CAD软件近年来销售水平持续攀升。所以,如果对电子图纸文档进行保护,最好能够找到各类CAD软件支持的文档格式,而破解

16、CAD软件默认格式不应该是一个行使有效的方法。同时,对电子图纸文档的保护应针对文件而不应针对版本,最好能够分解出矢量图中的各个元素。在文档保护方法上应采用透明文件加解密的方法对文件进行强制加解密。第二章 CAD技术及二次开发工具2.1 CAD技术发展概况计算机辅助设计(CAD,Computer Aided Design)是利用计算机作为工具帮助工程师进行设计的一切实用技术的总和。它是电子信息技术的一个重要组成部分是促进科研成果开发和转化、实现设计自动化、加快国民经济发展和国防现代化的一项关键新技术;是提高产品和工程设计水平、降低消耗、缩短科研和新产品开发周期、大幅度提高劳动生产率的重要手段;是

17、科研单位提高自主研究与开发能力,企业提高创新能力和管理水平,参与国际竞争的重要条件也是进一步向计算机辅助制造(Computer Aided Manufacturing,简称CAM)、计算机集成制造系统(Computer Integrated Manufacfaring System,简称CIMS)发展的重要基础。CAD技术开发与应用水平己成为衡量一个国家科技现代化的和工业现代化程度的重要标志之一。计算机辅助设计的内容有好多,例如:优化设计、概念设计、有限元分析、计算机仿真、计算机辅助绘图、计算机辅助设计过程管理等。在工程设计中,一般包括两种内容:带有创造性的设计(方案的构思、工作原理的拟定等)

18、和非创造性的工作,如绘图、设计计算等。创造性的设计需要发挥人的创造性思维能力,创造出以前不存在的设计方案,这项工作一般应由人来完成。非创造性的工作是一些繁琐重复性的计算分析和信息检索,完全可以借助计算机来完成。一个好的计算机辅助设计系统既能充分发挥人的创造性作用,又能充分利用计算机的高速分析计算能力,即要找到人和计算机的最佳结合点。计算机辅助设计作为一门学科始于60年代初,一直到70年代,由于受到计算机技术的限制,CAD技术的发展很缓慢,进入80年代以来,计算机技术突飞猛进,特别是微机和工作站的发展和普及,再加上功能强大的外围设备,如大型图形显示器、绘图仪、激光打印机的问世,极大地推动了CAD

19、技术的发展,CAD技术己进入实用化阶段,广泛服务于机械、电子、宇航、建筑、纺织等产品的总体设计、造型设计、结构设计、工艺过程设计等环节。早期的CAD技术只能进行一些分析、计算和文件编写工作,后来发展到计算机辅助绘图和设计结果模拟,目前的CAD技术正朝着人工智能和知识工程方向发展,即所谓的ICAD(IntelligentCAD)。另外,设计和制造一体化技术即CAD/CAM技术以及CAD作为一个主要单元技术的CIMS技术都是CAD技术发展的重要方向。2.2 CAD系统组成2.2.1 CAD硬件系统硬件是CAD系统的物质基础。硬件又称计算机系统设备,由主机和外部设备组成,见图2.2.1所示。图2.2

20、.1 CAD硬件系统组成图框CAD系统的硬件由计算机及其外围设备和网络组成。计算机分为大型、中型、小型机,工作站和微机四大类。目前应用较多的是CAD工作站,国内主要是微机和工作站。外围设备包括鼠标、键盘、扫描仪等输入设备和显示器、打印机、绘图仪等输出设备。网络系统包括中继器(增加网线长度)、网桥(同种网相连)和路由器(选择加工路线)、网关(不同协议相连)、Modem方式连接到网络上,以实现资源共享。网络的连接方式即网络的拓扑结构可分为星形、总线形、环形、树形以及星形和环形的组合等形式。先进的CAD系统大都是以网络的形式出现的,特别是在并行工程环境中,为了进行产品的并行设计,网络更是必不可少。2

21、.2.2 CAD软件系统软件分为两大类:支撑软件和应用软件。支撑软件主要有操作系统,其实现对硬件的控制和资源的管理。计算机辅助设计系统与操作系统密切相关,在购置计算机时,应该选择配置功能完善、通用性好的操作系统,并注意他对高级语言的支持、内存寻址能力、是否具有虚拟存储和多用户多任务工作环境等方面的性能,特别是对己有软件的支持能力;另外程序设计语言(VB、VC、DelPhi)及其编辑系统,数据库管理系统(对数据的输入、输出、分类、存储、检索进行管理)和图形支撑软件(AutoCAD)也是必不可少的。它是计算机辅助设计的核心技术,这些软件为计算机辅助设计系统的开发提供了必要的软件环境,实现多种多样的

22、计算机辅助设计功能,支撑软件是应用软件开发的基础,计算机辅助设计系统的功能和效率在很大程度上取决于支撑软件的性能。AutoCAD是美国AutoDesk公司开发的通用计算机辅助绘图和设计软件,被广泛应用于机械、电子、航天、造船、石油化工、土木工程、水利工程、气象、纺织、轻工等领域。AutoCAD是目前世界上应用最广的CAD软件,市场占有率位居世界第一。AutoCAD软件4,具有如下特点:l具有完善的图形绘制功能;2具有强大的图形编辑功能;3可以采用多种方式进行二次开发或用户定制;4可以进行多种图形格式的转换,具有较强的数据交换能力;5支持多种硬件设备;6支持多种操作平台;7具有通用性、易用性,适

23、用于各类用户。另一类是应用软件,它是根据本领域工程特点,利用支撑软件系统开发的解决本工程领域特定问题的应用软件系统。应用软件系统包括:设计计算方法库(常用数学方法库、统计数学方法库、常规设计计算方法库、优化设计方法库、可靠性设计软件、动态设计软件等)和各种专业程序库(常用机械零件设计计算方法库、常用产品设计软件包等)。计算机辅助设计系统的功能最终反映在解决具体设计问题的软件上,它一般需要具备如下要求:l能够切实可行地解决具体工程问题,给出直接设计的最终结果;2符合规范、标准和工程设计中的习惯;3充分利用计算机辅助设计系统的软件资源,具有较高的效率;4具有较好的设备无关性和数据存储无关性,便于运

24、行于各类硬件环境 以及与不同软件的连接;5使用方便、具有良好的人机交互界面;6运行可靠,维护简单,便于扩充,具有良好的再开发性。通常,应用软件需要用户自行开发,其专业性较强,涉及领域较广泛,开发需要专业人员的知识和经验,所以计算机辅助设计系统是工程技术与计算机技术相结合的综合性产物。2.3 开发工具概述AutoCAD的强大生命力在于它的通用性、多种工业标准和开放的体系结构。其通用性使得它在机械、电子、航空、船舶、建筑、服装等领域得到了极为广泛的应用。但是,不同的行业标准使得各领域在使用AutoCAD的过程中均需根据自身特点进行定制或开发。Autodesk公司为满足广大用户的需求,自AutoCA

25、DvZ.18版至AutoCAD2007短短20多年间,就相继推出了三代二次开发工具。可以说,AutoCAD的通用性为其二次开发提供了必要条件,而AutoCAD开放的体系结构则使其二次开发成为可能。2.3.1第一代开发工具第一代开发工具AutoLISP(AutoCAD LISP Precessing Language)是1986年随AutoCADVZ.18提供的二次开发工具。它是一种人工智能语言,是嵌入AutoCAD内部的COMMONUSP的一个子集。在AutoCAD的二次开发工具中,它是惟一的一种解释型语言。使用AutoLISP可直接调用几乎所有的AutoCAD命令,具有强大的图形处理功能,比

26、较适合工程中的非结构化设计过程。AutoLISP语言典型应用之一是实现参数化绘图程序设计,包括尺寸驱动程序和鼠标拖动程序等。另一个典型应用就是驱动AutoCAD提供PDB模块构成DCL(Dialog Conirol Language)文件,创建自己的对话框。AutoLISP具有以下优点:l语言规则十分简单,易学易用;2直接针对AutoCAD,易于交互;3解释执行,立竿见影。AutoLISP也具有以下缺点:l功能单一,综合处理能力差;2解释执行,程序运行速度慢;3缺乏很好的保护机制,源程序保密性差;4USP用表来描述一切,并不能很好地反映现实世界和过程,跟人的思 维方式也不一致;5不能直接访问硬

27、件设备、进行二进制文件的读写。2.3.2第二代开发工具第二代开发工具ADS(AutoCAD Development System)是AutoCADRll开始支持的一种基于C语言的灵活的开发环境。ADS可直接利用用户熟悉的C编译器,将应用程序编译成可执行文件后在AutoCAD环境下运行,从而既利用了AutoCAD环境的强大功能,又利用了C语言的结构化编程、运行效率高的优势。与AutoLISP相比,ADS优越之处在于:l具备错综复杂的大规模处理能力;2编译成机器代码后执行速度快;3编译时可以检查出程序设计语言的逻辑错误;4程序源代码的可读性好于AutoLISP。ADS不便之处在于lC语言比LISP

28、语言难于掌握和熟练应用;2ADS程序的隐藏错误往往导致AutoCAD,乃至操作系统的崩溃;3需要编译才能运行,不易见到代码的效果;4同样功能,ADS程序源代码比AutoLISP代码长很多。另外对话框控制语言DCL(Dialog Conirol Language) 是一种嵌入在AutoCAD内部的对话框控制程序设计语言,最早出现在AutoCAD R12中。DCL的主要功能是在对话框中将AutoCAD的多样化接口与提供程序执行时所需的数据和选项集于一体,实现交互式的程序设计和人机对话操作。用户可以利用DCL创建应用对话框,通过对话框的操作来执行各种应用程序和几乎所有的AutoCAD命令。其特点是创

29、建了动态对话窗口,利用窗口操作方式实现程序开发设计。同时,DCL是解释式的结构化程序设计语言,语法简单,功能强大,程序设计灵活,运行速度快,兼容性较好。另外,DCL程序通过AutoLISP相应函数来管理执行,比较适合做终端开发。2.3.3第三代开发工具第三代开发工具包括VisualAutoLISP、ObjectARx以及VBA,特性如下:1.VisualAutoLISP Visua1AutoLISP5是AutoLISP的换代产品。它与AutoLISP完全兼容,并提供它所有的功能,是新一代的AutoCADLISP语言。VisualAutoLISP对语言进行了扩展,可以通过Microsoft Ac

30、tiveX Automation接口与对象交互。同时,通过实现反应器函数,还扩展了AutoLISP响应事件的能力。作为开发工具,VisualAutoLISP提供了一个完整的集成开发环境 (IDE),包括编译器、调试器和其他工具,可以提高二次开发的效率。另外,VisualAutoLISP还提供了用于发布独立的应用程序的工具。2.VBA VBA(Visual Basic for Application)作为一种面向对象的高级程序设计语言,语法简单,功能强大,使用方便,其语法结构与Visual Basic很类似,经过编译链接的VBA程序能直接在AutoCAD内部运行,也可以将VBA程序作为外部程序来

31、执行,直接对AutoCAD对象进行操作。VBA主要通过AutoCAD ActiveX Automation接口传递消息,实现其控制编程机制,具备强大的编程开发能力和灵活性6。用户可以利用ActiveX Automation重新定义AutoCAD,与其他应用程序共享AutoCAD图形数据,能在其它的Windows编程环境下直接访问。AutoCAD图形,可以利用DAO或ADO技术连接数据库,能实现产品数据的自动管理伊DM),用户还可以利用VBScriPt技术实现企业生产综合数据库系统Intemet/Intranet应用,达到生产设计信息化、自动化、快速化目的。如果要以AutoCAD为基础平台开发出

32、多功能集成的CAD系统,VBA无疑是最佳的开发工具。3.ObjectARX AutoCAD运行扩展ARX7 (AutoCAD Runtime eXtension)最早在AutoCAD R13中提供,它是在ADS基础上发展起来的一种面向对象的C+语言编程环境;将ADS函数归并为单一的库就形成了ADSRX,ADSRX是一种新型的ADS开发环境,它需要Visual C+料编译器并生成DLL(动态链接库)应用程序;在 AutoCAD R14及其以上的版本中,ARX被面向对象C料编程环境一ObjectARX所代替,它是一个面向对象的32位AutoCAD二次开发工具,ADSRX成了ObjectARX的一个

33、子集。ObjectARX的最大特点是引入了面向对象的编程机制,它提供了大量的类库,同时还提供了兼容原来的ADS及ADSRX函数的新函数。与以往的AutoCAD二次开发工具AutoLisp和ADS不同,ObjecARX是一个DLL(动态链接库),共享AutoCAD的地址空间,直接调用AutoCAD的核心函数,所以,使用ARX编程的函数的执行速度得以大大提高,避免了使用过多的IPC,消耗过多的计算机内存空间;可直接访问AutoCAD的图形数据库和图形系统,可以定义类似于AutoCAD内置命令的自定义命令;可以使用MFC库来创建标准Windows风格的图形用户界面;用户还可以通过扩展ARX协议机制动

34、态地为己有的AutoCAD类添加功能;ARX类库采用了标准的C+类库的封装形式,这也大大提高了程序员编程的可靠度和效率。同时ARX还具有如下优点:l可以直接实现多文档操作,而VisualLisp不能;2可以自定义图形或非图形对象,而VisualLisp不能;3可直接访问AutoCAD数据库的核心数据结构和代码,能够在运行其间扩展AutoCAD固有的类及其功能,创建能够全面享受AutoCAD固有命令特权的新命令。但由于ARX是在Windows及Visual C+编程环境运行,所以对开发者的编程能力要求较高,同时开发过程也相当复杂。ARX缺点是:l与AutocAD命令交互的功能,很难借用AutoC

35、AD强大的绘图命令;2对程序设计者的计算和专业知识、软件专业知识要求较高。而且程序运行风险较大,ARX程序的崩溃,常常会连带AutoCAD甚至windows一起崩溃。4. VisualAutoLISP、VBA和ObjectARX的比较 从AutoCAD R14开始提供了采用对象编程技术的Visual AutoLISP语言,大大增强了AutoLISP的编程能力,是AutoLISP8编程技术自1985年嵌入AutoCAD的百万用户传统的应用开发手段向新一代对象编程技术的飞跃。VisualAutoLISP是一个使用LISP语言开发和定制AutoCAD的可视化开发环境。它扩展和增强了现有的AutoLI

36、SP语言,提供了程序的编写和调试环境,可将LISP程序编译成ObjectARX,大大提高了CAD编程效率和性能,是一个崭新的一体化可视CAD编程环境。 VisualAutoLISP提供标准Windows安装界面,安装方便。安装完后,进入AutoCAD,在命令行上输入VLIDE就可以进入Vsua1AutoLISP编程环境。对使用AutoLISP进行二次开发的人员,Visua1AutoLISP既是LISP编辑器又是编译器,它提供了一套简单的可视环境去开发和维护用户原有的AutoLISP源程序。 VisualAutoLISP新特点如下:l使用VisualAutoLISP可使用户的AutoCAD应用程

37、序运行更快,它的编译器将LISP源程序编译成ObjeetARX应用程序,由于LISP程序通过AutoCAD的ObjectARX接口运行,所以比AutoLISP加载运行快3倍10倍,并且省去了每次打开新图再调用的麻烦。2由于VisualAutoLISP采用ObjectARX平台,可以将AutoCAD和其他的应用程序如Windows、Office、ActiveX包含到AutoLISP源程序中,改善了ActiveX与AutoCAD对象模型之间接口特性,提高了应用程序的灵活性。3由于VisualAutoLISP编译成的二进制代码无法直接读取,所以它生成的应用程序更安全。VisualAutoLISP可视

38、化编程提供了更多的实用功能:1提供控制台,在控制台的命令行作AutoLISP命令,可以直接看到结果。2彩色字符源代码检查,可以在编辑窗中同时显示AutoLIsP和DCL源程序的命令,注释、提示等以各种颜色区分表示出来,易于检查。3LISP程序自动缩进和标准格式化。4括号匹配检查。5多窗口同时编辑LISP和DCL文件,并提供DCL对话框预览功能。6可直接将用户的LISP+ DCL文件编译成一个ObjectARX程序,并可连接ObjectARX、VC、VisualBasic、AetiveX的AutoCAD程序。使用VisualAut0LISP编程可避免LISP程序繁琐的调试过程,提高了编程效率,它

39、不仅对CAD编程人员提供了新的强大编程工具,而且对每个AutoCAD使用者都提供了更简单易用的LISP环境。2.4 各种工具的比较与选择各种开发工具开发效率的比较见表2.4开发工具开发语言性能执行速度开发难度ObjectARXC+非常强大快大VisualL ISPAutoLISP一般慢小VBAVB一般很快很小表2.4 AutoCAD几种主要二次开发工具性能比较从上表可以看出Visual LISP和VBA简单易学,开发周期短,适合开发一些小型的实用工具。目前,第一代的AutoLISP己被第三代的VisualAutoLISP完全替代,第二代的ADS在AutoCAD2000中就己不再支持,所以,第三

40、代开发工具将成为今后AutoCAD二次开发的必然选择。LISP对于AutoCAD的二次开发是一个既简单又实用的选择,同时也具有更广阔的应用前景,AutoLISP是内嵌于AutoCAD的LISP编程语言,作为应用接口语言,与Visual Basie、ADS、ObjectARX等其他二次开发语言相比,AutoLISP的突出优点就在于它最易学习和掌握,程序全部由函数组成,语法简单,不需要进行数据类型定义,从而避免了因数据类型不匹配而导致的程序错误;图形处理功能强大,它几乎能调用CAD所有的内部命令,可以方便地在计算、绘图之间进行切换;并能够通过与其他语言或方法的结合,实现复杂的AutoCAD操作。作

41、为升级版的Viusal LISP则与AuotLISP完全兼容,并新增了系统文件操作、内存相互通信、访问外部数据库等功能。在Viusal LISP提供的可视化的集成开发环境(IDE)中,程序的编辑,加载,调试将更加容易和方便。所以在本软件系统中采用LISP作为二次开发工具。第三章 电子印章插件的设计及分析 当前AutoCAD电子图纸面临的诸多安全问题,本章结合传统文档使用中的印章的作用,归纳总结出电子印章的功能需求和安全性需求。针对这些需求,结合相关法律规定,设计出完善的电印签章解决方案并对该方案进行了分析。3.1设计要求3.1.1功能需求:在传统的文档审批和发布过程中,人们往往通过对文档的签署

42、(签名、签字、签章,本文只研究签章)行为表明对文档的拥有权或者某种意见。这体现了人们对于文档在身份认证和不可否认性方面的需求,而传统的签署过程正好满足了这些需求。表现在以下几个方面:(1)认证把签章人和其签署的文档关联起来,通过签章表明签章人身份的真实性。这个意义是建立在“签章和签名是不容易伪造的”这一事实基础之上的。另外,签章自古以来都是身份和权力的象征,不论私人的还是公家的,都具有很高的可信度。签章的这种权威性使得我们都够信任签章即可代表签章人本身。(2)表明意向通过签章行为可以表明签章人对文档的某种意见,比如已阅览、审批通过或者未通过等,也可以表示签章人对文档拥有权的声明。(3)不可否认

43、性分为内容不可否认性和操作不可否认性。内容不可否认是指文档的拥有者必须对其所拥有的文档的内容负责。操作不可否认性主要是指用户对其在文档上的签署行为负有责任。以上是传统签署过程所含有(或者可能隐含)的意义。除开这些,我们还希望签章表达的是签章人对当前文档的意向(即签章前瞬间所见的文档,签章后的修改应视作无效)。然而,传统纸质文档上的签章并不能保证数据的完整性,或者防止签章后的文件被非法篡改。由于办公文档的多元化发展,出现的文件格式越来越多,如Word、Excel、PowerPoint、PDF等,针对某一种格式的文档保护不仅耗费开发商的精力,也增加了用户使用上的复杂度。针对这种情况,开发者将各类文

44、档统一转换成版式文档,然后对其进行保护。这样做提高了使用效率,但是却限制了用户的使用。为此我们可以参考传统签章的发展历程,总结出电子签章最本质的特性和意义,并根据AutoCAD特定的应用环境,设计出更为合理的电子签章。从传统签章到普通电子文档中的签章,再到AutoCAD电子图纸中的签章,签章的功能应该是一脉相承。因此,我们提出AutoCAD电子签章的功能需求如下:(1)能够对AutoCAD电子图纸进行签章,以表明签章人的身份。(2)接收方能够对已签章图纸进行验证,证明图纸内容的完整性和签章人身份的真实性。(3)在整个签章和签章验证的过程中,我们必须保证AutoCAD图纸的可用性,即能够对图纸进

45、行正常的编辑,保存等操作。3.1.2相关法律法规:电子签章属于电子签名的一种,应该遵循国家相应的法律法规,才能被国家承认,被用户信任。在中华人民共和国电子签名法9中,关于电子签名与认证,有如下几条主要规定:第十三条 电子签名同时符合下列条件的,视为可靠的电子签名:电子签名制作数据用于电子签名时,属于电子签名人专有;签署时电子签名制作数据仅由电子签名人控制;签署后对电子签名的任何改动能够被发现;签署后对数据电文内容和形式的任何改动能够被发现。第十六条 电子签名需要第三方认证的,由依法设立的电子认证服务提供者提供认证服务。可以看出,签名体现了以下几个方面的保证,也是本课题在系统设计时必须达到的五个

46、安全性要求:(1)签名是可信的签名使文件的接收者相信签名者是慎重地在文件上签名的。(2)签名是不可伪造的签名证明是本人而不是其他人。(3)签名不可重用签名是文件的一部分,不可能将签名移动到不同的文件上。(4)签名后的文件是不可变的在文件签名以后,文件就不能改变。(5)签名是不可抵赖的签名和文件是不可分离的,签名者事后不能声称他没有签过这个文件。3.2系统设计方案3.2.1电子印章的生成:电子签章的存在形式,标量签章与矢量图之间不能做到完全兼容,给用户的使用上带来极大不便,因此在本方案中提出了矢量电子签章来解决这一问题。关于矢量电子签章的来源有两种:(1)根据用户需求绘制印章用户可以把自己对印章

47、的要求用数据描述出来,如印章的大小,章内文字,图案等。程序保存这些配置信息,在需要时从程序中读取这些数据,调用AutoCAD的绘图命令绘制出签章。经过实验,绘制出的典型签章如图3.2.1所示: 图3.2.1 用Visual LISP绘制出的印章(2)将独立的矢量签章文件插入到当前图纸为了最大限度地让电子签章接近于现实,我们可以将实际印章的图像转换成矢量格式,复制到需要签章的矢量图纸中去。在这种实现方式中,我们需要用扫描仪将纸质文档上的印章图像输出成位图文件,再用矢量化软件将其转换成DWG格式的矢量图。用户签章时,提供自己独有的DWG格式的签章文件即可。经过ICT实验室的允许,扫描出来的ICT印章。通过比较两种实现方式,论文选择的是制图方式生成电子签章。主要有以下两点原因:(1)制图方式形成的签章更加形象,贴近实际形象。(2)在定制签章方法中,电子签章系统需要维护许多配置信息,而且用户根据有限参数描述出的签章也不一定令自己满意。比如签章周围出现的纹理信息,如果利用方法2绘制出来就需耗费更多的物力人力。3.2.2系统方案分析:方案中的电子签章具有以下特性:(1)完整性如果图形文件(包括签名时间、签署意见)在相互传输过程中被修改或者伪造,则接收者计算散列值与原有的散列值不同

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号