江西理工大学2012届专科生毕业设计(论文)
人员破解Autodesk公司AutoCAD默认文档格式DWG文件的可能性极小,难度也相当大。文件格式无法解析,加密的强度就大大减小,甚至只能对整个文件进行加密,而不能对顶点、线段、圆等这样的元素进行加密。
二是各类CAD软件的文档格式不统一,现在仍然没有一个统一的格式所有CAD软件格式进行相互转换,这就使得从事信息安全的公司不考虑针对某一个CAD软件进行文档保护的成本问题。
三是主流的CAD软件的更新换代速度太快。以Autodesk公司的AutoCAD为例,AutoCAD的更新速度基本上是每年推出一个新版本,而且几乎每三年推出一个全新的Release版本。新的Release版本对上一个版本都进行了大幅改动。这使得很多从事信息安全的公司不能只针对某一个版本进行开发。而且软件升级换代的速度也无法跟上AutoCAD的更新速度。
四是矢量图的文档保护难度非常大。矢量图的基本组成部分是顶点、线、圆等元素。在矢量图中嵌入数字水印等版权信息的难度非常大。在矢量图中嵌入矢量印章的难度也非常大。
五是现有的一些文档保护软件将各类软件格式一律转换成类似于PDF格式的版式文档,然后对版式文档进行文档保护。虽然国内外对版式文档的安全保护研究已经取得一定突破,但是从版式文档恢复成矢量图的难度非常大[3],在版式文档上对各个矢量元素进行编辑的难度也非常巨大。
根据以上研究现状,可以得出如下结论:
电子图纸文档保护市场需求量巨大,而且前景非常广阔,世界上数以千万计的CAD软件用户是这个市场的直接需求者。而且,一些主流的CAD软件公司(如Autodesk公司)近年来加强了对盗版软件的打击力度,这一行动的直接结果就是国产廉价的CAD软件近年来销售水平持续攀升。所以,如果对电子图纸文档进行保护,最好能够找到各类CAD软件支持的文档格式,而破解CAD软件默认格式不应该是一个行使有效的方法。同时,对电子图纸文档的保护应针对文件而不应针对版本,最好能够分解出矢量图中的各个元素。在文档保护方法上应采用透明文件加解密的方法对文件进行强制加解密。
4
江西理工大学2012届专科生毕业设计(论文)
第二章 CAD技术及二次开发工具
2.1 CAD技术发展概况
计算机辅助设计(CAD,Computer Aided Design)是利用计算机作为工具帮助工程师进行设计的一切实用技术的总和。它是电子信息技术的一个重要组成部分是促进科研成果开发和转化、实现设计自动化、加快国民经济发展和国防现代化的一项关键新技术;是提高产品和工程设计水平、降低消耗、缩短科研和新产品开发周期、大幅度提高劳动生产率的重要手段;是科研单位提高自主研究与开发能力,企业提高创新能力和管理水平,参与国际竞争的重要条件也是进一步向计算机辅助制造(Computer Aided Manufacturing,简称CAM)、计算机集成制造系统(Computer Integrated Manufac-faring System,简称CIMS)发展的重要基础。CAD技术开发与应用水平己成为衡量一个国家科技现代化的和工业现代化程度的重要标志之一。
计算机辅助设计的内容有好多,例如:优化设计、概念设计、有限元分析、计算机仿真、计算机辅助绘图、计算机辅助设计过程管理等。在工程设计中,一般包括两种内容:带有创造性的设计(方案的构思、工作原理的拟定等)和非创造性的工作,如绘图、设计计算等。创造性的设计需要发挥人的创造性思维能力,创造出以前不存在的设计方案,这项工作一般应由人来完成。非创造性的工作是一些繁琐重复性的计算分析和信息检索,完全可以借助计算机来完成。一个好的计算机辅助设计系统既能充分发挥人的创造性作用,又能充分利用计算机的高速分析计算能力,即要找到人和计算机的最佳结合点。
计算机辅助设计作为一门学科始于60年代初,一直到70年代,由于受到计算机技术的限制,CAD技术的发展很缓慢,进入80年代以来,计算机技术突飞猛进,特别是微机和工作站的发展和普及,再加上功能强大的外围设备,如大型图形显示器、绘图仪、激光打印机的问世,极大地推动了CAD技术的发展,CAD技术己进入实用化阶段,广泛服务于机械、电子、宇航、建筑、纺织等产品的总体设计、造型设计、结构设计、工艺过程设计等环节。
早期的CAD技术只能进行一些分析、计算和文件编写工作,后来发展到计算机辅助绘图和设计结果模拟,目前的CAD技术正朝着人工智能和知识工程方向发展,即所谓的ICAD(IntelligentCAD)。另外,设计和制造一体化技术即CAD/CAM技术以及CAD作为一个主要单元技术的CIMS技术都是CAD技术发展的重要方向。
5
江西理工大学2012届专科生毕业设计(论文)
2.2 CAD系统组成 2.2.1 CAD硬件系统
硬件是CAD系统的物质基础。硬件又称计算机系统设备,由主机和外部设备组成,见图2.2.1所示。
图2.2.1 CAD硬件系统组成图框
CAD系统的硬件由计算机及其外围设备和网络组成。计算机分为大型、中型、小型机,工作站和微机四大类。目前应用较多的是CAD工作站,国内主要是微机和工作站。外围设备包括鼠标、键盘、扫描仪等输入设备和显示器、打印机、绘图仪等输出设备。网络系统包括中继器(增加网线长度)、网桥(同种网相连)和路由器(选择加工路线)、网关(不同协议相连)、Modem方式连接到网络上,以实现资源共享。网络的连接方式即网络的拓扑结构可分为星形、总线形、环形、树形以及星形和环形的组合等形式。先进的CAD系统大都是以网络的形式出现的,特别是在并行工程环境中,为了进行产品的并行设计,网络更是必不可少。
2.2.2 CAD软件系统
软件分为两大类:支撑软件和应用软件。
支撑软件主要有操作系统,其实现对硬件的控制和资源的管理。计算机辅助设计系统与操作系统密切相关,在购置计算机时,应该选择配置功能完善、通用性好的操作系统,并注意他对高级语言的支持、内存寻址能力、是否具有虚拟存储和多用户多任务工作环境等方面的性能,特别是对己有软件的支持能力;另外程序设计语言(VB、VC、DelPhi)及其编辑系统,数据库管理系统(对数据的输入、输出、分类、存储、检索进行管理)和图形支撑软件(AutoCAD)也是必不可少的。它是计算机辅助设计的核心技术,这些软件为计算机辅助设计系统的开发提供了必要的软件环境,实现多种多样的计算机辅助设计功能,支撑软件是应用软件开
6
江西理工大学2012届专科生毕业设计(论文)
发的基础,计算机辅助设计系统的功能和效率在很大程度上取决于支撑软件的性能。
AutoCAD是美国AutoDesk公司开发的通用计算机辅助绘图和设计软件,被广泛应用于机械、电子、航天、造船、石油化工、土木工程、水利工程、气象、纺织、轻工等领域。AutoCAD是目前世界上应用最广的CAD软件,市场占有率位居世界第一。
AutoCAD软件[4],具有如下特点: ﹙l﹚具有完善的图形绘制功能; ﹙2﹚具有强大的图形编辑功能;
﹙3﹚可以采用多种方式进行二次开发或用户定制;
﹙4﹚可以进行多种图形格式的转换,具有较强的数据交换能力; ﹙5﹚支持多种硬件设备; ﹙6﹚支持多种操作平台;
﹙7﹚具有通用性、易用性,适用于各类用户。
另一类是应用软件,它是根据本领域工程特点,利用支撑软件系统开发的解决本工程领域特定问题的应用软件系统。应用软件系统包括:设计计算方法库(常用数学方法库、统计数学方法库、常规设计计算方法库、优化设计方法库、可靠性设计软件、动态设计软件等)和各种专业程序库(常用机械零件设计计算方法库、常用产品设计软件包等)。计算机辅助设计系统的功能最终反映在解决具体设计问题的软件上,它一般需要具备如下要求:
﹙l﹚能够切实可行地解决具体工程问题,给出直接设计的最终结果; ﹙2﹚符合规范、标准和工程设计中的习惯;
﹙3﹚充分利用计算机辅助设计系统的软件资源,具有较高的效率; ﹙4﹚具有较好的设备无关性和数据存储无关性,便于运行于各类硬件环境 以及与不同软件的连接;
﹙5﹚使用方便、具有良好的人机交互界面;
﹙6﹚运行可靠,维护简单,便于扩充,具有良好的再开发性。
通常,应用软件需要用户自行开发,其专业性较强,涉及领域较广泛,开发需要专业人员的知识和经验,所以计算机辅助设计系统是工程技术与计算机技术相结合的综合性产物。
2.3 开发工具概述
AutoCAD的强大生命力在于它的通用性、多种工业标准和开放的体系结构。其通用性使得它在机械、电子、航空、船舶、建筑、服装等领域得到了极为广泛
7
江西理工大学2012届专科生毕业设计(论文)
的应用。但是,不同的行业标准使得各领域在使用AutoCAD的过程中均需根据自身特点进行定制或开发。Autodesk公司为满足广大用户的需求,自AutoCADvZ.18版至AutoCAD2007短短20多年间,就相继推出了三代二次开发工具。可以说,AutoCAD的通用性为其二次开发提供了必要条件,而AutoCAD开放的体系结构则使其二次开发成为可能。
2.3.1第一代开发工具
第一代开发工具AutoLISP(AutoCAD LISP Precessing Language)是1986年随AutoCADVZ.18提供的二次开发工具。它是一种人工智能语言,是嵌入AutoCAD内部的COMMONUSP的一个子集。在AutoCAD的二次开发工具中,它是惟一的一种解释型语言。使用AutoLISP可直接调用几乎所有的AutoCAD命令,具有强大的图形处理功能,比较适合工程中的非结构化设计过程。
AutoLISP语言典型应用之一是实现参数化绘图程序设计,包括尺寸驱动程序和鼠标拖动程序等。另一个典型应用就是驱动AutoCAD提供PDB模块构成DCL(Dialog Conirol Language)文件,创建自己的对话框。
AutoLISP具有以下优点:
﹙l﹚语言规则十分简单,易学易用; ﹙2﹚直接针对AutoCAD,易于交互; ﹙3﹚解释执行,立竿见影。 AutoLISP也具有以下缺点: ﹙l﹚功能单一,综合处理能力差; ﹙2﹚解释执行,程序运行速度慢;
﹙3﹚缺乏很好的保护机制,源程序保密性差;
﹙4﹚USP用表来描述一切,并不能很好地反映现实世界和过程,跟人的思 维方式也不一致;
﹙5﹚不能直接访问硬件设备、进行二进制文件的读写。
2.3.2第二代开发工具
第二代开发工具ADS(AutoCAD Development System)是AutoCADRll开始支持的一种基于C语言的灵活的开发环境。ADS可直接利用用户熟悉的C编译器,将应用程序编译成可执行文件后在AutoCAD环境下运行,从而既利用了AutoCAD环境的强大功能,又利用了C语言的结构化编程、运行效率高的优势。与AutoLISP相比,ADS优越之处在于:
﹙l﹚具备错综复杂的大规模处理能力;
8