首页 > 范文大全 > 正文

VisualBasic驱动SolidEdge二维制图的方法

开篇:润墨网以专业的文秘视角,为您筛选了一篇VisualBasic驱动SolidEdge二维制图的方法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:文章介绍了在SolidEdge绘图软件环境下,利用Visual Basic编程软件对图纸的二维制图方法的开发。

关键词:二维制图;Solid Edge;Visual Basic

1 概述

Solid Edge为CAD软件包,拥有二维和三维绘图功能,广泛应用于机械设计行业,并且具有良好的二次开发程序接口。因此可以用VB对SE进行二次开发,即建立参数化设计程序,驱动SE进行制图,可以大大减少设计人员的重复性劳动,进而提高工作效率,减少低级错误。

2 VB驱动SE二维制图的方法

由于SE的三维功能很强大,大多数书籍介绍了其三维功能实现的方法,二维制图方面少之又少,而变压器图纸中有相当量的图纸是不能用三维实现的,只能用二维制图,所以文章主要介绍其二维制图的方式和方法。

2.1 引用数据库

利用VB驱动SE制图,首先需要在VB中引用SE相关的类型库,这样VB与SE之间建立了桥梁,VB才能访问SE提供的对象。然后就可以用VB的“对象浏览器”查看SE所有可以使用的常量和定义的模块或过程,也可以看到对象之间的层次结构和关系,这有助于以后理解如何调用SE的命令。

2.2 访问工程图图纸页面

首先要为VB驱动SE提供必需的条件,需要以下的语句来实现:

Public ObjApp As solidedgeFramework.Application

Public ObjDoc As SolidEdgeDraft.DraftDocument

Public ObjSheet As SolidEdgeDraft.Sheet

定义ObjSheet为SE的二维图纸中的图纸页面,即.dft工程图文件中的二维模型、图纸、背景等;

通过以上的定义就可以使VB访问SE的工程图文件了,访问的具体的命令有很多书籍介绍了,这里不再赘述。只是其中下条语句中有些不同,可以由定制模板打开。

Set ObjDoc=ObjApp.Documents.Add(“SolidEdge.DraftDocument”,“NewNormal.dft”)'新建SE图纸文档,“NewNormal.dft”为定制模板,放在Template文件夹下。

2.3 建立图纸页面和图层

进入工程图图纸后,首先要在指定的页面和图层中绘制图形。

Set ObjSheet=ObjDoc.Sheets.AddSheet(SheetName,igWorkingSection)

如果将上面语句的igWorkingSection换为igBackgroundSection或1,建立的是背景页。

ObjDoc.Sheets.Item(SheetName).Activate或Call ObjSheet.Activate

以上语句可以实现建立新的图纸,并激活;此时还可以对页面的参数进行设置,比如纸张大小:

ObjSheet.SheetSetup.SheetWidth=0.605'指定纸张宽度为605mm

ObjSheet.SheetSetup.SheetHeight=0.86'指定纸张高度为860mm

通过Set ObjLayer = ObjSheet.Layers.Add(LayerName)命令设定了ObjLayer为新增图层

ObjSheet.Layers.Item(LayerName).Activate实现指定图层激活命令,但特别需要注意的是,建立新的图纸页面后需要重新指定新图页为激活页面,Set Obj*=ObjSheet.*,Set Obj*=ObjObjDoc.*结构的命令都需要重新指定,这样才能正确进行。

2.4 画线

绘图中最基础的就是画线,通过ObjLines2d语句可以实现在SE中画线,更多方法可以在“对象浏览器”中相应位置中查到。

类似的,圆(Circles2d)、圆弧(Arcs2d)等都可以类似定义。

设置图页、图层命令和画线命令等配合使用就可以把线画到指定的图页和图层中,便于管理和修改。

2.5 添加尺寸、标注、指引线和文本框

通过ObjDimn语句实现在SE中添加尺寸。尺寸命令必须依存相关元素存在,所以尺寸命令中涉及的元素需在之前命名,要用Set命令对生成的元素进行命名,而不用Call命令。

通过ObjBallonns语句实现在SE中增加标注,通过ObjLeaders语句实现在SE中增加指引线,通过ObjTxtBoxes语句实现在SE中增加文本框。

各种画线命令引用的线样式都是同一个设置,都来自SE中格式-样式-线样式的设定,Dimensions、Balloons、Leaders命令引用的尺寸样式都来自SE其中尺寸样式的设定,而TextBoxes命令引用的文本样式则来自SE其中文本样式的设定,因此在这些命令执行之前需在绘图的模板上添加或修改好需要引用的样式,这样执行如ObjDimnsStyles.Active=“国标”'命令时才不会出错。

2.6 添加EXCEL明细表格

Excel明细表格在SE中是以Symbol(符号)的形式存在的,新建一个Excel表格文件,利用其储存路径和名称通过ObjSymbols命令添加到SE的符号中。

Public xlPath As String'明细的储存地址

Set xlApp=CreateObject(“Excel.application”)'创建新工作薄

Set xlbook=xlApp.Workbooks.Add

Set xlSheet=xlbook.Worksheets(“Sheet1”)'向当前工作表的单元格输出数据

…一系列对表格的操作…

xlPath=“D:\图纸\”&Frm1.Text1.Text&“.xls”

xlbook.SaveAs FileName:=xlPath

Set ObjSymbol=ObjSheet.Symbols.Add(igOLEEmbedded,xlPath,X00+(26)*0.001,Y00+(62)*0.001)'添加Excel表格。

3 结束语

以上这些命令基本上可以满足完成二维制图的需要,在程序设计时,良好的过程执行与判断命令,结合正确的绘图命令,再加上Excel和Access数据库的支持,可以完成SE图纸参数化设计,设计者只需要在VB设计的程序界面上进行操作,由VB驱动SE完成相关的工作,设计者无需操作SE即可完成绘图,减少不必要的重复操作,提高工作效率,可以用更多的时间和精力投入到创新和开发工作中去。

参考文献

[1]彭颖红.Solid Edge Visual Basic开发入门[M].北京科学出版社,2001.