2024年3月26日发(作者:)

维普资讯

数据库与信息管理 本栏目责任编辑:闻翔军 

基于SQL SERVER数据库和VB.NET管理图形 

王哲.吴战国 

(同济大学机械T程学院机械设计与理论系,上海201804) 

摘要:以三维圆筒和圆台为例,提出以SQL SERVER数据库来管理AutoCAD图形,实现以数据库的信息绘图;并在VB.NET2005 

平台上.利用SQL语句进行数据查询、录入、修改以及保存等.能够非常方便的完成绘图以及管理图形信息。 

关键词:SQL SERVER:VB.NET;数据库;AutoCAD二次开发;图形管理 

中图分类号:TP311 文献标识码:A 文章编号:1009—3044(2008)13—20616—04 

Drawing Management Based on SQL Server Database and VB.NET 

WANG Zhe.WU Zhan—guo 

(Dept.of Mechanical Design and Method,Institute of Mechanical Engineer,Tongli University,Shanghai 201 804,China) 

Abstract:Taking the three—dimensional cylinder and cone for example,this paper studied management of drawings in AutoCAD by SQL 

SERVER DATABASE,and used the information in database to draw.This paper also based on the VB.NET 2005,making full use of the 

SQL statements to inquiry,input,modify and save the data,SO it can be very convenient to draw and manage the information of drawing. 

Key words:SQL SERVER;VB.NET;DATABASE;Secondary Development on AutoCAD;Drawing Management 

1引言 

AutoCAD绘图软件目前拥有十分广泛的用户,伴随着大量图纸的产生,管理好图纸中的核心部分——图形信息.也显得越来越 

重要了。因为,只有在管理好图纸中各部分图形的前提下,才能更好的去整体管理图纸。本文正是以管理图形信息为着眼点,利用 

Visual Basic 2005开发程序,采用SQL SERVER数据库技术,完成了SQL SERVER数据库的创建、录入、显示、查询的程序设计,并 

实现了利用数据库的信息,在AuotoCAD2006中进行三维绘图;同时,把三维绘图信息以数据形式存储到数据库中,达到了图形信息 

与数据库之间的整合工作。 

2系统开发平台的选择 

本系统是由Visual Basic 2005(VB.Net)开发的能独立运行的应用软件.后台数据库采用SQL SERVER 2000.而AutoCAD 2006 

中文版作为外接程序在直观显示图形方面被调用。 

SQL SERVER是Microsoft公司开发和推广的关系型数据库管理系统,它采用流行的Client/Server结构.成为设计和管理应用程 

序最容易的数据库系统。本文采用它的另一个主要原因是,它可以非常方便的与Excel、Access等进行导人、导出的数据交换! 

Visual Basic 2005是VB.net在Visual Basic 2003以后的又一个版本,除了比以前的VB 6.0有了长足改进外,相对于Visual Ba. 

sic 2003也有很大改进,比如在代码编写时能够自动修复.比2003版本仅仅自动提示更加方便,而且它的控件DataGridView更是在 

以前版本中控件DataGrid的巨大改进,它可以采用非常方便和快速的拖放式绑定方法,不用编写任何代码,就可以直接从数据集中 

的字段生成数据绑定控件拖放到窗体中,本文正是利用了DataGridView这个巨大优点,减少了大量的编码工作1 

3系统的流程及特点 

本系统主要流程工作界面如图1。 

图1 工作界面 

收稿日期:2008—04—07 

作者简介:王哲(1983一),男,山东省滕州市人,硕士研究生,主要研究领域为VB.NET与CAD二次开发和SBO接口二次开发的研 

究;吴战国,同济大学副教授,硕士生导师。 

616 电脑知识与技术 

维普资讯

本栏目责任编辑:闻翔军 ・・・・ ・数据库与信息管理. 

本系统主要特点如下: 

(1)以_一维圆筒和圆台实体图形为例,说明用SQL SERVER数据库来管理AutoCAD图形,实现用数据库的信息快速完成绘图, 

或者将AutoCAD中完成图形的信息用数据库形式保存。 

(2)利用ADO.NET数据库访问对象编程,完成了SQL SERVER数据库的创建、录入、显示、查询的程序设计。 

(3)在数据查询采用结构化查询语言的SQL语句,它功能强大,应用广泛,内容也较多,但常用的语句较简单,易于掌握应用。 

(4)在界面的方便性和实用性方面,采用了DataGridVJew控件,用它以表格显示数据库内容或查询结果,只需要用鼠标单击某行, 

就可以在界面中TextBox中显示该记录,并可以直接绘图,同时也可以方便的将数据录人数据库存储起来。 

4 SQL SERⅦR数据库的创建 

打开开始菜单中,程序“Microsoft SQL SERVER”中的“Enterprise Manager”.在服务器目录下(本实例服务器名字为 

WKK02KJ59IMTESQ),打开“Databases”目录,新建一个名为“MYCAD”的数据库,在其“Tables”目录下新建一个名为“YT”的表格。 

其中表格“YT”的属性如图2所示。 

2 3l S 6 T 8 g

m n 2:协H婚培竹 

3 8

mH “∞啦∞lf;协∞∞∞坩∞∞ 

图2设定数据属性 

在“YT”中录人数据如图3所示。 

●,6 8

伦悖 ∞∞ 饕。;旧∞∞∞∞ 

mH 烈∞啦∞∞j8∞∞∞∞铡∞懈 

图3 录入数据 

5系统功能的实现 

5.1功能实现的方法 

f11在窗体上方导航栏中,利用导航按钮可以向前或向后翻数据。单击“+”按钮可以添加一条新记录,单击“X”按钮可以删除已经 

存在的数据。单击保存按钮,可以保存对数据的修改。 

f21在窗体表格中,单击每一行,可以在创建数据区域里的文本框中显示相应数据,单击每一列,可以让指定列按数据大小排序! 

f31在数据查询这一区域,可以在“尺寸”下拉框中选择各种不同的条件,然后在下方两个下拉框中,选择数据或者直接输人数 

据.点击“数据查询”就可以查询符合条件的数据信息,反馈在窗体的表格中。随后,点击“数据返回”按钮就可以返回没有查询前的 

全部数据,如图4所示(以20<Rbig<40为例)。 

图4数据查询结果 

617 

维普资讯

数据库与信息管理 ・・・・・ 本栏目责任编辑:闻翔军 

f4)在创建数据这一区域,在三个文本框中分别输入相应的数据,点击“录入数据库”,数据信息就存在了窗体表格中,同时点击 

导航栏中的“保存’’符号,就同时将数据信息存在了数据库中。选中圆筒或圆台的单选框按钮,然后点击“根据数据绘图”按钮,就可 

以调用AutoCAD2006屁示出利用文本框中的数据绘制的三维图形,如图5所示。 

图5生成三维图 

5.2功能实现的主要程序 

5.2.1绘制圆筒和圆台的部分主要程序 

Dim AcadApp As Autodesk.AutoCAD.Interop.AcadApplication 

Dim R1.R2.H As Double 圆筒外径或圆台底径、圆筒内径或圆台顶径、高 . 

Dim cylinderObiR1 As Autodesk.AutoCAD.Interop.Common.Acad3DSolid 

Dim cylinderObjR2 As Autodesk.AutoCAD.Interop.Common.Acad3DSolid 

Dim center(21 As Double 

绘制圆筒 

center(O1_0.0}}:center(11=0.0}}:center(21=0.0}} 

cylinderObjR1=AeadApp.ActiveDocument.ModelSpace.AddCylinder(center,Rl,H) 

cylinderObjR2=AcadApp.ActiveDocument.ModelSpaee.AddCylinder(center,R2,H) 

eylinderObjR1.B 0(】leanfAutodesk.AutoCAD.Interop.Common.AcBooleanType.acSubtraction,cylinderObjR2) 

绘制圆台 

Dim X As Double 

X=fR2/fR1一R2)1 H 

center(O1=H 2.0}}:center(11=H 2.0}}:center(21=0.0}} 

centerlf01=H 2.0}}:centerl(1)=H 2.0}}:centerl(2)=fH+X)/2. 

cylinderObjR1=AeadApp.ActiveDocument.ModelSpace.AddCone(center,R1,X+H) 

cylinderObjR2=AcadApp.ActiveDocument.ModelSpace.AddCylinder(centerl,R2,2 X) 

cylinderObjR1.B00leanfAutodesk.AutoCAD.Interop.Common.AcBooleanType.acSubtraction,cylinderObjR2) 

5.2.2数据查询的主要程序 

Dim constr As Stirng=”uid=sa;pwd=66;database=MYCAD;server=WKK02KJ59IMTESQ” 

Dim mycon As New SqlConnection(cons【r1 

Dim mysql As String:”select from yt where”&Me.ComboBox1.Text&

一 

”between”&Me.ComboBox2.Text&”and”&Me.ComboBox3.Text 

mycon.Open0 

Dim mycmd As New SqlCommand(mysq1.mycon1 

Dim myadp As New SqlDataAdapter(mycmd1 

Dim mytable As New DataTable 

myadp.Fill(mytable1 

myadp.Dispose() 

myadp=Nothing 

DataGridView.DataSource=mytable 

mytable.Dispose0 

mytable=Nothin ̄ 

5.2.3返回数据主要程序 

只需把数据查询主要程序中的第i句改为Dim mysql As Stirng=”select from yt” 

5.2.4录入数据库的主要程序 

Rl=Val(Me.TextBox1.Text1 

R2=Val(Me.TextBox2.Text1 

H=Val(Me.TextBox3.Text1 

If Rl<=R2 Or Rl<:0 Or R2<=0 Or H<=0 Then 

MsgBox(”数据输入错误,请重新输入!”) 

618 电脑知识与技术 

维普资讯

本栏目责任编辑:闻翔军 

Exit Sub 

EndⅡ 

・・・・・・数据库与信息管理. 

Dim row As DataRow=MYCADDataSet.Tables(”yt”1.NewRow 

row.hem(11=Val(TextBox1.Text) 

ow.rItem(21=Val(TextBox2.Text) 

ow.rItem(31=Val(TextBox3.Text) 

MYCADDataSet.Tables(”yt”1.Rows.Add(ow1r 

5.2.5在TextBox里显示DataGridView每行的主要程序 

TextBox 1.Text=DataGridView(1,DataGridView.CurrentRow.Index).Value.ToString 

TextBox2.Text=DataGridView(2,DataGridView.CurrentRow.Index).Value.ToString 

TextBox3.Text=DataGridView(3,DataGfidView.CurrentRow。Index).Value.ToString 

6结束语 

本文以圆筒和圆台三维图形为例,利用VB.net程序,实现了用SQL SERVER数据库来管理AutoCAD图形。能够实现用数据库 

的信息 速完成绘图,同时也能将AutoCAD中完成图形的信息用数据库形式保存,这为进一步进行AutoCAD工程图纸的管理打下 

了一个关键基础。 

参考文献: 

【1】刘猛玉,张开春.Visual Basic.NET数据库开发教程【M】.北京:清华大学出版社,2003. 

【2】Thearon Willis.Visual Basic 2005数据库人门经典.杨浩译【M】.北京:清华大学出版社,2007. 

【3】阮家栋,施美雅.Web数据库技术【M】.北京:科学出版社,2002. 

[4】陈锐.深人浅出Visual Basic 2005人门、进阶与应用实例【M】.北京:人民邮电出版社,2007. 

[5】张晋西.Visual Basic与AutoCAD二次开发【M】.北京:清华大学出版社,2002. 

【6】张晋西.Visual Basic与AutoCAD二次开发【M】。北京:清华大学出版社,2004。 

(上接第601页) 

登记维修工程师检测的结果,尤其对于保外机器的维修,在此登记其报价信息,此部分功能与维修登记一致(在流程中去体现。 

但不一定执行该步骤)。 

(9)11l/务确认 

确认顾客是否愿意维修机器。是否愿意返厂换机。 

f10)维修登记 

对于自己维修的机器,登记维修结果,对于返厂的机器,登记返回的换机结果。 

f111客户取机 

客户取回维修好的机器。打印取机回执单。 

f121服务终止 

客户终止机器的维修以及返厂。 

(131返厂发货 

’ 

返厂发货包含两个部分,一般维修的机器返厂,DAP机器返厂。两个部分分开处理。返厂发货对于本系统来说主要目的是生成 

发货单,查询方便而已。 

f14)返厂确认 

对于返厂的机器,特别对于保外机器,厂家需要报价,维修中心必须确认顾客是否愿意返厂。此模块主要确认该功能。 

f15)返厂返回 

返厂的机器返回维修中心,维修中心需要登记返回的一些信息。例如串号更换等等。 

f16)时限预警 

客户把机器送人维修中心,一直到客户取机或终止服务这一过程所持续的时间,对于Nokia--d,时服务来说,要能够提醒维修 

机器在维修中心的时间。 

f17)劳务费调整 

对于保内机器的维修。劳务费用是厂家给予的,但在本系统记录保内维修机器的时候,没有记录器劳务费用,因此当厂家返给 

这个月份的劳务费用时。需要把劳务费用加入到系统中,该功能就是完成此任务的。 

4结束语 

此系统作为飞鸿手机维修公司的独立子系统,为公司的管理提供了很大的便捷。 

本文的创新点是采用B/S与C/S结构的新型结合开发.使软件开发过程中解决了一些公司管理层次关系的模糊性。 

参考文献: 

【1】张剑平.学校管理信息系统【M】.北京:中国铁道出版社,1997:10—17. 

【2】褚建立,张洪星,李洪燕,等.基于ASP.NET的技侦管理系统的设计与实现[J】.微计算机信息管控一体化,2007,(21):181—183. 

[3】高曙.基于Web服务的MIS的研究与开发[J】.微计算机信息管控一体化,2007,(21):21—23. 

[4】史建江,李世银,等。基于ASP.NET的信息管理系统设计与实现[J】.微计算机信息管控一体化,2008,(6):32—33. 

619