您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页起重机液压系统CAD毕业设计

起重机液压系统CAD毕业设计

来源:华佗小知识


毕业设计

起重机液压系统CAD

陈彩虹 102011236 学生姓名: 学号: 机械工程系

系 部: 机械设计制造及其自动化 专 业: 王玉玲 指导教师:

二零一四年 六 月

诚信声明

本人郑重声明:本设计及其研究工作是本人在指导教师的指导下完成的,在完成论文时所利用的一切资料均已在参考文献中列出。

本人签名:

年 月日

毕业设计任务书

设计题目: 起重机液压系统CAD

系部: 机械工程系 专业: 机械设计制造及其自动化 学号: 102011236 学生: 陈彩虹 指导教师(含职称): 王玉玲(副教授) 专业负责人: 田静 1.设计的主要任务及目标

分析起重机液压系统的参数和组成,收集液压元件的数据,将参数数据整理成数据库,对液压元件参数化。依据组成元件绘制液压元件图符,并构建液压元件图形符号库。使用AutoCAD vlisp开发CAD,制作起重机液压系统软件。建立数据库、图形符号库与AutoCAD软件的连接,实现数据库的查询,图形符号库的调用。绘制起重机液压原理图。 2.设计的基本要求和内容

⑴建立液压元件参数数据库和图形符号库; ⑵实现图形符号的调用; ⑶编写设计说明书。 3.主要参考文献

[1].李万莉.工程机械液压系统设计[M].上海:同济大学出版社,2011 [2].钟雯.机械类课程设计、毕业设计选题精选—机械设计专业[M].北京:化学工业出版社,2010

[3].鲁达.汽车与工程机械液压传动[M].北京:人民交通出版社,1984 [4].刘忠.工程机械液压传动原理、故障诊断与排除[M].北京:机械工业出版社,2004 4.进度安排 1 2 3 4 5

设计各阶段名称 收集各液压元件的数据 制作数据库和液压图形符号库 使用AutoCAD vlisp开发CAD 编写设计说明书 毕业答辩

起 止 日 期 2014年3月12日~2014年3月26日 2014年3月27日~2014年5月1日 2014年5月2日~2014年5月24日 2014年5月25日~2014年6月12日 2014年6月18日~2014年6月20日

起重机液压系统CAD

摘要:本毕业设计制作了起重机液压系统元件参数数据库、元件图形符号库和起重机液压系统软件。元件参数数据库用Access数据库软件建立。元件图形符号库使用AutoCAD和计算机资源管理器建立。起重机液压系统软件使用AutoCAD自带的AutoVlisp编程软件编译。以AutoCAD为制图平台,使用ODBC数据管理器将元件参数数据库和AutoCAD数据管理器连接起来。使用起重机液压系统软件将元件图形符号库和AutoCAD绘图功能连接起来。在使用中,可以使用AutoCAD数据管理器访问元件参数数据库,查询起重机液压系统常用元件的参数,寻找符合条件的元件型号。然后调用起重机液压系统软件,寻找元件类型。将元件图形符号库中相应的元件符号插入到AutoCAD绘图界面中。

关键词:起重机液压系统,Access,ODBC,AutoVLISP,AutoCAD

Crane hydraulic system CAD

Abstract:This graduation design of the crane element parameters of hydraulic system components database, graphics library and crane hydraulic system software. Component parameters database using Access database software. Element graphic symbol library using AutoCAD and computer resource manager to establish. Crane hydraulic system software using AutoCAD programming software compiled with AutoVlisp. Using AutoCAD as the drawing platform, using ODBC data manager will connect the component parameter database and AutoCAD data management. Use the crane hydraulic system software to connect components graphic symbol library and drawing function of AutoCAD. In use, you can use the AutoCAD data manager to access the element parameter database, parameter query common components of hydraulic system of crane, looking for qualified component model. Then the software of hydraulic system call crane, looking for the element type. Insert the element symbol corresponding element graphic symbol library into the AutoCAD graphics interface.

Keywords: crane hydraulic system, Access, ODBC, AutoVLISP, AutoCAD

目 录

1 前 言 ................................................................................................................................ 1 2 起重机液压系统分析 ........................................................................................................ 3 2.1起重机液压系统概述 ...................................................................................................... 3 2.2起重机液压系统回路分析 .............................................................................................. 3 2.3液压系统元件组成 ......................................................................................................... 4 3 创建数据库 ........................................................................................................................ 5 3.1 数据库总体设计 ............................................................................................................. 5 3.1.1、概念设计 .................................................................................................................... 5 3.1.2表结构设计 ................................................................................................................... 5 3.2数据库Access2010 .......................................................................................................... 6 3.2.1 Access2010简介 ........................................................................................................... 6 3.2.2ACCESS2010功能介绍 ................................................................................................ 7 3.2.3 ACCESS建立数据库 ................................................................................................... 9 4建立图形符号库 ............................................................................................................... 13 4.1图形符号库总体设计 .................................................................................................... 13 4.1.1图形符号库组成 ......................................................................................................... 13 4.2AutoCAD ......................................................................................................................... 13 4.2.1 AUTOCAD简介 ......................................................................................................... 13 4.2.2 AutoCAD图块功能说明 ............................................................................................ 13 4.2.3使用AutoCAD创建图块实例 ................................................................................... 18 4.3创建液压元件图形符号库 ............................................................................................ 22 5建立ODBC数据库连接 .................................................................................................. 25 5.1 ODBC数据库简介 ........................................................................................................ 25 5.2 ODBC数据库在起重机液压系统中的应用 ................................................................ 25 5.2.1应用概述 ..................................................................................................................... 25 5.2.2 ODBC数据库与access数据库的连接 ..................................................................... 26 5.2.3 ODBC数据库与AutoCAD的连接 .......................................................................... 30

I

6 AutoCAD Vlisp编程 ..................................................................................................... 36 6 .1 Visual LISP与AutoLISP ............................................................................................. 36 6.2 Visual LISP与AutoCAD .............................................................................................. 36 6.3 Visual LISP简介 ............................................................................................................ 37 6.3.1 Visual LISP的主要组成部分和功能 ......................................................................... 37 6.3.2 LISP的启动和界面 .................................................................................................... 37 6.4 Vlisp编程实例 .............................................................................................................. 39 7 绘制Q2-8汽车起重机液压系统原理图(支腿回路部分)实例 ................................ 41 结 论 .................................................................................................................................. 44 参考文献 .............................................................................................................................. 45 致 谢 .................................................................................................................................. 46 附录1 LSP程序源代码 ................................................................................................... 47 附录2 DCL对话框源代码 .............................................................................................. 54

II

太原工业学院毕业设计

1 前 言

液压CAD研究开始于70年代,美国麦道飞机公司开发出预测液压元件和系统性能的AF-SS(Advanced Fluid System Simulation)仿真程序软件包,使液压设计从定性上升到定量分析的阶段。

80年代,德国亚琛工业大学研制成功了DSH仿真系统。采用模型库解决液压系统各种常用的液压元件动态模型,用户使用该系统前要预先根据系统所规定的特殊规则,建立仿真对象的描述文件。然后输入到程序中,程序依据描述文件自动建模,并完成模型求解、结果数据处理和输出曲线绘制等工作。同期还有一个影响较大的仿真软件,是英国巴斯大学的HASP软件包,该包除具有DSH所有的性能之外,还可以进行静态仿真。80年代之后,交互式图形学逐渐进入液压领域,在绘图方面取得了很大的进步。德国的斯图加特大学首次推出了计算机设计液压原理图的程序包。Gullick Dobson Ltd推出了适用于采矿机械的液压CAD专用软件包,该包不仅具有设计原理图功能,还可以生成三维阀块、绘制零件图和简单部件的装配图。亚琛工业大学还研制出了一个涉及液压阀快的HYKON软件包,包内含有一个由多种液压软件结构数据组成数据库,可以根据设计输入的信息,布置阀块上的元件及连接螺孔,自动进行阀块孔道设计和校核。当设计有错时会提示“错误信息”,并可用人机对话方式进行修改,最后还可得到阀块的各种视图。美国威格斯(VICKERS)公司利用CAD技术对液压系统原理图进行绘制和计算,进行液压泵、马达、阀、和集成阀块的方案设计及零、部件绘制。

目前液压CAD软件发展方向是设计、仿真、绘图一体化。例如以色列Goldenbeng开发的液压CAD软件系列为HydroCalc,HydroSaft。芬兰坦佩雷大学的液压研究所研制了液压插装阀快的CAD软件包。一些公司、学校也开发液压元件和系统的CAD软件包,其中某些软件不但仅能对某些液压元件进行设计计算、绘制二维图形,还能建立三维立体模型。

国内液压界的CAD研究起步在80年代初。最初只是在用计算机对特定液压系统或元件进行仿真,也有些研究涉及有限元分析、参数辨识和优化设计,后来发展到设计和绘图。浙江大学于1984年移植成功DSH程序并作了二次开发,扩充了液压管道静、动特性的功能,并对软件的算法、提高软件效率、本地化、国产化作了

1

太原工业学院毕业设计

尝试,推动了计算机CAD技术的进步。北京航空航天大学,西北工业大学于80年代初,对美国麦道公司的AFFS软件进行移植取得了一定的成果。

七五期间,由机电部北京自动化所负责,联合浙江大学、大连理工大学、上海交通大学、甘肃工业大学和大连液压件厂共同完成了“液压元件及系统的计算机辅助设计”攻关项目,该项目建立了一个基本的液压CAD系统,包含基础理论、液压元件设计、图纸管理及液压系统设计的液压CAD系统。

大连理工大学在1980-1985年间完成了液压系统原理图辅助设计软件包。之后结合“液压元件及系统计算机辅助设计(CAD)”的攻关项目,开发了集成式的液压系统CAD软件,该软件中还包含标准液压元件图形库及数据库,利用该包进行集成式液压系统的设计已正式在生产中运行。浙江大学、上海交通大学及哈尔滨工业大学等校均在插装阀三维实体造型、液压泵CAD等方面开发了相应的软件。

一般CAD系统需具备计算、存储、输入、输出、对话等基本功能。 就液压行业来说,近代CAD技术已经能执行液压产品设计的任务,可以进行液压元件及系统的设计计算,包括参数设计、结构设计、应力分析、优化分析、结构综合、动态仿真、自动绘制工程图纸等。以下概述液压CAD技术的主要功能。

绘制液压系统原理图 为了绘制液压系统原理图,通常要调用液压元件图形符号库。液压元件图形符号库是根据国标液压气动图形符号(GB786-76)(新标准应为GB786.1-93)建立的。

液压元件及系统的设计、计算和信息存储 在设计液压元件时,根据确定的方案,采用常规算法进而确定元件的结构几何尺寸及材料的选择。对于液压系统,根据液压系统原理图,选择标准元件和设计计算非标准液压元件以及管路系统、连接尺寸等。这些功能均通过编制相应元件的设计计算软件而完成。

此外,还可将现有产品的规格、数据及图纸存入计算机,构成图纸工程库、标准图形库、数据库,以供设计使用。

零、部件图自动绘制 可以采用人机对话方式或参数化绘图方式,输出二维或是三维图形,并能完成标注尺寸、形位公差及表面粗糙度的工作。

液压集成块的辅助设计和校核 利用CAD技术,不仅可以绘制集成块图形,且可以自动设计和校核孔道,因此得到广泛的应用。

2

太原工业学院毕业设计

2 起重机液压系统分析

2.1起重机液压系统概述

汽车起重机液压系统包含支腿收放、回转机构、起升机构、吊臂伸缩和吊臂变幅等五个部分,各部分都有相对的性。其中包含的液压元件主要有:泵和马达、液压阀、液压缸和一些辅助元件。下面介绍一些液压元件在汽车起重机液压系统中的作用。

2.2起重机液压系统回路分析

如图2.1是汽车起重机Q2-8的液压系统。

图2.1 汽车起重机Q2-8的液压系统

(1)支腿收放回路

由于汽车轮胎的支撑能力有限,在起重作业时必须放下支腿,使汽车轮胎架空。汽车行驶时则必须收起支腿。前后各有两条支腿,每一条支腿配有一个液压缸。两条前支腿和两条后支腿分别用一个三位四通手动换向阀控制其收放。每一个液压缸上都配有一个双向液压锁,以保证支腿可靠的锁住,防止在起重作业过程中发生“软退”现象或行车过程中液压支腿自行下落。

3

太原工业学院毕业设计

(2)回转机构回路

回转机构中采用一个液压马达通过涡轮蜗杆减速箱和开式小齿轮来驱动转盘。转盘回转速度较低,一般每分钟为1至3转。驱动转盘的液压马达转速也不高,故不必设置马达制动回路。因此,回转回路比较简单,通过三位四通换向阀可获得左转、停转、右转三种不同工况。

(3)起升机构回路

起升机构是起重机的主要执行机构,它是一个由大扭矩液压马达带动的卷扬机。马达的正反转有一个手动的三位四通阀控制。马达的转速,即起吊速度可通过改变汽车发电机的转速来调节。在马达下降的回油路上有平衡阀,用以防止重物自由下落。由于设置了平衡阀,使得液压马达只有在进油路上有压力的情况下才能旋转。改进后的平衡阀使重物下降时不会产生“点头”现象。由于液压马达的泄漏比液压缸大的多,当负载吊在空中时,尽管油路中设有平衡阀,仍有可能产生“溜车”现象。为此,在液压马达上设有制动缸,以便在马达停转时,用制动器锁住起升液压马达。单向节流阀的作用是使制动器上闸快,松闸慢。前者是为使马达迅速制动,重物迅速停止下降;而后者则是避免当负载在半空中再次起升时,将液压马达拖动反转而产生滑降现象。

(4)吊臂伸缩回路

吊臂由基本臂和伸缩臂组成,伸缩臂套在基本臂之中。吊臂的伸缩是由一伸缩液压缸控制。为防止吊臂在自重作用下下落,伸缩回路中装有平衡阀。

(5)吊臂变幅回路

所谓变幅,就是用一液压缸改变起重臂的起落角度。变幅作业也要防止因自重而下降,因此吊臂变幅回路上也装有平衡阀。

2.3液压系统元件组成

进过对起重机液压系统的分析,得出液压系统一般由以下元件组成:减压阀和顺序阀,压力控制阀,方向控制-单向阀,方向控制-电液换向阀,方向控制-换向阀,方向控制-梭阀,方向控制-液控单向阀,流量控制阀,插装阀,油缸,泵和马达,气缸,辅助元件,管路连接口和接头,基本要素,检测器和其它元器件,流体调节器,能量贮存器,特殊能量转换器,油箱。

4

太原工业学院毕业设计

3 创建数据库

3.1 数据库总体设计

3.1.1、概念设计

数据库概念设计的目的是分析数据见内在的语义关联,在此建立一个数据的抽象模型——概念数据模型。

(1)确定实体

泵和马达、阀、液压缸、辅助件、液压元件图库。 (2)确定实体的属性

①泵和马达:元件名称、型号、排量、额定压力、最高压力、额定转速、最高转速、驱动功率、重量。

②阀:元件名称、类型、型号、通径、额定流量、调压范围、卸荷压力、重量、电磁阀额定电压、额定压力、最高使用压力、开启压力、推荐流量、工作压力进口P、工作压力出口A、工作压力背压Y(T)、工作压力、背压、最大工作压力、滑阀机能。

③液压缸:型号、缸内径、活塞面积(无杆缸)、活塞面积(有杆缸)、推力14MPa/16MPa、拉力14MPa/16MPa、最大行程、活塞杆直径、推力/拉力(工作压力160kgf/c㎡)。

④辅助件:元件名称、类型、型号、过滤精度、压力损失、流量、通径、连接形式、压力、调压范围、重量。

⑤液压元件图库:名称、图。

3.1.2表结构设计

(1)泵和马达

表模式:泵和马达(元件名称,型号,排量,额定压力,最高压力,额定 转速,最高转速,驱动功率,重量)。

5

太原工业学院毕业设计

(2)阀

表模式:阀(元件名称,类型,型号,通径,额定流量,调压范围,卸荷压力,重量,电磁阀额定电压,额定压力,最高使用压力,开启压力,推荐流量,工作压力进口P,工作压力出口A,工作压力背压Y(T),工作压力,背压,最大工作压力,滑阀机能)。

(3)液压缸

表模式:液压缸(型号、缸内径、活塞面积(无杆缸)、活塞面积(有杆缸),推力14MPa/16MPa、拉力14MPa/16MPa、最大行程、活塞杆直径、推力/拉力(工作压力160kgf/c㎡)。

(4)辅助件

表模式:辅助件(元件名称,类型,型号,过滤精度,压力损失,流量,通径,连接形式,压力,调压范围,重量)。

3.2数据库Access2010

3.2.1 、Access2010简介

Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员, 在包括专业版和更高版本的office版本里面被单独出售。2012年12月4日,最新的微软Office Access 2013在微软Office 2013里发布,微软Office Access 2010 是前一个版本。

MS ACCESS以它自己的格式将数据存储在基于Access Jet的数据库引擎里。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。

软件开发人员和数据架构师可以使用Microsoft Access开发应用软件,“高级用户”可以使用它来构建软件应用程序。和其他办公应用程序一样,ACCESS支持Visual Basic宏语言,它是一个面向对象的编程语言,可以引用各种对象,包括DAO(数据访问对象),ActiveX数据对象,以及许多其他的ActiveX组件。可视对象用于显示表和报表,他们的方法和属性是在VBA编程环境下,VBA代码模块可以声明和调用Windows操作系统函数。

Access的用途体现在两个方面:

6

太原工业学院毕业设计

(1)用来进行数据分析: access有强大的数据处理、统计分析能力,利用access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。 这一点体现在:会用access,[1]提高了工作效率和工作能力。

(2)用来开发软件: access用来开发软件,比如生产管理、销售管理、库存管理等各类企业管理软件,其最大的优点是:易学!非计算机专业的人员,也能学会。低成本地满足了那些从事企业管理工作的人员的管理需要,通过软件来规范同事、下属的行为,推行其管理思想。(VB、.net、 C语言等开发工具对于非计算机专业人员来说太难了,而access则很容易)。 这一点体现在:实现了管理人员(非计算机专业毕业)开发出软件的“梦想”,从而转型为“懂管理+会编程”的复合型人才。

3.2.2、 ACCESS2010功能介绍

(1)启动ACCESS。打开ACCESS界面。

(2)创建一个数据库。它命名为数据库。打开ACCESS,在右下角修改名称和保存地点。

(3)创建好之后进入主页面。ACCESS提供了许多模版,也可以进入模版选择。

①开始选项卡

开始选项卡中分为视图、剪切板、字体、格式文件、记录、排序和筛选、查找、中文简繁转换等几大功能区。在每个功能区可以实现不同的功能。

② 创建选项卡,

创建选项卡中包括表、窗体、报表、其他、特殊符号等功能。创建选项卡主要有以下功能:

插入新的空白表,使用表模版创建新表,在设计视图中创建新表,创建窗体,创建新的透视表或图表,创建新的查询、宏、模块或类模块。

③外部数据模块。

外部数据模块包括导入、导出、收集数据、SHAREPOINT列表。在外部数据可

7

太原工业学院毕业设计

以实现的功能如下:

导入或链接到外部数据,导出数据,通过电子邮件收集和更新数据,使用联机SHAREPOINT列表,将部分或全部数据库移动至新的或现有的SHAREPOINT网站。

④数据库工具

数据库工具包括宏、显示/隐藏、分析、移动数据、数据库工具等几大模块。运用数据库工具可以实现以下功能:

启动VISUAL BASIC 编辑器或运用宏,创建和查看表关系,显示/隐藏对象文档或分析性能。,运行链接表管理器,管理ACCESS加载项,创建或编辑VBA模块。

⑤数据表

数据表包括视图、字段和列、数据类型和格式、关系等模块。在该模块中,可以实现字段的添加,修改。列的添加功能。数据格式的转换以及各个表的关系类型等。

(4)简述 ACCESS2010六大对象的基本功能.

①表。表是数据库中最基本的组成单元。建立和规划数据库,首先要做的就是建立各种数据表。

②查询。查询最常用的功能是从表中检索特定的数据。 ③窗体。窗体提供了一种简单的处理数据的格式。

④报表。报表主要用来打印或者显示。运用报表,还可以创建标签。 ⑤宏。利用宏,用户不必编写任何代码,就可以实现一定的交互功能。 ⑥模块。模块是生命、语句和过程的集合,它们作为一个单元存储在一起。 (5)ACCESS 2010 功能区包含四个选项卡

①开始选项卡。开始选项卡中分为视图、剪切板、字体、格式文件、记录、排序和筛选、查找、中文简繁转换等几大功能区。

②创建选项卡。创建选项卡中包括表、窗体、报表、其他、特殊符号等功能。 ③数据库选项卡。数据库工具包括宏、显示/隐藏、分析、移动数据、数据库工具等几大模块。

④外部数据选项卡。外部数据模块包括导入、导出、收集数据、SHAREPOINT列表。

8

太原工业学院毕业设计

3.2.3 、ACCESS建立数据库

(1)建立一个文件夹,命名为“汽车起重机液压系统CAD”,在文件夹空白处右击,选择建立access文件,命名为“泵和马达”,

(2)运行Access 2010应用程序,选择【新建】,双击【空数据库】命令,建 立数据库,如图3.1所示。

图3.1 新建界面

(3)Access 将创建表,然后单击【单击以添加】,选择文本选项,输入一个段名,如“型号”,依次类推,在下面一个空单元格,键入数据。如图3.2。

9

太原工业学院毕业设计

图3.2 创建表

(4)然后在表中将下表数据依次键入,形成一个表,如图3.3。

图3.3 数据表

10

太原工业学院毕业设计

(5)右击创建的表,在菜单中选择【设计视图】,对表命名,例如将表命名为“外啮合齿轮泵”,点击确定,打开如图3.4所示的视图,对话框中可设置数据库环境属性,同时还可以对数据对象设置属性。

图3.4 打开设计视图

(6)点击【数据类型】中的下拉菜单,以段名“型号”为例,点击下拉按钮,选择【文本】,那么以型号为列的段中,只能输入文本,如果选择“数字”。则只能输入数字,如图3.5。

11

太原工业学院毕业设计

图3.5设计视图界面

(7)数据都录入后,如果想保存,右击表头,如图,选择【保存】,建立的表将保存下来。

(8)一个access文件建立的是数据库,可以创建多张表格。 点击菜单栏中的【创建】,选择【表】,将创建一张表,这张表将和上一张表在同一个表组中,可以将这个表组命名为“齿轮泵”。

(9)Aaccess可以创建多个表组,在点击【创建】中的表设计,将出现设计视图,设置数据库环境属性和对象属性。右击表头点击保存,这时将创建一个新的表组,可以将这个表组命名为“马达”。以便对数据库进行合理的整理。如图3.6。

图3.6表组

12

太原工业学院毕业设计

4建立图形符号库

4.1图形符号库总体设计

4.1.1、图形符号库组成

依据起重机液压系统元件分析,确定要绘制也液压元件符号 (1)确定对象

包含减压阀和顺序阀,压力控制阀,方向控制-单向阀,方向控制-电液换向阀,方向控制-换向阀,方向控制-梭阀,方向控制-液控单向阀,流量控制阀,插装阀,油缸,泵和马达,气缸,辅助元件,管路连接口和接头,基本要素,检测器和其它元器件,流体调节器,能量贮存器,特殊能量转换器,油箱。

(2)收集液压元件符号

液压元件符号已经标准化,根据液压元件符号手册,收集液压元件符号。

4.2AutoCAD

4.2.1 、AUTOCAD简介

AutoCAD(Auto Computer Aided Design)是Autodesk(欧特克)公司首次于1982年开发的自动计算机辅助设计软件,用于二维绘图、详细绘制、设计文档和基本三维设计。现已经成为国际上广为流行的绘图工具。AutoCAD具有良好的用户界面,通过交互菜单或命令行方式便可以进行各种操作。它的多文档设计环境,让非计算机专业人员也能很快地学会使用。在不断实践的过程中更好地掌握它的各种应用和开发技巧,从而不断提高工作效率。AutoCAD具有广泛的适应性,它可以在各种操作系统支持的微型计算机和工作站上运行。

4.2.2 、AutoCAD图块功能说明

为了在绘制起重机液压系统原理图中,,可以重复使用液压元件符号,可以使用

13

太原工业学院毕业设计

autoCAD将元件符号建成块,绘图时可随时把需用的图块插入到当前图形任意指定的位置,插入时可按需要指定不同的比例因子和旋转角度,这既可提高绘图速度,节省存储空间,又便于图形的修改。

运行Autocad,创建图块命令有两种方法,用Block命令可创建“内部块”,它保存于当前图形中,并且只能在当前图形中通过块插入命令被引用,不能用于其他图形;而用Wblock命令创建的图块称为“外部块”,它被作为一图形文件保存,可被所有的图形文件调用。

(1) Block命令创建“内部块”

① 命令的功能:以对话框的形式创建块定义 ② 命令格式

Block命令的启动方法有:

▦ 选择下拉菜单的【绘图】|【块】|【创建】菜单项 ▦ 点击绘图工具条上的创建块工具按纽 ▦ 在命令行输入Block命令

启动该命令后,弹出图所示“块定义”对话框,如图4.1。在该对话框中,给出块的名称,指定基点并选择要转换为块的图形对象,然后单击“确定”按纽,即可完成块的定义。

图4.1“块定义”对话框

②对话框中各选项的功能如下:

▦ 【名称】选项组 :输入要创建图块的名称,最多为31个字符。

▦ 【基点】选项组:指定图块的插入点,X、Y、Z分别用于指定坐标值,默认

14

太原工业学院毕业设计

值为(0,0,0)。亦可单击【拾取点】按钮,捕捉当前图形中要插入的点。

▦ 【选择对象】选项组:从绘图窗口选择要定义为块的图形对象。单击【选择对象】按钮,选择当前图形中要定义成块的对象,选择完毕,重新显示对话框,并在选项组最下一行显示:“已选择X个对象”。

该选项有三个单选按纽,其中【保留】表示保留构成块的对象;【转换为块】表示将选取的图形对象转换为插入的块;【删除】表示定义块后删除当前图形中被定义成块的对象。

▦ 【预览图标】选项组:用于预览定义的图块图像。其中【从块的几何图形创建图标】表示将定义的图块图像显示在右侧的小视窗;而【不包含图标】则相反。

▦ 【拖放单位】选项组: 用来选择图块插入时的单位; ▦ 【说明】选项组:对所定义的图块的用途、用法进行说明。 ⑵ 用WBlock命令创建“外部块”。

①命令的功能:将当前图形中指定对象保存为图形文件,以便其它图形文件调用。

② 命令格式:WBlock只能在“命令行”输入,回车后显示“写块”对话框,如图4.2。

比较图与图可以看出,在“写块”对话框中多了“目标文件名和路径”下拉列表框,用于指定“外部块”存储在硬盘上的位置,这是“内部块”与“外部块”之间的不同之处;而两个对话框中其它对应选项的含义基本相同。 (3)插入图块

① 命令的功能:将已定义的图块插入到图形中,在图形中生成一个附属块。 ②命令格式

插入图块命令的启动方法有:

▦ 选择下拉菜单的【插入】|【块】菜单项。 ▦ 点击绘图工具条上的插入块工具按纽。 ▦ 在命令行输入insert命令。

启动该命令后,弹出如图4.3所示【插入】对话框。对话框中各选项的功能如下:

▦ 【名称】选项组:选择要插入块的名称。若要选择“外部块”,单击【浏览】

15

太原工业学院毕业设计

图4.2“写块”对话框

图4.3“插入”对话框

按钮,在弹出的“选择文件”对话框中选择所需图形文件。

▦ 【插入点】选项组:指定块插入点坐标,可在屏幕上直接指定,也可以通过坐标输入。

16

太原工业学院毕业设计

▦ 【缩放比例】选项组:设置块插入的比例。如果比例因子小于1将缩小图块,大于1则放大图块。比例因子可取正值或负值,若为负值,则插入块的镜像图。若选择“缩放比例”区中“统一比例”复选框,表示在X Y Z方向采用相同的缩放比例。

▦ 【旋转】选项组:设置块插入的旋转角度。逆时针为正值,顺时针为负值。 ▦ 【分解】选项组:选中表示插入图块时将块分解为一个个单一的对象,而不再是整体的块对象。选定【分解】时,只可以指定统一的比例因子。

(4)块属性

块属性是指附属于块的非图形信息,是特定的可包含在块定义中的文字对象,如把一个“粗糙度图标”定义为块时,还可以把“粗糙度值RA”等文字对象一并加入到块中。在插入块时AutoCAD把图形对象连同其属性一起插入到图形中,这时可对其属性进行编辑,还可把属性单独提取出来写入文件,以供统计、制表或数据库进行数据通信。

注意:要创建带属性的外部块文件,应先绘制相应图形,再定义块属性,最后用wblock命令将“图形及块属性”定义成块文件。

① 命令的功能 定义块的属性。 ②命令格式

定义块属性命令的启动方法有:

▦ 选择下拉菜单的【绘图】|【块】|【定义属性】菜单项。 ▦ 点击绘图工具条上的定义属性工具按纽▦ 在命令行输入“attdef”命令。

启动该命令后,弹出“属性定义”对话框,如图4.4。

17

太原工业学院毕业设计

图4.4“属性定义”对话框

对话框中各选项的功能如下:

▦ 【模式】选项区:由上至下各选项可设置属性为不可见、固定、验证和预置。如各项为缺省值,则插入图块时系统不提示输入该块的属性值及不提示检查该属性的正确性。

▦ 【属性】编辑区:用来定义属性。在【标记】和【值】中分别输入属性标记和属性值,【标记】不能空白。在【提示】中输入图块插入时将出现在命令行中的提示信息。

▦ 【插入点】选项区:用于定义属性文本插入点的坐标。单击【拾取点】按钮,在屏幕上指定插入点,亦可在X、Y、Z的编辑框内输入插入点的具体坐标。

▦ 【文字选项】选项区:用于定义文本的对齐、类型、高度和旋转角度。

4.2.3、使用AutoCAD创建图块实例

创建图块实例:单活塞杆缸

(1)绘制液压元件手册中的元件符号,如图4.5。

18

太原工业学院毕业设计

图4.5元件符号

(2)创建图块 ①.运行AutoCAD

②.绘制矩形:单击AutoCAD界面左边的快捷工具栏中的按钮

,也可以单

击菜单栏中【绘图】|【矩形】,根据命令栏提示,确定矩形的第一个角点,然后在命令栏中输入“d”,确定,命令栏提示输入矩形的长度,输入数字“20”,按下【Enter】或空格键,命令栏提示输入宽度,输入数字“10”,选择矩形的另一个角点 后左击鼠标,将绘制一个矩形,如图4.6。

19

太原工业学院毕业设计

图4.6绘制矩形

③绘制直线:单击,沿着矩形的左边线绘制一条和左边线重合的线段,选

中刚画的直线将线段向右拖拽,然后在命令栏中输入数字“10”,如图4.7。

图4.7绘制中间线段

④单击直线命令,起点在矩形的左下角,水平向右作线段,长度取2 然后垂直向下作线段,长度取10。

⑤镜像:单击界面右边工具栏中的按钮

,或则单击菜单栏中【绘图】|【镜

像】,调用镜像命令,根据命令栏提示,选择矩形下方的线段,右击鼠标,选取矩形内中间线段的两个端点,确定镜像线的两点,将以该线段为镜像,点击确定,如图4.8。

20

太原工业学院毕业设计

图4.8绘制

⑥单击直线命令,按住键盘【Ctrl】键不放,右击鼠标,在出现的右击菜单中选择“中点”,将指针放在矩形中线上,当出现小三角形时左击鼠标,将以线段的中点为起点绘制直线,水平向右绘制直线,取长度为9。单活塞杆缸符号就绘制完成了,如图4.9。

图4.9绘制杠

⑦创建块:在命令栏中输入“wblock”调用新建块命令,单击对话框中按

钮,拾取块的基点,选择矩形的坐下角,左击鼠标,回到对话框。然后单击对话框中

,选择要创建块的对象,左框选刚才绘制的图形,右击鼠标,重新回到对话

框。在“文件名和路径”编辑框中输入图块的地址,例如:“D:\\液压系统CAD\\气缸和液压缸\\单活塞杆缸”。Autocad将一个名为“单活塞杆缸”的块创建在文件夹“D:\\液压系统CAD\\气缸和液压缸”下,如图4.10。

21

太原工业学院毕业设计

图4.10“写快”对话框

4.3创建液压元件图形符号库

液压元件图形符号库是液压系统的核心部分,绘制液压系统的元件图都来源于图形符号库,符号库直接决定着液压系统原理图的质量,因此有必要建立一个合适的符号库。

(1)建立图形符号库分级文件夹

建立数据库分级文件夹,分级文件夹是符号库的层次结构。它有助于符号文件的分类和选择,如图4.11。

22

太原工业学院毕业设计

图4.11分级文件夹

(2)建立图形符号库类型文件夹

在同一个文件夹下,建立液压元件类型的子文件夹,文件夹的个数由起重机液压系统的结构决定,文件夹太少不利于符号文件的分类,如果太多,又会使液压系统累赘,在选择类型是不利于快速定位,文件夹的个数以15个为益,按照元件的分类建立液压系统子文件夹,如图4.12所示。

图4.12类型文件夹

(3)建立符号文件

在分级文件夹每个类型文件夹都代表着一类液压元件符号,例如在泵和马达中,

23

太原工业学院毕业设计

将包含起重机液压系统设计所用到的泵和马达的元件符号,绘制起重机液压原理图时,将直接从符号库中的“泵和马达”文件夹下调用块,从而省去了绘制符号的过程。如图4.13

图4.13建立符号文件

24

太原工业学院毕业设计

5建立ODBC数据库连接

5.1 ODBC数据库简介

ODBC 即开放数据库互连 。开放数据库互连(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。

开放数据库互连(ODBC)是MICROSOFT提出的数据库访问接口标准。开放数据库互连定义了访问数据库API的一个规范,这些API于不同厂商的DBMS,也于具体的编程语言(但是MICROSOFT的ODBC文档是用C语言描述的,许多实际的ODBC驱动程序也是用C语言写的。)ODBC规范后来被X/OPEN和ISO/IEC采纳,作为SQL标准的一部分,

应用系统程序通过标准API来连接数据源,因此开发过程中不需指定特定的数据库系统,所以数据库系统的开放性从此被建立。笔者认为在计算机系统进入开放时代之时,我们应可体会到标准的建立与系统的发展是同样的重要。而信息系统架构在数据库的必要性也随着信息化社会的蓬勃发展而更显重要,因此在ODBC标准日益成熟的同时,我们也同时可以感受到数据库系统在开放架构下,更需扮演强而有力的角色。

5.2 ODBC数据库在起重机液压系统中的应用

5.2.1应用概述

在工程设计过程中,经常需要引用一系列的数据资料,比如有关的图表,各种标准,实验曲线,各种规范等。在传统的设计过程中,这些资料的获得通常是由人工查询手册或标准。AutoCAD提供了将AutoCAD图形和数据库连接的工具,使得外部数据oCAD图形对象关联在一起。例如,可以把一个液压元件数据库中包含的信息同在图形中描绘泵的型号,排量相关联,通过创建参照表中一个或多个记录的

25

太原工业学院毕业设计

连接,可以建立图形对象和数据库表之间的关联,链接和它们关联的图形对象紧密结合在一起,如果移动或者复制被链接的对象,那么链接也一块被移动或复制,如果删除被链接的对象,那么链接也将被删除。创建链接,意味着在数据库记录和对象之间建立了动态关系。AutoCAD提供了一套机制能够更新存储在图形中的信息使之和数据库表一致。Microsoft的Access是在Windows下开发的关系数据库系统。利用Access建立的数据库不仅能存储数据和文字资料。而且也能存储图像,图表和声音等资料。所以它又被称为多媒体数据库系统,同时它具有客户/服务系统的大多数功能。它也可以用OLE和DDB技术与其他软件共享数据和交流信息。AutoCAD支持对Access数据库的连接,可以通过操作使图形数据与数据库记录相链接,并保持实时更新。

5.2.2、 ODBC数据库与access数据库的连接

(1)准备条件:ODBC,Access,Auto CAD三个系统要拥有相同的数据结构。例如。ODBC是32位的,那么Access,Auto CAD也是32位的。如果数据结构不同,那么将无法连接。本文中使用的AutoCAD是位的,所以使用位的ODBC和Access。

(2)建立连接:

①单击【开始】|【控制面板】|【管理工具】|【数据源(ODBC)】,如图5.1和图5.2。

图5.1控制面板

26

太原工业学院毕业设计

图5.2管理工具

②也可以用资源管理器打开,在桌面双击【计算机(或电脑)】| 【c盘】|【WINDOWS】。如果计算机是位的,那么会有两种选择。一种是位的ODBC,位于文件夹“syswow”中。一种是32位的ODBC,位于文件夹”syeterm32”中(两种都可以用,但必须满足准备条件)如图5.3。打开文件夹“syswow”。找到文件“odbcad32.exe”,如图5.4。

图5.3 WINDOWS文件夹

图5.4 syswow文件夹

③双击打开“odbcad32.exe”。

④选择【用户DSN】,点击【添加】,如图5.5。

27

太原工业学院毕业设计

.图5.5“ODBC数据源管理器”对话框

⑤.选择列表中的“Microsoft Access Driver”,如图5.6。

图5.6“创建新数据源”对话框

28

太原工业学院毕业设计

⑥单击【完成】这时出现驱动安装的对话框,如图5.7。

图5.7驱动安装对话框

⑦单击【选择】然后找到之前建立的数据库文件,单击【确定】,如图5.8。然后对需要建立的ODBC数据库命名,名称可以与数据库文件不同。例如,在数据源名编辑框中输入名称“液压系统”,单击【确定】,ODBC数据库配置完成,如图5.9。

图5.8“选择数据库”对话框

29

太原工业学院毕业设计

图5.9液压系统

5.2.3、ODBC数据库与AutoCAD的连接

(1)运行AutoCAD。单击【工具】|【选项板】|【数据库连接】,打开数据连接管理器。也可以使用快捷键【ctrl+6】 打开数据库连接管理器,如图5.10。

图5.10数据库连接管理器

30

太原工业学院毕业设计

(2)右击【数据源】,单击【配置数据源】,将出现“配置数据源”对话框,如图5.11。在数据源名称编辑框中输入任意一个名称,该名称可以和ODBC数据源名称不一样。例如输入“起重机液压系统数据库”,如图5.12。

图5.11“配置数据源”对话框1 图5.12“配置数据源”对话框2

(3)单击【确定】,将出现“数据源连接属性”对话框,如图5.13。选择列表中的“Microsoft office OLE DB provider for ODBC drivers”。单击【下一步】,单击使用数据源名称中的下拉按钮,将出现ODBC数据库,这些数据库名称是配置ODBC数据库时用到的名称,选择前面配置ODBC时输入的名称“液压系统”,如果没有“液压系统”选项,单击右侧的【刷新】。

图5.13属性对话框

31

太原工业学院毕业设计

(4)单击【测试连接】,如果都按照要求做了,将出现测试连接成功的对话框。如图5.14。

图5.14提示对话框

(5)如果出现类似应用程序数据结构不匹配的错误提示,则是ODBC,Access,AutoCAD的位数不一样,可以选择安装32位的Microsoft office和AutoCAD。

(6)回到AutoCAD操作界面,数据连接管理器中将出现“起重机液压系统数据库”,红色的叉表示“起重机液压系统数据库”不在线,右击【起重机液压系统数据库】,选择【连接】,这时红叉将消失,并且出现一个列表,这个列表就是用Access建立的数据库文件内的列表,如图5.15。双击其中的一个表。例如双击“YHG液压缸”,这时将出现数据视图,如图,数据视图中的表和Access中表的数据是一样的。如图5.16和图5.17。

图5.15起重机液压系统数据库

32

太原工业学院毕业设计

图5.16数据视图

图5.17数据表

(7)数据视图的按钮功能如图5.18所示。

图5.18功能按钮示意图

33

太原工业学院毕业设计

(8)点击查询按钮,将出现查询对话框,如图5.19。

图5.19查询对话框

(9)单击【继续】将出现“查询编辑器”对话框,如图5.20。

图5.20查询编辑器

(10)在查询编辑器中,可以自定义查询条件,查询表中的任何数据。确定好查询条件后单击【执行】,在数据视图中将列出符合条件的记录。以“推力为3140”

34

太原工业学院毕业设计

为例,选择字段“推力”,输入数字“3140”,单击【执行】,如图5.21。将查询到推力为3140所有记录,如图5.22。

图5.21查询

图5.22查询结果

35

太原工业学院毕业设计

6 AutoCAD Vlisp编程

6 .1 Visual LISP与AutoLISP

LISP是List Processor(表处理程序)的缩写,主要用于人工智能(AI)领域。AutoLISP是人工智能语言CommonLISP的简化版本,作为通用LISP语言的一个小子集,AutoLISP严格遵循其语法和惯例,但又添加了许多针对AutoCAD的功能。Autodesk公司在AutoCAD 2.1版引入AutoCAD作为应用程序编程接口(API),用于扩展和自定义AutoCAD功能。借助AutoLISP,用户可以用适合编写图形应用程序的强大的高级语言来编写宏程序和函数,并开发各种软件包。AutoLISP易于使用,并且非常灵活,多年来一直是自定义AutoCAD的标准。

从AutoCAD R14开始,Visual LISP被引入到AutoCAD中,它增强并扩展了AutoLISP语言,可以通过 Microsoft ActiveX Automation接口与对象交互,并扩展了AutoLISP响应事件的能力。作为开发工具,Visual LISP提供了一个完整的集成开发环境(IDE),包括编译器、调试器和其他工具,可以提高自定义AutoCAD的效率。另外,Visual LISP提供了发布用AutoLISP编写的应用程序的工具。Visual LISP没有任何特殊的硬件需求,能运行AutoCAD系统即可运行Visual LISP。

6.2 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命令提示处的提示。

36

太原工业学院毕业设计

6.3Visual LISP简介

6.3.1、Visual LISP的主要组成部分和功能

(1)语法检查器:可识别AutoLISP语法错误和调用内置函数时的参数错误。 (2)文件编译器:改善了程序的执行速度,并提供了安全高效的程序发布平台 (3)源代码调试器:专为AutoLISP设计,利用它可以在窗口中单步调试AutoLISP源代码,同时还在AutoCAD图形窗口显示代码运行结果。

(4)文字编辑器:可采用AutoLISP和DCL语法着色,并提供其他AutoLISP语法支持功能。

(5)AutoLISP格式编排程序:用于调整程序格式,改善其可读性。 (6)全面的检验和监视功能:用户可以方便地访问变量和表达式的值,以便浏览和修改数据结构。这些功能还可用来浏览AutoLISP数据和AutoCAD图形的图元。 (7)上下文相关帮助:提供AutoLISP函数的信息。强大的自动匹配功能方便了符号名查找等操作。

(8)工程管理系统:维护多文件应用程序更加容易。

(9)打包功能:可将编译后的AutoLISP文件打包成单个模块。

(10)桌面保存和恢复能力:可保存和重用任意VLISP任务的窗口环境。 (11)智能化控制台窗口:它给AutoLISP用户提供了极大的方便,从而大大提高了用户的工作效率。控制台的基本功能与AutoCAD文本屏幕类似,还提供了许多交互功能,例如历史记录功能和完整的行编辑功能等。

6.3.2 、 LISP的启动和界面

由于Visual LISP集成于AutoCAD系统内部,因此用户必须先启动AutoCAD,然后才能进入Visual LISP IDE环境。

(1)启动Visual LISP的方式为:

①菜单:【工具】|【AutoLISP】|【Visual LISP编辑器】。 ②命令行:vlide(或vlisp)

37

太原工业学院毕业设计

(2)启动Visual LISP后,其主要界面如图6.1所示。

图6.1Visual LISP界面

各组成部分的说明如下:

① 【菜单栏】:通过选取各菜单项来发出Visual LISP命令。

② 【工具栏】:提供了对常用Visual LISP命令的快速调用。Visual LISP共提供了五个工具栏:【标准】、【搜索】、【视图】、【调试】和【工具】,每个工具栏各自代表不同功能的命令组。

③ 【编辑窗口】:用于编辑LISP文件代码。如果用户同时编辑多个文件,则Visual LISP使用多个编辑窗口来分别显示文件。

④ 【控制台窗口】:类似于AutoCAD的命令窗口,可在其中输入AutoLISP命令,也可以不使用菜单或工具栏而直接在控制台窗口中调用Visual LISP命令。 ⑤ 【跟踪窗口】:在启动Visual LISP,该窗口将显示Visual LISP当前版本的信息。而如果Visual LISP在启动时遇到错误,它还会包含相应的错误信息。 ⑥ 【状态栏】:显示提示信息。比如,当菜单上的某一个菜单项被亮显,则状态栏上将显示相关命令功能的简介;当鼠标指针在工具栏某按钮上停留几秒钟后,Visual LISP将显示工具提示说明按钮功能,并同时在状态栏上显示更详细的描述;当Visual LISP在编辑窗口中打开文件时,状态栏上将显示文件名名称及其路径。 ⑦ 【其他窗口】:有些Visual LISP函数将创建它们自己的窗口来显示结果。用

38

太原工业学院毕业设计

户不能在这些输出窗口中输入文本,但可以从中复制,并将其粘贴到编辑器或控制台窗口中。

用户可选择菜单【文件】【|退出】或单击窗口右上角的 按钮来退出Visual LISP环境并返回AutoCAD系统窗口。Visual LISP将保存您退出时的状态,并在下一次启动Visual LISP时自动打开上次退出时打开的文件和窗口。

6.4Vlisp编程实例

实例:主程序

Vlisp运行模式是先主程序,后子程序;先排在前面的程序运行,后排在后面的程序运行;先括号最里面的运行,后括号外面的的运行。Vlisp语法采用普遍的前置法,即函数名在前面,相关参数在后面。以下列程序为例

(defun charua1();子程序

(setq dcl_id (load_dialog \"液压系统\"));.

. . .

(setq mlname \"泵和马达\") (setq dd nil) (mldzsc)

(wjmsc)

(action_tile \"a1\" \"(setq mlname(get_attr $key \\\"label\\\" ))

(defun c:yeyaxitong();主程序 (princ \"调用命令:yeyaxitong\") (setvar \"cmdecho\" 0); (charua1);调用子程序 (prin1) );退出

(1)主程序中:函数“defun”表示定义一个函数,“c:”表示定义一个CAD命令,可以在CAD命令栏中调用。所以一般以此为主程序。由“先主后子”的原则,先执行主程序,之后程序会由上往下运行,执行“princ”,“setvar”命令,接

39

太原工业学院毕业设计

着调用用户自定义的子程序“charua1”并将子程序运行一遍。

(2)子程序中:在运行表达式“(setq dcl_id (load_dialog \"液压系统\")) ”时,遵守“先里后外”的原则,先执行表达式“(load_dialog \"液压系统\") ”并返回一个值,假设这个值为“x”,之后会执行表达式“(setq dcl_id x)”。“setq”是赋值函数,表示将“x”的值赋值给变量dcl_id 。“(setq mlname \"泵和马达\")”,该表达式表示将字符串\"泵和马达\"赋值给变量mlname。“(setq dd nil)”表示将变量设置为空置。而表达式“(mldzsc)”表示调用另一个子函数“mldzsc”。

(3)根据Vlisp的运行模式和函数定义,编写起重机液压系统的程序源代码,见附录1。

(4)起重机起重机液压系统的程序源代码编好后,操作起来并不直观。这时要制作一个对话框来控制程序。对话框上每一个按钮等控件都有唯一的关键字,即它们的名字。当操作按钮等控件时,可以调用函数“action”来控制程序。例如表达式“action_tile \"a1\" \"(setq mlname(get_attr $key \\\"label\\\" ))”,表示按下名称为“a1”的按钮时会执行表达式“(setq mlname(get_attr $key \\\"label\\\" ))”。不妨以计算机为对比,对话框就相当于计算机的键盘,鼠标和屏幕,而程序就相当于计算机的系统,函数“action”相当于导线和各种驱动器。根据程序和需要,编写对话框DCL源代码,见附录2。

40

太原工业学院毕业设计

7绘制Q2-8汽车起重机液压系统原理图(支腿回路部分)实例

(1)液压系统要求:液压系统工作额定功率60KW/h。 (2)根据额定功率计算结果需要的元件参数清单,如表7.1

表7.1元件参数清单

泵 换向阀 液压缸 缸径25cm 行程320cm

方向控制阀 单向阀

油箱 加到油箱

转速600(r/min) 三位四通 压力7/MPa

(3)使用建立的参数数据库查询表7.1中各元件的型号。得到元件型号清单,如表7.2

表7.2元件型号清单

单向变量液压泵

换向阀 三位四通

液压缸 单活塞杆缸

方向控制阀 单向阀

油箱 加到油箱

(4)绘制如下原理图(支腿回路部分),如图7.1。

图7.1原理图(支腿回路部分)

41

太原工业学院毕业设计

(5)运行Auto CAD

①单击【工具】|【加载应用程序】,找到文件“液压系统.lsp”,加载该程序。并在支持文件地址中添加文件“液压系统.dcl”的地址。在命令栏中输入“yeyaxitong”。调用起重机液压系统,如图7.2。

图7.2起重机液压系统

②单击【泵和马达】,选择“【单向变量液压泵”】,单击确定,将插入单向变量液压泵的符号。

③单击“【方向控制阀】,选择【三位四通阀2】,单击确定,选定合适的插入点。 ④单击【气缸和液压缸】,选择【单活塞杆缸】,单击确定,选定合适的插入点。 ⑤单击【方向控制阀】,选择【单向阀】,单击确定,选定合适的插入点。 ⑥单击【油箱】,选择【加到油箱】,单击确定,选定合适的插入点。

42

太原工业学院毕业设计

⑦将绘制成起重机液压系统原理图(支腿回路部分),如图7.3

图7.3起重机液压系统原理图(支腿回路部分)

43

太原工业学院毕业设计

结论

经过一个学期的努力,毕业设计完成了。这是一次综合性的学习,不仅增强了我们自学的能力,而且考验了我们解决问题的能力。对于即将步入社会的我们,学习及解决问题的能力是我们急需加强锻炼的,在这我要说一声:非常感谢学校给了我这样的一次机会,让我了解到自己的能力,并从中得到了锻炼。也非常感谢我的指导老师,老师的建议是整个设计过程的指航明灯!

为了完成本次设计,我学到了很多新的东西,比如说:起重机的类型、起重机液压系统的工作原理、利用Access应用软件建立数据库,应用AutoCAD建立图形符号符号库,使用ODBC连接Access和AutoCAD,使用AutoVLISP编写应用程序。并且巩固了以前所学的专业知识,比如:液压传动、AutoCAD绘图等。这些知识在将来都会成为我成功路上的奠基石。

在设计的过程当中,也遇到了很多问题。一个问题会困惑我好几天,例如使用ODBC时,由于计算机和AutoCAD是位的,而Access是32位的,导致始终无法连接。这个问题老师无法解决,网上资料时也很少提及,一次偶然的机会,我发现有人分析了ODBC报错的原因,在无数次尝试下,最终将ODBC连接上了。还有在编程时,这里面出现的问题才是我遇到的最大的困难,周围鲜有学习AutoVLISP的人,根本没有人能够请教,完全靠自学,自己解决问题。程序中一个小符号错了,就足以找上半天。程式使用不对,还可以使用编辑器和编程手册查出来。如果逻辑结构不合理,甚至陷入死胡同,那就算你翻遍了书籍也无法解决,因为自己的思路别人很难理解,除非有人能理解你整个程序。

尽管在做毕业设计的过程中,遇到了很多的困难,有时甚至有放弃的念头,可是还是坚持下来了。解决问题,拨开云雾见青天的喜悦是最大的安慰,自己学到的知识和能力是最大的收获。

44

太原工业学院毕业设计

参考文献

[1].李万莉.工程机械液压系统设计[M].上海:同济大学出版社,2011 [2].钟雯.机械类课程设计、毕业设计选题精选—机械设计专业[M].北京:化学工业出版社,2010

[3].鲁达.汽车与工程机械液压传动[M].北京:人民交通出版社,1984 [4].刘忠.工程机械液压传动原理、故障诊断与排除[M].北京:机械工业出版社,2004

[5].苏欣平.工程机械液压与液力传动[M].北京:中国电力出版社,2009 [6].苏传芳.Access数据库实用教程[M].北京:高等教育出版社,2006. [7].Fitch, E. C.Hydraulic Failure-Analysis & Prevention. Stillwater, OK[M] .USA: FES,Inc.1984.

[8].Ferenc Furesz etc. Fundamentals of Hydraulic Power Transmission [M].New York.1988.

[9].Z. J. Lansky etc.Industrial Pneumatic Control [M].New York.1986. [10].李学志.AutoCAD2000定制与VisualLISP开发技术[M].北京:清华大学出版社,2001.

[11].赵景亮.AutoCAD2004与AutoLISP二次开发技术[M].北京:清华大学出版社,2004.

[12].李长勋.AutoCAD Visual LISP程序开发技术[M].北京:国防工业出版社,2005.

[13].郭剑锋.用Visual LISP开发AutoCAD2000应用程序[M].北京:人民邮电出版社,2000.

[14].成大先.机械设计手册单行本液压传动[M].北京:化学工业出版社,2004. [15].张志文.起重机设计手册[M].北京:中国铁道出版社,1997.

45

太原工业学院毕业设计

致 谢

本设计是在王玉玲老师的悉心指导和严格要求下完成的。在这期间老师给我提供了不少建议,在我设计遇到困难而无法继续做下去时老师给我耐心讲解,并且一讲就是两三个小时,平时还多次召集我们查看我们的进展情况。老师广博的专业学识、严谨的治学态度以及执着的事业追求使我受益匪浅,她严紧的科学作风和实事求是的科学态度给我留下了深刻的印象。

在老师艰辛教导下,经过这短短几个月时间,我不仅学到了丰富的专业设计知识和技巧,更重要的是使我学到了课题研究的方法和态度。

在这里我希望表达对老师最诚挚的感谢。同时也要感谢和我一起做设计的伙伴们,他们在我设计的过程中给了我很多帮助。

46

太原工业学院毕业设计

附录1 LSP程序源代码

(defun sub_klist(vvs filelist1);\"1\"得到”icon” (setq name (nth (atoi vvs) filelist1)) )

(defun setradio (n);用程序保证只有一个选择。 (setq j 0) (repeat 15

(set_tile (strcat \"a\" (itoa (setq j (1+ j)))) \"0\")) (set_tile (strcat \"a\" (itoa n)) \"1\") )

(defun chushihuatu(key3 sld3);图像按钮初始化函数,参数key为关键字,sld ;为幻灯片名

(mode_tile key3 0) (start_image key3) (setq x (dimx_tile key3)) (setq y (dimy_tile key3)) (fill_image 0 0 x y -15 )

(setq charunamesld (strcat mldz0 \"\\\\\" sld3)) (slide_image 0 0 x y charunamesld) (end_image) )

(defun ml(mldz4 hz3 / y);;获取mldz4目录下全部后缀为hz3(如“.lsp”,“.sld”) ;的文件 ;名,并去掉后缀。filelist是带后缀的文件名表, ;返回的x是不带后缀的文件名表

(setq filelist (vl-directory-files mldz4 hz3 1) )

;搜索mldz4文件夹,并返回由hz3文件构成的表

47

太原工业学院毕业设计

(setq x (mapcar

;将表中各个元素进行某一表达式的操作,返回执行结果构成的表 '(lambda(y)(vl-filename-base y) ) filelist ;去掉后缀 ) ));将去掉后缀的文件名赋值给x

(defun tubiaoji(num);1得到“icon1”

(setq zfnum (itoa num));将数字转化为字符串,并赋值给zfnum

(setq zh (strcat \"icon\" zfnum));连接字符串“icon”和zfnum,并赋值给zh )

(defun image-to-list(keyt);图像到表,按下图像后显示表 (mode_tile keyt 4) (setq ass keyt )

(setq ass1 (atoi ( substr ass 5) ));读取当前活动图像按钮的位置,如按下icon7, ;得到位置为7

(setq ass3 (- ass1 ass2));取当前活动图像按钮与上次按钮位置的差

(setq ass4 ( atoi (get_attr \"listbox\" $value)));取得当前列表的value,即列表位置 (setq ass5 (+ ass4 ass3 )) (set_tile \"listbox\" (itoa ass5)) ; (setq name (nth ass5 zj1)) )

(defun list-to-image (zn lists dwglist);表到图像按钮,按下表后显示图像按钮,; ;参数是lists后缀为sld的表,zn表示按下列表按钮后的当前位置。 (if (< zn 9) (setq zn1 zn) (if (< zn 18) (setq zn1 (- zn 9))

(if (< zn 27 ) (setq zn1 (- zn 18)) (if (< zn 36) (setq zn1 (- zn 27))

48

太原工业学院毕业设计

(if (< zn 45) (setq zn1 (- zn 36)) (if (< zn 54) (setq zn1 (- zn 45))

(if (< zn 63)

(setq zn1 (- zn 54)) (prin1 \"文件数目过多\") ))))))

);得出小于9的数

(setq zn2 (- zn zn1));zn2为图像初始化起点取值为“0”“9”“18”“27”.... (setq defkey4 (tubiaoji zn1 ));(tubiaoji zn)意思是1得到“icon1”, (setq biaochandu (length lists)) (setq qidian 0)

(if (> (- biaochandu zn2) 9) (repeat 9

(setq key2 (tubiaoji qidian));0得到“icon0” (setq sld2 (nth zn2 lists)) (chushihuatu key2 sld2) (setq qidian (+ qidian 1)) (setq zn2 (+ zn2 1))

);循环9次,使得每个图像按钮都初始化 (progn;同样循环9次,只是分开两次处理

(setq zn3 (- biaochandu zn2) );zn3为可用来显示幻灯片终止位置 ;(setq zn4 (+ zn3 1) ) ;zn4为显示幻灯片个数 (repeat zn3

(setq key2 (tubiaoji qidian));0得到“icon0” (setq sld2 (nth zn2 lists)) (chushihuatu key2 sld2) (setq qidian (+ qidian 1)) (setq zn2 (+ zn2 1))

49

太原工业学院毕业设计

)

(repeat (- 9 zn3);将多出的图像按钮置灰, ( setq key3 (tubiaoji qidian))

(setq qidian (+ qidian 1)) (start_image key3) (setq x (dimx_tile key3)) (setq y (dimy_tile key3)) (fill_image 0 0 x y -15 ) ;(slide_image 0 0 x y charunamesld) (end_image)

) );避免余下的图像按钮不足9的情况

)

(setq name (nth zn dwglist))

(mode_tile defkey4 4);显示第zn1个图像按钮 )

(defun wjmsc()

(setq mldz5 (mldzsc)) (setq zj (ml mldz5 \"*.dwg\"))

;;获取mldz5目录下全部sld文件名,传给中间变量jz,jz是不带后缀的表 (setq zj1 filelist);得到jz1,是带后缀的表 ;(setq abc1 (nth 1 zj1) )

;(setq abc0 (nth 0 zj1) ) (start_list \"listbox\" ) (mapcar 'add_list zj)

(end_list) ;将表加入到key为listbox的列表框中 (setq zj5 (ml mldz5 \"*.sld\"))

;;获取mldz5目录下全部sld文件名,传给中间变量jz,jz5是不带后缀的表 (setq zj6 filelist);得到jz6,是带后缀的表 (list-to-image 0 zj6 zj1) )

50

太原工业学院毕业设计

; (defun xialist(biao);调用时需要一个表参数,结果是将表加入到key为listbox的列表中

(defun mldzsc()

(setq mldz0(strcat \"D:\\\\液压系统CAD\\\\液压气动图形符号库\\\\液压气动符号库\\\\\" mlname)

) )

(defun charua1()

(setq dcl_id (load_dialog \"液压系统\"));给dcl文件一个标示符 (if (< dcl_id 0 )

(prin1 \"对话框文件未找到,请在:支持文件路径搜索,中添加地址D:\\液压系统CAD\")

;判断是否加载dcl文件

(if

(not (new_dialog \"charukuai\" dcl_id) )

;显示对话框并于屏幕中间显示,判断是否加载对话框 (prin1 \"对话框无法显示\") (progn;对一切初始化值赋值 (setq mlname \"泵和马达\") (setq dd nil) (setq cs \"listbox\") (set_tile cs \"0\") (mldzsc) (wjmsc)

(action_tile \"a1\" \"(setq mlname(get_attr $key \\\"label\\\" ))

(setradio 1)(mldzsc)(wjmsc)\");目录地址生成,目录地址下文件名生成 (action_tile \"a2\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 2)(mldzsc)(wjmsc)\")

(action_tile \"a3\" \"(setq mlname(get_attr $key \\\"label\\\" ))

51

太原工业学院毕业设计

(setradio 3)(mldzsc)(wjmsc)\")

(action_tile \"a4\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 4)(mldzsc)(wjmsc)\")

(action_tile \"a5\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 5)(mldzsc)(wjmsc)\")

(action_tile \"a6\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 6)(mldzsc)(wjmsc)\")

(action_tile \"a7\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 7)(mldzsc)(wjmsc)\")

(action_tile \"a8\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 8)(mldzsc)(wjmsc)\")

(action_tile \"a9\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 9)(mldzsc)(wjmsc)\")

(action_tile \"a10\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 10)(mldzsc)(wjmsc)\")

(action_tile \"a11\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 11)(mldzsc)(wjmsc)\")

(action_tile \"a12\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 12)(mldzsc)(wjmsc)\")

(action_tile \"a13\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 13)(mldzsc)(wjmsc)\")

(action_tile \"a14\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 14)(mldzsc)(wjmsc)\")

(action_tile \"a15\" \"(setq mlname(get_attr $key \\\"label\\\" )) (setradio 15)(mldzsc)(wjmsc)\")

(action_tile \"listbox\" \"(list-to-image (atoi $value) zj6 zj1)\") ;;(sub_klist $value jz1)表示得到jz1表中第$value个元素, ;(list-to-image (atoi $value) jz6)表示表到图;xhnx记录当前位置,

;;当下一次再按下表时,作为上一次的位置,在list-to-image中可以用到,; ;ass2用于记录图像按钮的位置

52

太原工业学院毕业设计

(action_tile \"icon0\" \"(prin1) \") (action_tile \"icon1\" \"(prin1) \") (action_tile \"icon2\" \"(prin1) \") (action_tile \"icon3\" \"(prin1) \") (action_tile \"icon4\" \"(prin1) \") (action_tile \"icon5\" \"(prin1) \") (action_tile \"icon6\" \"(prin1) \") (action_tile \"icon7\" \"(prin1) \") (action_tile \"icon8\" \"(prin1) \")

(action_tile \"accept\" \"(done_dialog 1)\") (setq dd (start_dialog));激活对话框 (if (= dd 1)

(progn

(setq charuname (strcat mldz0 \"\\\\\" name)) (command \"insert\" charuname) ) )

) ) ) )

(defun c:yeyaxitong();主程序 (princ \"调用命令:yeyaxitong\") (setvar \"cmdecho\" 0);关闭屏幕显示 (charua1);调用子程序 (prin1);退出 )

53

太原工业学院毕业设计

附录2 DCL对话框源代码

charukuai:dialog{

label=\"液压系统CAD\";//插入类型的对话框 :row{ :list_box{

key =\"listbox1\"; label =\"选择插入类型\"; width =25; height =40; fixed_height =true; value =\"1\"; fixed_width_font=true; }

:spacer{width=2;} :list_box{

key =\"listbox2\"; label =\"选择插入对象\"; width =20; height =40; fixed_height =true; value =\"1\"; fixed_width_font=true; }

:spacer{width=2;} :column{ :row{

54

太原工业学院毕业设计

:image_button{key=\"icon0\";color=3;width=15;height=6;} :image_button{key=\"icon1\";color=3;width=15;height=6;} :image_button{key=\"icon2\";color=3;width=15;height=6;} :image_button{key=\"icon3\";color=3;width=15;height=6;} :image_button{key=\"icon4\";color=3;width=15;height=6;} } :row{

:image_button{key=\"icon5\";color=3;width=15;height=3;} :image_button{key=\"icon6\";color=3;width=15;height=3;} :image_button{key=\"icon7\";color=3;width=15;height=3;} :image_button{key=\"icon8\";color=3;width=15;height=3;} :image_button{key=\"icon9\";color=3;width=15;height=3;} } :row{

:image_button{key=\"icon10\";color=3;width=15;height=6;} :image_button{key=\"icon11\";color=3;width=15;height=6;} :image_button{key=\"icon12\";color=3;width=15;height=6;} :image_button{key=\"icon13\";color=3;width=15;height=6;} :image_button{key=\"icon14\";color=3;width=15;height=6;} } :row{

:image_button{key=\"icon15\";color=3;width=15;height=6;} :image_button{key=\"icon16\";color=3;width=15;height=6;} :image_button{key=\"icon17\";color=3;width=15;height=6;} :image_button{key=\"icon18\";color=3;width=15;height=6;} :image_button{key=\"icon19\";color=3;width=15;height=6;} } :row{

:image_button{key=\"icon20\";color=3;width=15;height=6;} :image_button{key=\"icon21\";color=3;width=15;height=6;}

55

太原工业学院毕业设计

:image_button{key=\"icon22\";color=3;width=15;height=6;} :image_button{key=\"icon23\";color=3;width=15;height=6;} :image_button{key=\"icon24\";color=3;width=15;height=6;} } } } ok_cancel; } 56

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务