CAD二次开发利用.doc_第1页
CAD二次开发利用.doc_第2页
CAD二次开发利用.doc_第3页
CAD二次开发利用.doc_第4页
CAD二次开发利用.doc_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 绪 论1.1 选题的背景1.1.1 工程CAD技术的应用计算机辅助设计是用计算机硬件、软件系统辅助人们对产品或工程进行设计、修改及显示输出的一种设计方法。同时它也是一门多学科的综合性应用新技术。直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言-Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VISUAL BASIC 的子集.实际上VBA是寄生于VB应用程序的版本。在CAD中,人与计算机密切合作,在决定设计策略、信息处理、修改设计及分析与计算等方面充分发挥各自的特长。例如计算机在信息存储与检索、分析与计算、图形作图与文字处理、以及代替人作大量重复枯燥工作等方面有特殊优点;但在设计策略、逻辑控制、信息组织及发挥经验和创造性方面,人将起主导作用。因此二者的有机结合必然能提高设计质量、缩短设计周期、降低设计费用。工程设计CAD是CAD技术的重要领域。目前,工程CAD过程是,把人的主导性和创造性放在首位,同时充分发挥计算机的优势,把二者结合起来,实行人机交互工作方式。1.1.1.1CAD技术在工程行业的应用CAD即计算机辅助设计与制图,是指运用计算机系统辅助一项设计的建立、修改、分析或优化的过程。它是一个功能强大、易学易用、具有开放型结构的软件口不仅便于用户使用,而且系统本身可不断地扩充和完善。随着CAD技术的不断发展,其覆盖的工作领域也不断地扩大,如工程设计CAD项目的管理、初步设计、分析计算、绘制工程、统计优化等。1.1.1.2 CAD在钢结构上的应用目前在我国钢结构设计往往采用两步设计法,在完成结构分析和设计后还必须进行手工制图或借助于AutoCAD等通用绘图系统完成结构设计详图。节点设计还要由手工完成。研制钢结构CAD的关键是结构详图生成系统。国内已经开发的钢结构CAD系统大多用于构件和节点较规则的桁架、网架设计,多高层钢结构CAD系统的研究还处于起步阶段,尚未出现较成熟的商品化系统。在欧美国家,钢结构CAD系统的研究已经进入计算机辅助设计与制造集成化的时代利用三维建模技术。可以生成复杂的结构实体,并能自动实现构件和标准节点的设计。生成用于车间加工下料的模板图、材料清单。1.1.2 CAD技术的发展趋势CAD技术作为成熟的普及技术已在企业中广泛应用,并已成为企业的现实生产力。围绕企业创新设计能力的提高和网络计算环境的普及,CAD技术的发展趋势主要围绕在标准化、开放式、集成化、智能化四方面。1.1.2.1标准化除了CAD支撑软件逐步实现ISO标准和工业标准外,面向应用的标准构件(零部件库)、标准化方法也已成为CAD系统中的必备内容,且向着合理化工程设计的应用方向发展。CAD软件一般应集成在一个异构的工作平台之上,为了支持异构跨平台的环境,就要求它应是一个开放的系统,这里主要是靠标准化技术来解决这个问题。1.1.2.2开放性 CAD系统目前广泛建立在开放式操作系统窗口9598NT和UNIX平台上,在JavaLINUX平台上也有CAD产品,此外CAD系统都为最终用户提供二次开发环境,甚至这类环境可开发其内核源码,使用户可定制自已的CAD系统.1.1.2.3集成化 CAD技术的集成化体现在三个层次上:其一是广义CAD功能CAD/CAE/CAPP/CAM/CAQ/PDM/ERP经过多种集成形式成为企业一体化解决方案,推动企业信息化进程;其二,是将CAD技术能采用的算法,甚至功能模块或系统,做成专用芯片,以提高CAD系统的效率;其三是CAD基于网络计算环境实现异地、异构系统在企业间的集成。1.1.2.4智能化智能CAD不仅仅是简单地将现有的智能技术与CAD技术相结合,更要深入研究人类设计的思维模型,并用信息技术来表达和模拟它。这样不仅会产生高效的CAD系统,而且必将为人工智能领域提供新的理论和方法。CAD的这个发展趋势,将对信息科学的发展产生深刻的影响。1.2课题的提出1.2.1 钢结构CAD制图中存在的问题与解决方法传统的手工绘图被方便、精确的CAD制图取代,极大地提高了设计人员的效率。但AutoCAD的使用者们很快又发现有许多工作是重复、无聊的工作。例如,钢结构设计人员往往会发现,在绘制钢结构设计图时,常常是绘制一些相同的图块,例如:型钢,螺栓等,该基本元件往往是形状相似尺寸不同,而这种工作通常是这样完成的:预先绘制并定义块,而后采用块插入的方法,但自带的复制、图块的插入等编辑功能又有一定的局限性。因而,有必要进行二次开发,建立型材标准件数据库,实现参数化设计,以简化绘图过程,减少重复性工作,充分发挥CAD快速、准确的优势。1.2.2 型材标准化型材是建筑工程设计中的基础部件,由热轧成型的钢板,型钢以及冷弯(或冷压)成型的型钢组成的钢结构在工程实际中具有广泛的用途。建立统一的标准型材数据库来实现CAD系统对型材数据的统一管理与数据共享,在CAD系统设计中提供一套高效的标准数据管理方法是很有必要的,这将会给标准化部件的参数化设计的实施提供最直接的支持。随着计算机硬件价格的下降以及日益增多的数据,用数据库来管理图形参数从而形成图形参数化数据库已是一个必然的趋势。1.3研究内容(1)建立统一的标准型材数据库。包含完备的标准型材尺寸参数数据表、标准型材截面特性参数数据表。(2)在标准型材尺寸参数数据表基础上,进行型材CAD几何图形程序设计。通过对标准型材横断面图、俯视图、侧视图的几何分析,找到上述标准型材CAD几何图形绘制控制点计算算法,编写计算机程序把标准型材尺寸参数数据表转化为标准型材图形参数化数据库。(3)在标准型材截面特性参数数据表基础上,编写计算机程序实现对数据快速查询及有效检索,实现型钢表参数查询的能力。(4)在以上功能的基础上形成可供AutoCAD平台上使用的、可被AutoCADA加载应用与AutoCAD环境相结合的钢结构基本元件的管理与绘制系统。可方便、快捷、精确进行钢结构基本元件三面图(标准型材CAD几何图形)的绘制和型钢参数查询。第2章 系统总体设计2.1 本系统的设计思想 (1)与具体的CAD系统稳定的集成,包括与整个CAD系统平台的集成和与其它功能模的交互。(2)型材数据库具有良好的数据一致性,安全性和可扩充性,即标准化数据不能被无意或有意修改,系统的数据库能进一步扩充,以容纳更多的标准化部件。(3)数据检索系统界面友好,可实现快速查询和有效检索。(4)参数化绘图部分能实现多种几何视图的快速生成显示,动态生成的图形在AutoCAD工作区内,也具有用AutoCAD命令行的坐标的功能。2.1.1 系统综述整个系统是以参数化设计为核心,采用交互式作图方式。当通过界面对某种型材进行调用时,由参数化设计模块分别从图形程序库和标准数据库中获取型材的几何信息与参数信息,经几何约束求解器(控制点求解模块)得到该标准型材在特殊参数下的几何形状,并通过图形传输接口在用户工作区绘制图形。用户CAD系统标准型材数据库参数化处理技术ADOVBA检索用户界面几何图形输出接口图形参数化数据库尺寸参数图2-1系统体系结构2.1.2 系统模块设计(1)主控模块:利用鼠标激活下拉式菜单后工具,进行型钢及绘图的选择。(2)基本选择模块:通过调用数据检索模块获得钢结构基本元件(型钢)标准型材数据值。(3)数据处理(检索)模块:主要功能是为后面的绘图模块、参数查询模块提供有用的数据。(4)参数设计模块:进行数据处理,计算出绘制型钢三面图(横断面图、俯视图、侧视图)所需要的各控制点的坐标。(5)绘图模块:根据参数设计模块计算的控制点坐标调用绘图函数在当前绘图区中绘制相应的标准件。(6)型钢表模块:主要根据用户选择的型钢型号,查询和检索数据库文件中的型钢参数尺寸和截面特性参数值。2.2 用户界面的开发菜单文件的开发有两种方法;一是在AutoCAD的标准菜单文件ACADMNU中增加用户开发的新内容;另一是建立用户自己的菜单文件。CAD的ActiveX提供了来个非常重要的、用来操作菜单和工具条的对象,他们分别是MenuBar和MenuGroups的对象集合。关系如图2-4 MenuBar和MenuGroups关系。MenuBar集合包含显示在AutoCAD菜单栏中的所有菜单。MenuGroups集合包含在当前AutoCAD任务中加载的菜单组。(1)Menugroups代表了菜单组中的一菜单条。(2)Popupmenu则代表着下拉(Pull-Down)和右单击弹出(Right-Click)两种菜单形式。(3)PopupMenuitem则是下拉和弹出菜单的选择项。图2-4MenuBar和 MenuGroups关系(4)Toolbar代表着存放于Toolbars中的一个工具条。(5)ToolbarItem则代表着该工具条上的各种选择按钮。AutoCAD在初次运行时,总会自动加载菜单文件acad.mnc。该文件包含了AutoCAD定制的标准菜单和各种工具条。所有这些AutoCAD定制的菜单条和工具条,从ActiveX编程的角度理解,就是被加载到了MenuGroups集合中了。在AutoCAD中,我们选择“工具(T)”下的“宏(M)”下的“加载工程(L)”项,加载AutoCAD主运行文件夹下“ Support”文件夹下的acad. dvb 文件,在VBA编辑器中编辑acad. dvb工程文件的ACADStartup过程,添加如下语句:Call AcadApplication. LoadDVB ( ”钢结构基本元件管理与绘制. dvb”),其中“钢结构基本元件管理与绘制” 为编制的工程文件名。当运行AutoCAD时,它将按程序中的路径自动寻找并加载源程序。因此本系统在CAD界面启动功能模块式采用图形工具栏按钮和标题栏下拉菜单两种方式来实现。(1)图形工具栏设计在CAD打开运行后在CAD界面生成如图2-5所示的图形工具栏按钮,方便用户使用。(2)下拉菜单的设计图2-5系统工具栏图 2-6系统下拉菜单在CAD打开运行后在CAD界面生成如图2-6所示的下拉菜单,方便用户条用各功能模块。2.3界面设计2.3.1 绘图窗体设计选择流程:型钢类型型钢型号显示型钢几何参数确定绘图比例选择绘图类型绘制CAD几何图形。首先在VB编辑环境中添加绘图窗体,名成为:frmmain。其设置如表2-1所示。表2-1 frmmain窗体控件设置及说明控件类型控件名称说明复合框ComboBox1在窗体初始化时自动添加型钢类型,用于用户选择型钢类型图像Image1显示型钢示意图,在用户选中型钢类型时自动显示出来列表框ListBox1显示某一类型型钢的系列型号,供用户选择标签Label1在用户确定型钢型号后显示型钢截面的几何参数,供用户检验标签Label2为Label1的说明,其caption设置为“截面参数:(单位:mm)“标签Label3为TextBox1的说明,其caption设置为“请输入绘图比例:“文本框TextBox1绘图比例的输入口按钮CommandButton1“绘俯视图“按钮按钮CommandButton2“绘侧视图“按钮按钮CommandButton3“绘横断面图“按钮2.3.2 型钢表设计选择流程:型钢类型型钢型号显示型钢特性参数、几何参数和示意图。在VB编辑环境中添加型钢表窗体,名成为:frmgl。其设置如表2-2所示。表2-2 frmgl窗体控件设置及说明控件类型控件名称说明复合框ComboBox1在窗体初始化时自动添加型钢类型,用于用户选择型钢类型图像Image1显示型钢示意图,在用户选中型钢类型时自动显示出来列表框ListBox1显示某一类型型钢的系列型号,供用户选择标签Label1为ComboBox1的说明,其caption设置为“截面:“标签Label2为Label3的说明,其caption设置为“几何参数:“标签Label3显示某一型钢型号的几何参数标签Label4为Label5的说明,其caption设置为“特性参数:“标签Label5显示某一型钢型号的特性参数第3章 标准型材数据库设计在AutoCAD支撑软件基础上进行应用型二次开发,建立用于参数化设计的标准数据库,可采用3种方式:(1)用程序或内部数组的方式管理标准数据。(2)以数据文件方式管理标准数据。(3)数据库方式。3.1 数据库简介数据库的基本概念(数据库的基本概念)数据、数据库、数据库系统和数据库管理系统是与数据库技术密切相关的4个基本概念:(1)数据 在计算机中,为加工处理和抽取有用信息。就要抽出对这些事物感兴趣的特征组成一个记录来描述。(2)数据库收集并抽取出一个应用所需要的大量数据之后,应将其保存起来进一步加工处理和抽取有用的信息。(3)数据库管理系统数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。(4)数据库系统数据库系统是指在计算机系统中引入数据库后的系统构成,一般有数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。3.2 型材标准件数据库横断面高度h、宽度b、腰厚度tw、平均腿厚度t、内圆弧半径r、腿端圆弧半径r1数据为型材标准件的几何数据;截面面积A、每米重量、截面特性x-x轴惯性矩Ix、截面特性x-x轴截面系数Wx、截面特性x-x轴面积矩Sx、截面特性x-x轴惯性半径ix、截面特性y-y轴惯性矩Iy、截面特性y-y轴截面系数Wy、截面特性y-y轴惯性半径ty为型材标准件截面的特性数据。表3-1 热轧普通工字钢、热轧轻型工字钢数据表结构与说明字段名称字段类型字段说明型号文本热轧轻字钢型号h数字横断面高度h,单位:mmb数字宽度b,单位:mmtw数字腰厚度tw,单位:mmt数字平均腿厚度t,单位:mmr数字内圆弧半径r,单位:mmr1数字腿端圆弧半径r1,单位:mmA数字截面面积A,单位:cm2G数字每米重量,单位:kg/mIx数字截面特性x-x轴惯性矩Ix,单位:cm4Wx数字截面特性x-x轴截面系数Wx,单位:cm3Sx数字截面特性x-x轴面积矩Sx,单位:cm3i_x数字截面特性x-x轴惯性半径ix,单位:cmIy数字截面特性y-y轴惯性矩Iy,单位:cm4Wy数字截面特性y-y轴截面系数Wy,单位:cm3i_y数字截面特性y-y轴惯性半径ty,单位:cm表3-2 热轧普通槽钢、热轧轻型槽钢数据表结构与说明字段名称字段类型字段说明型号文本热轧槽钢型号h数字横断面高度h,单位:mmb数字宽度b,单位:mmtw数字腰厚度tw,单位:mmt数字平均腿厚度t,单位:mmr数字内圆弧半径r,单位:mmr1数字腿端圆弧半径r1,单位:mmA数字截面面积A,单位:cm2G数字每米重量,单位:kg/mIx数字截面特性x-x轴惯性矩Ix,单位:cm4Wx数字截面特性x-x轴截面系数Wx,单位:cm3Sx数字截面特性x-x轴面积矩Sx,单位:cm3i_x数字截面特性x-x轴惯性半径ix,单位:cmIy数字截面特性y-y轴惯性矩Iy,单位:cm4Wymax数字截面特性y-y轴截面系数最大值Wymax,单位:cm3Wymin数字截面特性y-y轴截面系数最小值Wymin,单位:cm3i_y数字截面特性y-y轴惯性半径ty,单位:cm型材标准件数据表中的数据考虑到其数据是钢结构设计的参考数值,具有重要的现实意义。为保证数据的准确性和可靠性,型材标准件数据表中的数据根据国标规范数据而得。数据表结构以热轧普通工字钢为例如图3-1。在进行数据表结构设计时考虑到型钢组合截面,以方便型钢组合截面数据的加入和系统的升级完善。第4章型材CAD几何图形参数化程序设计应用程序负责与用户交互。当用户修改图形的某一尺寸时,应用程序负责更新这一尺寸及其相对应的图形。图4-1 热轧槽钢型材的3 种不同的图形状态在国家标准中,规定了常用型材的几何形状,其形状尺寸随所用的尺寸参数描述的变化而变化。对于某类型材的每一个几何视图,都需要一个几何视图程序来描述。图4-1显示了热轧槽钢型材的3种不同的图形状态。第5章 系统开发中的关键技术5.1 绘图原理任何一幅工程钢结构设计图纸都是直线或曲线组成,我们可用程序实现任何交互方式的绘图功能,但是交互状态下必须给定具体数值,本系统中用变量来代替数据,调用该绘图模块时再将变量赋值。本系统开发的参数化绘图功能是直接启动参数化绘图模块,在给定参数后进行绘图。5.1.1 参数化技术5.1.1.1参数化的定义及特点参数化设计是利用几何约束来表达产品模型的形状用一组参数确定约束尺寸关系,设计结果受尺寸驱动,从而能够通过调整尺寸参数来修改设计模型,方便的创建一系列形状相近的几何图形。参数化力法具有的特点:(1)从几何参数化模型自动导出精确的几何模块;(2)易于修改;(3)易于扩充。5.1.1.2 参数化绘图的表现形式和基本原理参数化绘图的原理,是将图形的尺寸与一定的设计条件相关联,即将图形的尺寸看成是“设计条件”的函数。当设计条件发生变化时,图形尺寸便会随之得到相应的更新。根据不同的图形创建参数图形的方法也有一些不同,最常用的几种方法为:(1)利用程序变量驱动图形利用VBA程序模块中的变量描述图形,变量可以是一个具体的数值,也可以是一个表达式,在程序设计的变量与设计模型之间建立起关联关系,每当修改程序变量的数值,就会改变图形的对应尺寸。(2)利用尺寸驱动图形在进行图形设计时,按照自动测量的方法标注尺寸,再利用修改图形的尺寸数值来达到修改图形的目的。(3)利用数据表驱动图形针对待绘图形的结构特点,在编写VBA程序前,事先将与设计有关的各种数据以数表的形式存放在相应的数据库中,通过VBA程序建立表格数据与设计模型之间的关联关系,通过访问不同表中的数据记录达到改变几何图形的目的。 (4)利用用户元素驱动图形对于具有确定几何形状特征的图例,可用VBA程序将其设计成具有单一图案特性,在需要时能直接引用的元素图形。这种方法适合于描述三维实体。5.1.2 绘图方法系统中绘图主要是绘制直线段和圆弧段,所以图形的绘制方法就是本系统中直线段和圆弧段的绘制方法。(1)本系统中直线画法采用两点确定直线法:Dim Lineobj As AcadLineSet Lineobj = ThisDrawing.ModelSpace.AddLine(spnt, epnt)其中spnt, epnt分别为起点、终点坐标数组。(2)圆弧采用三点确定圆弧法:已知圆弧圆心、起点、终点,即可确定圆弧法:r = (StartPoint(0) - Centerp(0) 2 + (StartPoint(1) - Centerp(1) 2) 0.5 a1 = ThisDrawing.Utility.AngleFromXAxis(Centerp, StartPoint) a2 = ThisDrawing.Utility.AngleFromXAxis(Centerp, EndPoint) Set AddArc3P = ThisDrawing.ModelSpace.AddArc(Centerp, r, a1, a2)其中Centerp、StartPoint、EndPoint分别为圆弧的圆心、起点、终点坐标数组。根据上述的绘图函数,我们采用确定截面各段直线段的端点、圆弧段的圆心及端点作为截面绘制的控制点。5.1.3 元件截面控制点算法在钢结构基本元件(型钢)三面图的绘制过程,主要是确定各段线段或圆弧的控制点(端点、圆心等)的坐标。关于控制点坐标的确定,主要是通过截面图形的几何关系通过几何算法得到的。5.1.3.1 横断面图控制点的确定以工字钢为例。具体分析过程如下:图5-3中、为工字钢各直线段、圆弧段的端点,1、2、3、4为工字钢的斜直线段,其斜率和通过点在图5-2中有明确的标注。对结构图分析可得:共有8条直线,8个圆弧组成。8条直线有16个控制点,而8个圆弧有16个端点控制点和8个圆心控制点,直线的控制点恰是圆弧的端点控制图5-3工字钢截面分析结构图图5-2工字钢几何尺寸图注:h:高度;b:腿宽度;d腰厚度;t平均腿厚度;r内圆弧半径;r1腿端圆弧半径点。8条直线的一部分控制点通过截面的几何关系就可以求得。工字钢横断面为几何对称图形只要确定点、和圆弧的圆心坐标,即可通过对称关系确定其余所有控制点的坐标。通过上述分析我们的任务就是确定上述点坐标的确定。首先用户输入点坐标赋予基准点,直线1已知斜率和通过点,并知道圆弧通过点、并且与直线相交与地点。点坐标的确定:与上述分析可得把直线1沿与直线1垂直方向向上平移r1(圆弧的半径)距离,得直线11。再以为圆心,r1位半径作圆,与直线11有两个交点取x坐标大于点x坐标的交点。该交点即为圆弧的圆心,再以该交点为圆心,r1位半径作圆,与直线1相切,只有一个交点,该交点即为控制点。同理分析可确定点、及圆弧的圆心的坐标。再根据关于XX、YY轴对称的关系可以确定各控制点的坐标。通过上述分析,进行计算机程序设计:确定已知直线(1、2、3、4)的直线方程(K、C),确定已知直线沿垂直方向平移所求圆弧半径距离的直线方程XY,以已知点为圆心所求圆弧半径为半径作圆,求出于直线XY的交点,通过条件判断出所求圆弧的圆心,再以圆心为圆心所求圆弧半径为半径作圆,与已知直线相切,求出切点的坐标。圆心和切点的即为所求的圆弧控制点。程序如下:直线方程确定既是直线斜率、截距的确定。圆心直线方程的确定,k1为直线的斜率,(x1,y1)为已知直线通过点坐标。C1为已知直线的截距。Public Function dingzx(k1 As Double, x1 As Double, y1 As Double) c1 = y1 - k1 * x1 If Abs(c1) 0.00001 Then c1 = 0End Function确定平移后直线方程,k1、 c1同上, r为圆弧半径,c2位平移后直线截距。Public Function dingyxx(k1 As Double, c1 As Double, r As Double) Dim xx As Double, yy As Double xx = r * Sin(Atn(Abs(k1) yy = r * Cos(Atn(Abs(k1) Sin(Atn(Abs(k1) + 2 * Atn(1) c2 = c1 + r / Cos(Atn(Abs(k1) If Abs(c2) 0.00001 Then c2 = 0 c = -k1 * xx + yy + c1End Function直线与圆弧的交点计算,ind为1即为求圆弧圆心,否则是求圆弧控制点Public Function hujiao(k1 As Double, c11 As Double, x01 As Double, y01 As Double, r As Double, ind As Integer) Dim dn As Double, en As Double, fn As Double, nn As Double Dim xj1 As Double Dim yj1 As Double Dim xj2 As Double Dim yj2 As Double dn = 1 + k1 * k1 en = k1 * c11 - x01 - k1 * y01 fn = c11 * c11 - 2 * c11 * y01 + y01 * y01 + x01 * x01 - r * r nn = en * en - dn * fn If Abs(nn) 0 Then 有两个交点 xj1 = (-en + Sqr(nn) / dn: yj1 = k1 * xj1 + c11 xj2 = (-en - Sqr(nn) / dn: yj2 = k1 * xj2 + c11 If xp xj1 And xj1 xp + b Then xj = xj1: yj = yj1 If xp xj2 And xj2 xp + b Then xj = xj2: yj = yj2 ElseIf nn = 0 Then 只有一个交点 xj = -en / dn: yj = k1 * xj + c11 Else图5-4截面俯视图、侧视图结构分析图 没有交点 Exit Function End If If ind = 1 Then x0 = xj y0 = yj End IfEnd Function5.1.3.2 俯视图、侧视图控制点的确定如图5-4,该截面图像对于横幅面图来说是结构是简单的。只有直线段没有圆弧段。用户输入点坐标赋予点、。而点、是在直线上的,直线垂直直线,而直线是已知的,从而可以求出直线的方程。根据截面的几何关系从而可以确定点、。同理确定点、。5.2 ADO与SQL技术本系统中使用ADO技术进行数据库访问,使用SQL语句进行数据的检索、添加、修改等。ADO与SQL技术是系统应用程序和外部标准型材数据库联系的桥梁,是系统的关键技术。5.2.1ADO技术在使用ADO技术以前,首先要在VBA中的工具中点“引用”,选择Microsoft ActiveX Data Objects 2.8 Library。通过ADO编写程序对外部数据库进行操作(读或写数据库)时要进行以下几步简单的操作:(1)建立到数据库的连接Dim ConnectString As String, DataSourceStr As StringSet conn = New ADODB.ConnectionDataSourceStr = 数据库路径ConnectString=Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & DataSourceStr 连接数据库字符串conn.Open ConnectString 连接数据库(2)数据库的查询首先把要查询的条件赋给SQLSQL=select * from * Where *Set rest = New ADODB.Recordsetrest.Open SQL, conn, adOpenKeyset, adLockOptimistic 打开记录集(3)数据库的关闭conn.Close5.2.2SQL技术5.2.2.1 SQL的基本操作数据库的相关操作(1)如何创建数据库使用 Create Database 创建数据库Create Database 语名的语法形式如下:Create Database database_nameOn Primary(Name=logical_file_name, Filename=os_file_name ,Size=size,Maxsize=max_size,.nLog On(Name=Logical_name,Filename=os_file_name,Size=size),.nFor RestoreName:该选项指定数据库的逻辑名字,这是在SQL Server 系统中使用的名称,是数据库在SQL Server 中标识符。Filename:该选项用来指定数据库所在文件的操作系统文件名称和路径。Size:该选项用来指定数据库操作系统文件的大小。Maxsize:该选项用来指定操作系统文件可以增长的最大尺寸。FielGrowth:该选取项用来指定文件的增量,当然该选项不能与Maxsize选项有冲突。(2)如何增加数据库的大小使用Alter Database命令来增加数据库文件的大小使用Add File 增加一个次要文件通过为数据库增加次要的数据文件和日志文件来增加数据库的大小。(3)压缩数据库和数据文件使用Dbcc Shrinkdatabase 命令压缩整个数据库使用Dbcc ShrinkFile命令压缩数据库中的某一个数据文件(4)删除数据库使用Drop命令删除数据库:Drop Database 数据库名称5.2.2.2 SQL的基本操作表的相关操作(1)创建表用Create Table 命令创建表语法:Create Table tabl_name(column_name As computed_column_expression,.n)On fiegroup | DefaultTextimage_On fiegroup | Default例如本系统中创建表语句:SQL = create table & bb & (型号 char(20) not null, 截面高度(h) char(20) not null, 截面宽度(b) char(20) not null, 翼缘厚度(t) char(20) not null, 腹板厚度(d) char(20) not null,内圆弧半径(R) char(20) null,腿端圆弧半径(d) char(20) null,primary key(型号)(2)修改表的结构使用SQL语句增加和删除一个新列语法:Alter Table tableADO|colun_name As computed_column_expression|,.n|DropColumn column,.n(3)向表中插入数据用 Insert 语句语法如下:Insert Intotable_name|view_name(column_list)Values|values_list|select_statement注意:在插入数据时,字符数据和日期数据要使用引号引起来。用Default 选项在插入数据时,可以使用Default选项。Default选项有两种形式,一种形式是Default Values,另一种是Default。Default Values 形式为表中的某一行的所有列插入默认值。使用这种形式的前提条件是表中的所有列必须是这四种类型之一:Identity属性,Timestamp数据类型,允许为Null,或者有一个指定的默认值。否则,会错误信息。Default 形式是为表中的某一列插入默认值。插入部分数据在使用Insert语句插入数据时,还可以插入部分数据,也就是可以为每一行的指定的部分列插入数据。在插入部分数据时,应该注意以下列个问题:在 Insert 子句中,指定要插入数据的列名;在 Values 子句中,列出与列名对应的数据。列名的顺序和数据的顺序应该完全对应;在 Insert 子句中,没有列出的列应该至少具有这四种类型之一:Identtty 属性,Timestamp 数据类型,允许为 Null,或者有一个指定的默认值。否则,会出现错误信息。用 Select 语句插入多条数据Insert 语句插入数据的特点是每一次只能插入一行数据。相反,Select 也可以用在 Insert 语句中,并且可以一次插入多条数据。使用Select 语句插入数据的语法形式如下:Insert table_name Select column_list From table_list Where search_conditions在使用 Select 语句插入数据时,应该注意下面几点:在 Insert 语句中使用 Select 时,他们参考的表既可以是相同的,也可以是不同的;要插入数据的表必须已经存在;要插入数据的表必须和 Select 的结果集兼容。兼容的含义是列的数量和顺序必须相同,列的数据类型或者相同,或者SQL Server 可以自动转换。使用 Select Into 插入数据到一个新表中带有 Into 子句的 Select 语句允许用户定义一个新表并且把数据插入到新表中。Select Into 语句的语法如下:Select select_list Into new_table_name From table_list Where search_conditions在使用 Select Into 插入数据时,要注意下面几点:在某个数据库中使用 Select Into 插入数据时,设置该数据库的 Select Into/Bulk Copy 为真;新表不能存在,否则会产生错误信息;新表中的列和行是基于查询结果集;要插入的数据不记录在日志中;在select_list 中出现的列应该使用别名,否则,新表中的列没有列名。没列名的表只能通过 Select * From new_table_name 的形式查询。因此,应该为列起个别名;这种方法多用在对列进行各种计算的情况。用 UPdate 语句修改表中的数据Update 语句用来修改表中已存在的数据。Update 语句既可以一次修改一行数据,也可以一次修改许多行,甚至可以一次修改表中的全部数据。Update 语句使用 Where 子句指定要修改的行,使用 Set 子句给出新的数据。新数据可以是常量,也可以是指定的表达式,还可以是使用 From 子句来自其他表的数据。Update 语句的语法如下:Update table_name|view_name Set column_list=expression , . Where clause5.2.2.3 SQL的基本操作数据的检索(1)用 Select 子句检索记录Select 子句是每一个检索数据的查询核心。它告诉数据库引擎返回什么字段。Select 子句的常见形式是:Select *该子句的意思是“返回在所指定的记录源中能找到的所有字段”。这种命令形式很方便,因为你无需知道从表中检索的字段名称。然而,检索表中的所有列是低效的。因此,应该只检索需要的字段,这样可以大大的提高查询的效率。(2)使用 From 子句指定记录源From 子句说明的是查询检索记录的记录源;该记录源可以是一个表或一个存储查询。你还能从多个表中检索记录。Select * From 热轧普通工字钢 检索“热轧普通工字钢”表中的所有记录(3)用 Where 子句说明条件Where 子句告诉数据库引擎根据所提供的一个或多个条件限定其检索的记录。条件是一个表达式,可具有真假两种判断。Select * From 热轧普通工字钢 Where 型号= I10 返回“热轧普通工字钢”中“型号”字段为I10 的列表,这次所返回的结果没有特定顺序,除非你使用了 Order By 子句。使用 And 和 Or 逻辑可以将两个或更多的条件链接到一起以创建更高级的 Where 子句。表5-1Where子句中用到的操作符操作符功能小于大于=大于或等于=等于不等于Between在某个取值范围内Like匹配某个模式In包含在某个值列表中表5-2四种通配符的含义通配符描述%代表零个或者多个任意字符_(下划线)代表一个任意字符指定范围内的任意单个字符不在指定范围内的任意单个字符(4)使用 Order By 对结果排序Order By 子句告诉数据库引擎对其检索的记录进行排序。可以对任何字段排序,也可以对多个字段排序,并且可以以升序或降序进行排序。在一个正式的 Select 查询之后包含一个 Order By 子句,后跟想排序的字段(可以有多个)便可以说明一个排序顺序。如要以降序排序,只需在排序的字段之后使用 Desc 关键字。5.3 图层的应用在图形绘制过程中,对于截面的线型、颜色和所在图层进行自动处理。对截面边线、不可见线、中轴线进行分图层绘制,自动选择所需线型(不可见有虚线表示)。根据上述设计要求,在系统绘制钢结构基本元件(型钢)三面图绘制以前要进行图层设计。如表5-3图层设计表5-3图层设计序号图层名称线型颜色1粗实线csx粗实线白色2细实线xsx细实线红色3虚线xx虚线黄色4细点画线xdhx细点画线蓝绿/浅黄5粗点画线cdhx粗点画线棕色6双折线szx双折线蓝色7波浪线blx波浪线绿色5.4 绘图比例的选择绘制三面图时需要根据用户选择绘图比例。在型钢选择窗口有绘图比例输入框,输入绘图比例因子。本系统选择输入比例因子默认为1。在钢结构基本元件(型钢)几何尺寸读取时按比例因子进行缩放。5.5 截面特性参数计算由于型钢特性参数是由规范规定的,如果采用计算公式可能会产生数据与规范规定的不同,所以本系统中采用规范中规定的数据建立型钢特性参数库。第6章 运行及代码6.1 人机交互界面图6-1用户绘图选择界面经过人机交互界面设计,最终形成的人机交互界面为钢结构基本元件绘图选择部分:如图6-1用户绘图选择界面和图6-2型钢表界面。在绘图选择界面中,有截面示意图、型号选择列表框、截面参数、绘图比例输入框、绘图按钮。截面示意图和截面参数用于检验型号是否满足用户要求。在型钢表界面中主要是选择型号和显示参数。图6-2型钢表界面6.2 程序运行结果绘图程序运行结果如图6-3所示,每种类型取一种型号作展示。各种型钢绘制在钢结构设计中的综合应用见附录B 型钢设计支架。e f g h i图6-3成果图注:图形中依次是横截面图、俯视图、侧视图。a:工字钢;b:槽钢;c:等边角钢;d:不等边角钢;e:桩用H型钢;f:型钢(宽中窄);g:H型钢(宽中窄);h:圆钢;i:方钢a b c d6.3 使用说明图6-4横截面插入点示意图6.3.1 整体概述本系统有独立的VB引导启动程序,引导CAD启动并在CAD用户界面生成下拉菜单及工具栏按钮。单击工具栏按钮或下拉菜单,弹出型钢类型选择界面。进行型钢参数查询和截面绘制。在型钢选择窗口点选所需型号,并在输入绘图比例文本框中输入要绘制图形的比例后选择要绘制的截面图,这时系统转到CAD界面,在CAD界面通过鼠标点击或在命令栏输入插入点的坐标从而确定截面图形的插入点。对于俯视图、侧视图需要输入截面图形的插入点及终点。图6-5 俯视图、侧视图插入点终点示意图关于插入点,本系统选择的是界面图形的左上角控制点,终点选择的是右上角控制点。如图6-4、6-5 的控制点。终点如图6-5的控制点。6.3.2 模块说明型钢由角钢、工字钢、槽钢、H 型钢、T 型钢五个模块组成。等边角钢根据GB9787 - 88 编制;不等边角钢根据GB9788 - 88 编制。热轧普通工字钢根据GB706 - 88 编制,热轧轻型工字钢根据YB163 - 63 编制。热轧普通槽钢根据GB707 - 88 编制,热轧轻型槽钢根据YB164- 63 编制。热轧宽翼缘H型钢根据GB11263 - 89 编制,热轧窄翼缘H 型钢根据GB11263- 89 编制,普通焊接H 型钢根据YB 3301 - 81焊接H 型钢(试行)、YB 3302 - 81轻型焊接H 型钢(试行)编制。(1) 型钢截面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论