网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > 其他类别 > 正文

用VLISP与DCL整合实现绘制抛物线的设计

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/06

以下是网学网为您推荐的其他类别-用VLISP与DCL整合实现绘制抛物线的设计,希望本篇文章对您学习有所帮助。

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

目 录


一、 前 言 ………………………………………………………………………………3

二、 AutoCAD二次开发工具及对话框综述 ……………………………………………3

三、Visual LISP 设计及具体开发抛物线程序

1. 问题提出…………………………………………………………………………7

2. 预期目标…………………………………………………………………………7

3. 需求分析…………………………………………………………………………7

4. 总体设计…………………………………………………………………………7

5. 详细设计…………………………………………………………………………8

6. 程序流程图………………………………………………………………………10

7. 程序源代码………………………………………………………………………11

8. 应用实例图………………………………………………………………………14

四、总 结 ………………………………………………………………………………15

五、参考文献 ……………………………………………………………………………16
 

一、前言

随着计算机辅助技术的急速发展,美国AutoDesk公司的AutoCAD已成为设计人员手中的一件利器。随着AutoCAD应用的深入,越来越多的用户发现仅仅利用AutoCAD提供的交互功能已不能满足设计要求,在解决专业性的问题时,这一点显得尤为突出。这就需要一种智能化的软件,能够通过编程方式来大量成批地去解决一些问题。AutoCAD的开发性和丰富的开发工具为我们解决新局面这个问题提供了有效的手段。VLISP和DCL正是解决这一问题的两大法宝。利用VLISP编程,可以强化AutoCAD原有的命令,创造更有用的AutoCAD新命令。DCL简化繁琐的环境设定或绘图步骤,进行参数式绘图,从而达到真正灵活控制AutoCAD的目的。
二、AutoCAD二次开发工具及对话框综述
1.AutoCAD二次开发工具综述
AutoCAD是目前微机上应用最为广泛的通用交互式计算机辅助绘图与设计软件包。AutoCAD的强大生命力在于它的通用性、多种工业标准和开放的体系结构。其通用性使得它在机械、电子、航空、船舶、建筑、服装等领域得到了极为广泛的应用。下面对AutoCAD的三代开发工具进行浅析。
第一代开发工具——AutoLISP是1986年随AutoCAD v2.18提供的二次开发工具。它是一种人工智能语言,是嵌入AutoCAD内部的COMMON LISP的一个子集。在AutoCAD的二次开发工具中,它是唯一的一种解释型语言。使用AutoLISP可直接调用几乎所有的AutoCAD命令。
AutoLISP语言最典型的应用之一是实现参数化绘图程序设计,包括尺寸驱动程序和鼠标拖动程序等。另一个典型应用就是驱动AutoCAD提供PDB模块构成DCL(Dialog Control Language)文件,创建自己的对话框。
AutoLISP具有以下优点:
(1) 语言规则十分简单,易学易用;
(2) 接针对AutoCAD,易于交互;
(3) 解释执行,立竿见影。
AutoLISP的缺点是:
(1) 功能单一,综合处理能力差;
(2) 解释执行,程序运行速度慢;
(3) 缺乏很好的保护机制,源程序保密性差;
(4) LISP用表来描述一切,并不能很好地反映现实世界和过程,跟人的思维方式也不一致;不能直接访问硬件设备、进行二进制文件的读写。
AutoLISP的这些特点,使其仅适合于有能力的终端用户完成一些自己的开发任务。
第二代开发工具——ADS(AutoCAD Development System)是AutoCAD R11开始支持的一种基于C语言的灵活的开发环境。ADS可直接利用用户熟悉的C编译器,将应用程序编译成可执行文件后在AutoCAD环境下运行,从而既利用了AutoCAD环境的强大功能,又利用了C语言的结构化编程、运行效率高的优势。
与AutoLISP 相比,ADS优越之处在于:
(1) 具备错综复杂的大规模处理能力;
(2) 编译成机器代码后执行速度快;
(3) 编译时可以检查出程序设计语言的逻辑错误;
(4) 程序源代码的可读性好于AutoLISP。
而其不便之处在于:
(1) C语言比LISP语言难于掌握和熟练应用;
(2) ADS程序的隐藏错误往往导致AutoCAD,乃至操作系统的崩溃;
(3) 需要编译才能运行,不易见到代码的效果;
(4) 同样功能,ADS程序源代码比AutoLISP代码长很多。
第三代开发工具—Visual LISP,ARX及基于ActiveX Automation技术的VBA等
1.Visual LISP(VLISP)
VLISP是AutoLISP的换代产品。它与AutoLISP完全兼容,并提供它所有的功能,是新一代的AutoCAD LISP语言。VLISP对语言进行了扩展,可以通过Microsoft ActiveX Automation接口与对象交互。同时,通过实现反应器函数,还扩展了AutoLISP响应事件的能力。作为开发工具,VLISP提供了一个完整的集成开发环境(IDE),包括编译器、调试器和其他工具,可以提高二次开发的效率 。另外,VLISP还提供了工具用于发布独立的应用程序。
2.ARX
ARX(AutoCAD Runtime eXtension)是AutoCAD R13之后推出的一个以C++语言为基础的面向对象的开发环境和应用程序接口。ARX程序本质上为Windows动态链接库(DLL)程序,与AutoCAD共享地址空间,直接调用AutoCAD的核心函数,可直接访问AutoCAD数据库的核心数据结构和代码,以便能够在运行期间扩展AutoCAD固有的类及其功能,创建能够全面享受AutoCAD固有命令特权的新命令。ARX程序与AutoCAD、Windows之间均采用Windows消息传递机制直接通讯。
3.基于ActiveX Automation技术的VBA等开发工具
ActiveX Automation技术的完全面向对象化编程的特点,使其开发环境具备了强大的开发能力和简单易用的优良特点,开发工具的选择也具有很大的灵活性。所以,利用ActiveX Automation技术,是极具潜力的一种开发手段。
4.Visual LISP 特色显著
由于Auto Lisp存在自身无法解决的问题,为了适应AutoCAD环境下的较大型用户化CAD应用系统的开发,Autodesk公司从AutoCAD R11开始,推出采用C语言的开发环境ADS(Advance Development System),借助C/C++语言的性能和资源,完成许多Auto LISP语言难以实现的任务。随着Windows平台,面向对象编程技术等先进技术的日益成熟和普及,AutoCAD也和其他系统一样迫切需要一种全新的面向对象编程的开发环境。在AutoCAD R13之后,又推出了新一代的直接面向对象的二次开发工具ARX(AutoCAD Runtime Extension)以及更新的 AutoCAD R14 ObjectARX SDK开发工具包。为开发高自动化程度,高集成化及高性能的用户化CAD系统提供了一种极为有效的工具。是AutoCAD目前用户化的主流开发工具。
Visual LISP与AutoCAD
Visual LISP作为一个完整的集成开发环境(IDE),具有自己的窗口和菜单,但它并不能独立于AutoCAD运行。当用户从Visual LISP IDE中运行AutoLISP程序时,经常需要与AutoCAD图形交互或在命令窗口响应程序提示。如果Visual LISP 把控制传给AutoCAD时AutoCAD已被最小化,用户必须手动恢复并激活AutoCAD才可继续,Visual LISP不会自动恢复AutoCAD 窗口。相反,Visual LISP窗口中会出现并保持一个 Visual LISP符号,直到激活AutoCAD并响应了在AutoCAD命令提示处的提示。
启动Visual LISP可在AutoCAD下边的命令栏中输入 VLISP ,也可在工具中启动,如图
 

各组成部分的说明如下:
    (1) 菜单栏:通过选取各菜单项来发出Visual LISP命令。
    (2) 工具栏:提供了对常用Visual LISP命令的快速调用。Visual LISP共提供了五个工具栏:“Standard(标准)”、“Search(搜索)”、“View(视图)”、“Debug(调试)”和“Tools(工具)”,如图36-2所示,每个工具栏各自代表不同功能的命令组。
    (3) 编辑窗口:用于编辑LISP文件代码。如果用户同时编辑多个文件,则Visual LISP使用多个编辑窗口来分别显示文件。
    (4) 控制台窗口:类似于AutoCAD的命令窗口,可在其中输入AutoLISP命令,也可以不使用菜单或工具栏而直接在控制台窗口中调用Visual LISP命令。
    (5) 跟踪窗口:在启动Visual LISP,该窗口将显示Visual LISP当前版本的信息。而如果Visual LISP在启动时遇到错误,它还会包含相应的错误信息。
    (6) 状态栏:显示提示信息。比如,当菜单上的某一个菜单项被亮显,则状态栏上将显示相关命令功能的简介;当鼠标指针在工具栏某按钮上停留几秒钟后,Visual LISP将显示工具提示说明按钮功能,并同时在状态栏上显示更详细的描述;当Visual LISP在编辑窗口中打开文件时,状态栏上将显示文件名名称及其路径。
    (7) 其他窗口:有些Visual LISP函数将创建它们自己的窗口来显示结果。用户不能在这些输出窗口中输入文本,但可以从中复制,并将其粘贴到编辑器或控制台窗口中。
2.对话框综述
AutoCAD随着版本的逐步提高,人机交互界面也越来越先进,在各类对话框中输入参数的交互方式已逐步替代从命令提示行中输入参数的基本方式,因此对AutoCAD进行二次开发,设计定制自己的对话框是必不可少的工作。
对话框使用的界面的设计分为两个部分:外观与功能。外观定义对话框有哪些组件,以及这些组件如何布局。功能则定义每个组件的内容、动作、要返回哪个数据、对其他组件有何影响。对话框由对话框控制语言DCL编写并定义在ASCII文件中。对话框中的元素,如按钮、列表、文本、图像、滑动杆和编辑框等都被认为是控件。每个控件的大小和功能都由控件的属性决定。对话框的大小和它各个组成部分的布局通过少量的定位信息自动设置完成。对话框本身并不能完成它所设计的功能,功能的实现要通过Auto LISP等程序语言来控制。Visual LISP中提供了观察对话框的工具,并且还提供了在应用程序中控制对话框的参数。
要实现对话框的预定义功能,主要分为两个步骤:首先要编制一个DCL对话框定义文件
该文件是由一个或几个“对话框描述”构成的ASCII文件,扩展名为.dcl,对话框描述定义了该对话框的工作方式和其中包含的成分(如各类按钮、正文编辑框、列表、滑动杆、属性等),并按层次结构加以描述:然后要编写一个相应的Auto LISP应用程序来控制DCL文件预定义功能,从某种程度上,DCL文件只定义了对话框的工作方式,说明可以拾取哪些按钮、显示什么文件、列表等,但对话框的功用及其行为方式还将取决于调用它的应用程序,而Auto LISP提供了各类管理对话框的函数,包括加载、显示和终止对话框,接受用户响应,初始化动作表达式,存取控件及属性,建立列表和生成图像等。
对话框设计的一般原则
特色:
1.美观 2.便于操作 3.语言文字说明准确、便于理解 4.控件设计风格一致性 5.操作控制顺序随意   6.实时反馈及时 7.对待操作人员宽容   8.提供帮助 9.测试
通用规范:
1.布局合理 2.对话框的大小和位置 3.控件的禁止使用   4.嵌套对话框 5.隐藏对话框 6.默认值 7.键盘输入   8.颜色   9.标准化


三、Visual LISP 与对话框设计及具体开发抛物线程序
    1.问题的提出

传统手工制图以纸、笔、三角板、直尺、圆规等作为辅助工具,用图形和尺寸的形式进行表达说明,这种表达方式大大超越了传统的文字叙述方法。近几年,随着信息工业的高速发展,计算机软、硬件迅速更新,操作界面逐渐个性化,促使计算机融入人们的日常生活之中。以纸、笔、尺等为工具的绘图工作,也逐步被计算机所代替,从而形成了计算机辅助绘图(Computer Aided Design)的技术领域。因此计算机辅助绘图不仅应具有计算机操作系统(如 Windows 98、Windows NT、Windows 2000)本身的功能(如复制与删除文件、中文输入等),而且,应具备传统的制图规范准则。运用计算机强大的计算和存储功能并具有绘图功能的软件,称为计算机辅助绘图软件。计算机辅助绘图软件有很多,笔者在学习AutoCAD 2002绘制建筑、物理、机械所用图时,经常遇到绘制类似抛物线这类曲线的图形问题。抛物线必须显示在坐标平面。在AutoCAD中,如果你只要一个大概的形状,可以用多义线大约画出圆弧状的图形,但是在实际应用中,如建筑绘图、机械制造等方面就要求精度较高的弧状图形,如建设拱桥时,由力学专家给出最佳的方案,既考虑到桥的最大承重能力,又要考虑制造建桥材料的可行性,这是就需要精确的绘制抛物线图形了。考虑到用户使用方便,笔者使绘制程序与操作简便的对话框相结合,只要

 

 


 

 

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 |
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师