油气储运工程毕业论文:基于VBA的圆筒形储罐强度设计计算功能的开发.doc

上传人:文初 文档编号:309969 上传时间:2018-09-21 格式:DOC 页数:29 大小:808.89KB
下载 相关 举报
油气储运工程毕业论文:基于VBA的圆筒形储罐强度设计计算功能的开发.doc_第1页
第1页 / 共29页
油气储运工程毕业论文:基于VBA的圆筒形储罐强度设计计算功能的开发.doc_第2页
第2页 / 共29页
油气储运工程毕业论文:基于VBA的圆筒形储罐强度设计计算功能的开发.doc_第3页
第3页 / 共29页
油气储运工程毕业论文:基于VBA的圆筒形储罐强度设计计算功能的开发.doc_第4页
第4页 / 共29页
油气储运工程毕业论文:基于VBA的圆筒形储罐强度设计计算功能的开发.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、 本科毕业论文 ( 20 届) 基于 VBA 的圆筒形储罐强度设计计算功能的开发 所在学院 专业班级 油气储运工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I 目录 中文摘要 . 错误 !未定义书签。 英文摘要 . 错误 !未定义书签。 1.前言 . 1 1.1 背景 . 1 1.2 本文的研究意义和主要任务 . 1 1.2.1 本文的研究意义 . 1 1.2.2 本文的主要任务 . 1 2. VBA for AutoCAD 的开发技术 . 1 2.1 VBA for AutoCAD 的特点 . 2 2.2 与 VBA 有关的 AutoCAD 命令 . 3 2.3 VBA 的基本知识

2、以及程序基础 . 3 2.3.1 VBA 开发 AutoCAD 涉及的一些基本概念 . 3 2.3.2 VBA 程序编辑的基础 . 4 3.圆筒形储罐强度设计计算功能的开发 . 10 3.1 圆筒形储罐概述和设计参数 . 10 3.1.1 储罐的基本结构 . 10 3.1.2 设计参数的确定 . 11 3.2 圆筒形储罐强度计算方法与步骤 . 12 3.3 圆筒形储罐强度计算功能的开发 . 14 4.计算实例 . 20 4.1 圆筒厚度计算 . 20 4.2 椭圆形封头厚度计算 . 21 4.3 开孔补强计算 . 21 小结 . 24 参考文献 . 25 I 摘 要 圆筒形储罐广泛运用于石油化

3、工行业中,随着新项目的扩大建设以及技术的改进,储罐大型化是必然的趋势。储罐的大型化导致的设计量之大、绘图任务之繁重、设计周期之长都是不难想象的。为了能给制造者创造更大的产值和经济效益,储罐设计的 效率和准确性显得尤其的重要,而传统的靠人力计算已经远远不能满足要求。因此,针对这类产品,开发一套基于 VBA 平台能够实现直接进行强度分析应用软件,是一项既有学术意义又具实用价值的研究工作。目前,国内外运用 VBA 在 AutoCAD 中的二次开发研究比较流行。本文是研究利用 AutoCAD 内部的 VBA 技术对圆筒形储罐强度的设计计算进行二次开发,该方法具有语法简单、功能强大等特点 ,给开发者带来

4、极大的灵活性。同时 ,利用 VBA 的二次应用 ,实现了设计计算与实时绘图的有机结合 ,并且可以从 AutoCAD 内部很好地解决计算与绘图结合 的稳定性问题。通过 AutoCAD 内部的 VBA 程序设计方法 ,主要是可以求得储罐强度的设计要求,从而省去了繁琐的计算过程。 关键词 VBA; AutoCAD; 圆筒形储罐; 强度设计; 计算功能;二次开发 II Abstract Cylindrical tanks is widely used in petrochemical industry, along with the new project construction and expan

5、sion of improving the technology, a tank largescale is an inevitable trend. Tank largescale lead to design calculation large, mapping mission onerous, design cycle is long is not hard to imagine. In order to create greater value and economic benefits for manufacturer,tank design efficiency and accur

6、acy are especially important, while the traditional human computation has by far cannot meet the requirements. Therefore, in this kind of product, development of a platform based on VBA can realize directly strength analysis application software, is a both academic significance and have the practica

7、l value of the research work. At present, the domestic and international use VBA in AutoCAD secondary development research are popular. This article is to study using VBA of AutoCAD technology to development strength design calculation of cylindrical tanks, This method has simple syntax and powerful

8、 function traits,bring huge flexibility to developers. Meanwhile, the second application using VBA, achieve the design calculation and real-time graphics organically, And can from inside very good solution to AutoCAD combining calculation and drawing stability issues. Through the AutoCAD of VBA prog

9、ramming method, mainly can get the design requirements of tanks strength, eliminating the complicated computing process. Key words VBA; Aut oCAD; Cy lindr ic a l ta nks ; Str engt h des ign; Com put ing func tions ; Sec ond development1 1.前言 1.1 背景 由于我国石油资源的限制,必须充分利用国外石油资源。目前我国每年均要进口几千万吨原油和几百万吨液化石油气

10、,才能满足国民经济和人民生活的需要。另一方面,随着全球经济一 体化的发展,我国必须大力增加石油储备资源,以减少国际局势动荡对我国经济的影响。以上情况迫切要求我们大力增加石油储存能力,发展大型储罐。 大型储罐的发展其实无疑给我敲响了传统储罐强度计算不适应的警钟,现代计算机技术的发展能很好将计算自动化。 1.2 本文的研究意义和主要任务 1.2.1本文的研究意义 众所周知的是圆筒形储罐零部件繁多 、 结构复杂,而计算储罐的强度参数复杂,计算量大,容易出错,为了减少不必要的重复工作 、减少计算时间、提高设计效率,有必要设计一个比较完善的储罐强度设计软件。 1.2.2本文的主要任务 利 用 AutoC

11、AD 中附带的 VBA 开发一个储罐强度设计的窗口,包含罐壁厚度计算 、 封头计算 以及开孔补强计算。 2. VBA for AutoCAD 的开发技术 Microsoft Visual Basic For Applications 于 1994年首次出现在 Microsoftexcel和 Microsoft Project中,是用来自动执行任务的编程环境。由于 Visual Basic For Applications在开发上存在功能强大和开发容易等优势, 许多软件开发人员将它作为一种开发工具嵌入到自己的应用程序 。 在 AutoCAD RI4推出时,在其内置了 Visual Basic F

12、or Applications。 VBA提供了 Visual Basic 相似的开发功能,同时也有 Automotion的控制。在 AutoCAD中, AutoCAD VBA允许 VBA编程环境和 AutoCAD同时运行,并且可以通过 Active Automotion 接口对 AutoCAD进行编程控制。这样就把 VBA, Active Automotion, AutoCAD和紧密结合起来,提供了一个强有力的接口。 他不但能控制 AutoCAD的对象 ,也可以把信 息发送给其他应用程序或提供数据。 2 2.1 VBA for AutoCAD 的特点 VBA 提供了一个综合开发环境,具有完整的

13、对象浏览器 、 容错功能 、 属性窗口和工具窗口。使用 VBA,用户可以实用 Active Automotion 所提供的对象来二次开发 AutoCAD 的功能,建立自己的解决方案。 我们可以从功能 、运行速度 等方面来比较 VBA, VB 控制的 AutoCAD 哪个更具优势。 ( 1)程序功能 1 虽然 VBA 没有 VB 含有的其他部件和功能 (例如外部数据库引擎和报表输出等功能 )以及 VB 所提供建立可执行的源代码编译器,但 是 VBA 提供了一个文件中心模型(doeumentcentricmodel),能让程序代码以应用程序的格式保存起来。 ( 2)运行速度 Visual Basi

14、c Applications 是一个内嵌式的控制器,可以更好地与 AutoCAD 进行沟通,其运行速度快。 AutoCADVBA 和 AutoCAD 的内存空间是共享的,这个可以明显地提高运行速度。同时,它也提供了应用程序与其他 Visual Basic Applications 程序的沟通路径,当使用其他应用程序的对象类型库时, AutoCAD 可以被作为该程序的 Automation 客户程序,而不仅仅只是 AutoCAD 本身。 当 AutocAD 被外部的 VBA 应用程序或 VB 程序控制时,它的运行速度会明显降低,因为外部应用程序是要通过 Windows 系统来与 AutoCAD

15、进行沟通。使用 AutoCADVBA 作为ActivexAutomation 的控制器,它的运行速度与 objectARX 应用程序是非常接近,较其他开发方式如 ADS, ADSRX 和 LISP 速度上要提高非常多 1。 (3)使用范围与优势 1 Visual Basic Applications 是主应用程序提供的一个部件,随应用 程序本身一起提供,不需要单独安装。而 VB 是一个独立的开发软件,只能进行单独安装才能使用。总体而言, VB和 VBA 是各有所长,使用 VBA对 AutoCAD 进行二次开发的优势体主要现在下面几个方面 :开发环境与 VB 类似,而 VisualBasic 编

16、程环境易学易用; Aut0CADVBA 是自带嵌入在 Aut0CAD的应用程序中,所以不需要编程来建立与 AutoCAD 的连接,而 VB 则必须通过编程来建立与Aut0CAD 的连接; VBA 运行与 AutoCAD 利用相同的处理空间,从而提供了一个比较高效的编程环境,而独立的的 VB与 ActiveXAutomation 的接口需要通过 IPC 驱动 AutoCAD,因而 VBA比 VB 的性能更具明显优势,在 AutoCAD2006 中, VBA 与 AetiveXAutomation 技术得到进一步扩展, AetiveX 对象也更加丰富,触发应用程序的运行事件也相应增多; VBA 在

17、 AutoCAD应用程序进程内运行,程序运行速度比较快;利用 VBA 可以进行可视化界面的设计,能快速开发程序和及时得到设计的反馈;开发的工程可以单独存在,亦可以嵌入在图形中允许程序随图形文件一起存储,这使开发者在发行应用程序时有极大的灵活性; VBA 还可 以同其他使用 VBA 的应用程序集成,形成资源共享,例如,用户可以创建一个应用程序,自动提取属性信息,把结果直接插入 Excel 数据表以及执行任意数据转换;允许工程文件加密。总之,AutoCADVBA 是一个非常看好的开发工具,现在全球有很多公司还在运用 AutoCADVBA 进行程序的二次开发。 3 2.2 与 VBA 有关的 Aut

18、oCAD 命令 在 AutoCAD 的命令行中运行与 VBA 有关的一些命令,这些命令可以让你在命令行中运行一个 VBA 宏,也可以让你启动 VBA 集成开发环境。这些可以在命令行中使用的命令主要包括以下几个: (l)VBAIDE 启动 VBA 集成开发环境。在 VBA 的集成开发环境中,用户可以编辑、运行、调试自己所编写的 VBA 程序,与 AutoCAD 进行对话。虽然 VBAIDE 必须在 Aut0CAD运行后才能打开,但它可以单独地打开、最小化 、 关闭 1。 (2)VBALOAD 向 VBA 集成开发环境 (IDE)中加载一个 VBA 工程文件。该命令将打开一个“打开 VBA 工程”

19、对话框。用户可以选择要加载的 VBA 工程文件, VBA 工程文件的扩展名为 .DVB1。 (3)VBARUN 运行己经加载的 VBA 宏。该命令将打开运行宏对话框。如果键入“ 一VBARUN” 则从 AutoCAD 命令行中运行宏,而不出现对话框 1。 (4)VBAIJNLOAD 从 AutoCAD 中卸载一个 VBA 工程文件。该命令在卸载 VBA 工程文件的同时退出 VBAIDE,如果 VBA 工程文件还没有保存,则系统会自动提示用户保存文件。 2.3 VBA 的基本知识以及程序基础 2.3.1 VBA 开发 AutoCAD涉及的一些基本概念 (l)类和对象 在 Visual Basic

20、 Applications 中,对象就是由类创建的,或者说对象是类的一个实例。类的描述则保存在类型库之中,而且通过 VBA 集成 开发环境中的对象浏览器可以查看。对象代表应用程序中的元素,例如, AutoCAD 图形文件中的直线、文字、图层、块等等。 在 Visual Basic Applications 的程序中,在使用对象的任一方法或改变它的属性值之前,都必须先识别对象。对象集合则是一个包含几个其他对象的对象,而这些对象通常不是相同的类型。例如,在 AutocAD 中的文档集合对象包含了所有己经打开的文档对象。 (2)属性、方法和事件 VBA 中,属性定义了应用程序中对象的特征,例如 Au

21、toCAD 中图元的大小、位置或颜色,或某一方面的行为,如图 元对象是否有激活或可见。都可以通过修改对象的属性值来改变对象的特征。 方法指的是对象能执行的动作。如, AutoCAD 文档集合对象的 Add 方法,它可以在当前打开的文档之上增加一个新的文档对象。 事件是一个对象可以辨认的动作,像双击击鼠标或按下键盘的某个键等,并且可以编写某些代码用来针对此类动作来做出响应。用户的操作或程序代码的结果可能导致事件的发生。在 VBA 中, AutoCAD 中的对象有三种级别的事件:应用程序级 (Applieation)、文档级(Document)和图元对象级 (Objeet)事件。 应用程序级 (A

22、pplication)事件:当 AutoCAD 本身的环境被改变时,就触发该类事件。例4 如,打开、创建、保存、打印或关闭图形文件时;使用 AutoCAD 命令时;加载或卸载 LISP或 ARX 应用程序时以及改变系统变量时等等。 文档级 (Document)事件:当一个指定的图形文件 (DWG 文件 )自身或其内容发生变化时,就触发该类要件。例如,添加、修改或删除图形文件中的对象时;快捷菜单激活时;图形文件窗口被改变时;选择集被改变时;以及重新生成图形文件数据时等等。此外,该类事件还对应着一个图形文件的关闭、打开以及加载、打印 或卸载 LISP 和 ARX 应用程序等操作。 图元对象级 (O

23、bject)事件:当图形数据库中的图元对象被修改时,触发该事件。AutoCADActiveX 中,具有 Modified 一种图元对象级事件,该事件在图形数据库中的图元对象被修改或被触发。 (3)过程和过程关键字 过程是包含 VBA 代码的单位。它包含一系列的方法和语句,用来执行操作或计算数值。在 VBA 中,有两种过程:即子过程和函数过程。子过程执行一个操作或一系列的运算,但是不返回值。子过程的声明使用 Sub 关键字,并用 EndSub 语句来结束。函数过程将返回一个值, 可以在表达式中使用。函数过程的声明使用 Function 关键字,并用 EndFunction 语句来结束。 VBA

24、包含许多内置函数,用户也可以创建自己的自定义函数。 Sub 和函数过程都可以接受参数。 在 Visual Basic Applications 中,在 Sub 和 Funetion 前面的关键字 Publie 和 Private 是用来表示作用域的。关键字 Public 表示该过程或函数在整个工程中是公用的,任何窗体、模块都可以调用该过程。关键字 Private 表示该过程或函数不能被任何其他窗体、模块和应用程序 (如 AutoCAD)调 用,只能在自身的过程中运行。 (4)窗体与模块 窗体是为方便人机交互而提供的图形界面。在窗体上可以放置各种控件。在AutoCADVBA 中,窗体可以被保存为

25、“ .frm” 文件。模块是将 Visual Basic Applications 声明过程作为一个单元进行保存的集合。模块有两种基本类型类模块和标准模块。模块中的每一个过程都可以是一个函数过程或一个子程序。在 AutoCADvBA 中,类模块通常都含有新对象定义的模块。新建一个类实例时,也就创建了新的对象。模块中定义的任何过程都会变成该对象的属性和方法。类模块可以 被保存为“ .CIS”文件。标准模块包含的是子过程和函数过程,这些过程不与任何对象相关联,可以被保存为“ .bas” 文件。 (5)宏与工程 用过 Offiee 产品的人都知道“宏”这个概念,宏就是 Visual Basic Ap

26、plications 的程序语句代码的集合。宏是指一个或多个操作的集合,其中每个操作实现特定的功能。在 Visual Basic Applications 中,可以认为与过程等同。工程 (或工程文件 )是 Visual Basic Applications对其开发中的应用程序的称呼。它包含了很多功能单元, 如窗体、模块和过程及其代码等等。在 AutoCADVBA 中,工程文件被保存为扩展名为“ .dvb” 的文件。 2.3.2 VBA 程序编辑的基础 一 、 常量 5 常量在运行的过程中其值不变。常量也有数据类型, VB 中常量分为二种,一种是文字常量,一种是符号常量。 1.文字常量 VB 的

27、文字常量分为两种,即字符串和数值。 ( 1)字符串常量 字符串常量由字符组成,可以是除双引号和回车符之外的任何 ASCII 字符,其长度不能超过 65535 个字符(定长字符串)或 231(约 21 亿)个字符(变长字符串)。例如: “¥ 123.50” “ Hello the word !” ( 2)数值常量 数值常量共有 4 种表示方式,即整数 、 长整型数 、 货币数和浮点数。 整型数:有 3 种形式,即十进制 、十六进制和八进制。 1)十进制整型数:由一个或几个十进制数字( 09)组成,可以带有正号或负号。其取值范围为 -3276832767,例如: 123,-4567, +89 等。

28、 2)十六进制整型数:有一个或几十个十六进制数字( 09 及 AF 或 af)组成,前面冠以 H(或 h),其取值范围为 0HFFFF。例如: H21A, h191 等。 3)八进制数:由一个或几个八进制数字( 07)组成,前面冠以 (或 O),其取值范围为O0O177777。例如: 127、 O213 等。 长整型数:也有 3 种形式。其组成与整型数组成相同,数的尾部加“ ”符号,取值范围见前面一节数据类型的范围,例如 784、 H123、 O217,分别表示十进制长整型数、十六进制长整型数和八进制长整型数。 货币型数:也成为定点数。 浮点数:也称为实数,分为单精度浮点和双精度浮点数,指数符

29、号为 E(单精度)或 D(双精度)。例如: 123.45E-6!、 2345D3#。 2.符号常量 在 VB 中,定义符号常量的格 式如下: Public Private const 常量名 As 数据类型=表达式,常量名 =表达式 Public 是全局常量关键字,全局常量要在模块中声明,不能用于过程。 Private 是全局常量关键字,局部常量要在模块和窗体中声明,同样不能在过程中使用。 常量名用来表示常量的实际名字。 数据类型是常量的类型,可以是 Byte、 Double、 Single、 Date、 Boolean、 Integer、Long、 String、 Currency、及 Va

30、riant。 二 、 变量 在计算机中,变量名用标识符表示,所以变量 名遵循标识符的命令规则。变量随程序调入内存,并被分配一定的存储空间,通过名字引用变量。 VB 中提供了两种声明变量方法。 1用 Dim 和 Static 显示声明变量 使用 Dim 声明变量,格式: Dim 变量名 As 数据类型,例如: Dim Age as Tnteger ,Dim Name As string ;使用 Static 声明变量,格式: Static 变量名 As 数据类型。 使用 Static 声明的变量为静态变量。它与 Dim 声明的变量不同之处在于执行一个过程结6 束时,过程中所用到的 Static

31、变量值会保留,下次再调用次过程时, 变量的初值是上次调用结束时被保留的值,而 Dim 声明的变量过程结束时不保留,每次调用时需要重新初始化。 2.隐式声明 使用变量时, VB 不要求对所有变量事先声明,不加声明的变量系统默认为变体类型。对应于强制显式声明,在程序中不经声明而使用变量称为变量的隐式声明。隐式声明使用起来比较随意,但也会带来一些麻烦。例如,误拼一个变量就会被隐式声明为另外一个新变量,由此会产生问题。因而建议对所有变量进行显式声明。 三 、 作用域 一个变量被定义以后,不是在什么地方都可以用的,每个变量都有其作用范围。变量的有效作用范围就是变量 的作用域。因为变量的有效范围不同,所以

32、变量就有了不同级别。 1.局部变量 在一个过程内部(例如 Command1_Click)定义的变量成为局部变量。这个变量只能在定义它的过程内使用。一个床头可以包含很多过程,在不同过程中定义的变量可以同名,因为它们是相互独立的,互相不干扰的。例如: Private Sub Form1_Click() Dim Num1 As Integer . End sub Private Sub Command1_Click() Dim Num1 As Integer Static Sum1 As Single End Sub 在 Form1_Click 过程中定义了局部变量 Num1,在 Command1_

33、Click 过程中又定义了Sum1 和 Num1,两个同名变量 Num1 没有任何关系。 2.窗体和模块级变量 如果一个窗体中的不同过程要实用同一个变量,就需要在该窗体或者模块内的过程外面定义一个变量,它在整个窗体或者模块中有效,即其作用域为整个传统或者模块,本窗体或者本模块内的所有过程都能反复问它,这就是窗体或者模块级变量。 3.全局变量 全局变量可以被程序中任何一个模块和窗体访问。在 窗体中不能定义全局变量,全局变量要在模块文件中的声明部分用 Global 或者 Public 关键字声明。 四 、 数组 在实际应用中,常常需要处理同一类型的成批数据。例如,为了处理一个班学生的某门课程的考试成绩,可以用 S1, S2, S3, S4,分别代表每个学生的分数,其中 S1 代表第一个学生的分数, S2 代表第二个学生的分数。这里的 S1, S2, S3,通常称为下标变量。在 Visual Basic 中,把一组具有同一名字、不同下标的下标变量称为数组。 数据的一般格式为: S(10)。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。