【VB开源代码栏目提醒】:网学会员鉴于大家对VB开源代码十分关注,论文会员在此为大家搜集整理了“刨床机构三维仿真程序的数据交换技术.doc - 期刊论文”一文,供大家参考学习
刨床机构三维仿真程序的数据交换技术 林莉 1,毛炳秋 2 1.南京工程学院 材料工程学院,江苏 南京 211167;2.南京工程学院 机械工程学院,江苏 南京 211167摘 要:详细分析比较了 AutoCAD 与各种高级程序语言间的接口方式,并以刨床机构三维仿真应用程序为例详细介绍了
VB 与 Word 及
VB 与 AutoCAD 之间的动态数据交换技术,解决了软件开发过程中的数据交换问题。
关键词:仿真运行;数据交换;机构;接口中图分类号:TH1122 文献标识码:A 文章编号: The Technology of Date Exchange of the Program about 3 Dimension Simulate Motion of Planer Mechanism LIN Li 1 MAO Bing-qiu2 1.School of Material Engineering Nanjing 211167, China 2.School of Mechanical Engineering Nanjing Institute of Technology,Nanjing 211167,ChinaAbstract: This paper detailed analyzed and compared the Means of interface between AutoCAD and all kindsof high-quality program language. It detailed introduced the technology of developed data exchange betweenVB and Word,
VB and AutoCAD through the application-program about 3 dimension simulate of planermechanism. It has solved the problem of the data change during the software exploiting.Key words: simulate motion;data exchange;mechanism;interface0 引言 SCR 命令组文件、基于.DXF 图形交换文件、基 于 AutoCAD 内嵌式 Auto LISP 语言及基于面向对 在开发一系列机构运动及受力分析应用程序 象技术的
VB 与 AutoCAD 间的数据交换问题, 通时,采用三维仿真运行的方式,对机构的运动状 过比较发现:态和受力特征进行模拟及仿真,并适时地将一些 .SCR 是一种命令批处理文件,它把要执行重要参数、图像保存下来。
在此过程中,我们首 从 的命令以批处理文件形式输入到 AutoCAD, 而先详细分析比较了 AutoCAD 与各种高级程序语言 快速成图。
但 SCR 文件不是图形交换文件,只能间接口方式的优劣,最终确定将
VB 作为主平台。
生成图形而不能直接读取图形信息,因此它作为因而,
VB 与其它软件间如何进行数据交换便成 接口的作用仅仅是单向的。
为我们亟待解决的
问题。
在软件开发过程中我们 .DXF 图形交换文件是一种具有专门格式的很好地解决了
VB 与 Word 及
VB 与 AutoCAD 之 ASCII 文件,便于用编辑软件进行阅读、修改和间的数据交换问题,为各种软件间数据接口技术 打印处理,也易于与 AutoCAD 之间的数据交换,开辟了一条通道。
但.DXF 文件格式要求严格,生成文件较大且在高 级语言中自动生成过程非常复杂。
1
VB 与 AutoCAD 间的数据交换技 LISP 是一种可以在 AutoCAD 环境中解释执 行的语言。
它可以弥补 AutoCAD 在功能方面的不术 足,但启动 LISP 需要很大的堆栈区,而且 LISP 语言本身在编程功能上具有较大的局限性,主要 AutoCAD 是 Auto Desk 公司目前推出较为流 表现在计算、判断、转移、循环等方面。
行的优秀的交互式绘图
软件,采用了当今
计算机 鉴于以上几种交换方式存在的功能及其它方先进的 WOW(Windows/Objects/Web)技术,功 面的缺陷,最终我们选定了采用基于面向对象技能强大,使用方便,但在二次开发中应着力解决 术的
VB 与 AutoCAD 来开发我们的软件, 并很好它与高级语言间的数据交换问题。
地解决了
VB 与 AutoCAD 之间的数据接口难题, 在软件开发过程中,我们着重探讨 了基于 这是因为:
VB 与 AutoCAD 间 的 数 据 接 口 采 用 了 编辑生成的实体对象ActiveX 技术,它并不是仅仅把数值从服务器传 centertem0 -xe0: centertem1 0 centertem2 0.75 LCD - LAC LAB / 2给用 户, 而 是传 递客 户 应用 程 序的 完整 信息 杆 2.Move center5 centertemDDE,并且信息仍由原始的应用程序来管理。
杆.Boolean acUnion 刀头而 AutoCAD 发展到 R14 以后,通过 ActiveX 接 ……………口,其它应用程序可以方便地访问 AutoCAD 中的 编辑非实体对象——设置零件颜色所有对象。
随着
VB 的发展和版本的更新,
VB6.0 铰链 1.Color acBlue 箱 1.Color acGreen面世以后, 可以方便地与 AutoCAD 间实现快速无 对缝的数据交换, AutoCAD 的对象进行访问和操 机构 cad.ZoomExtents 将生成的机构图扩展为全屏幕作(OLE) ,AutoCAD 窗口已成为
VB 的一个窗体。
利用 ActiveX 技术,借助
VB 的强大功能, 将机构图缩小以便全部显示 机构 cad.zoomScaled 0.65acZoomScaledRelative不仅可实现图形与数据库、图形与设计系统之间的连接,还可大大提高开发效率。
ActiveX 技术 把完成的线框模型作成实体允许一个 Windows 应用程序通过暴露的对象控制 机构 cad.ActiveDocument.SendCommand Shademode _另一个 Windows 应用程序,其中应用程序暴露出 vbCr G vbCr的对象称为自动化对象,把提供自动化对象的应 ……………用程序称为服务器应用程序,而包含自动化对象 绘图结果如图 1 所示。
可以在
VB 的窗体(三的应用
程序称客户应用程序。
AutoCAD 作为一种 维仿真)中操作和访问 AutoCAD 软件。
ActiveX 服务器,同其它客户应用程序一样采用继 承 方 式 组 织 , 最 顶 层 对 象 为 AutoCADApplication ,其它子对象可通过 Application 对象依次获得,获得一个对象后就可使用它的属性和方 法 来 完 成 某 种 功 能 。
VB 中 提 供 了 获 得Application 对 象 的 函 数 CreateObject ( ) 和GetObject() 。
在此,我们以刨床主运动机构三维仿真应用程序为例,说明
VB 通过 ActiveX 接口如何操作和访问 AutoCAD 对象。
该程序既有对图形对象的操作,又有对非图形对象的操作;既有创建对象,又有编辑和访问对象,能很好地
演示说明
VB 与AutoCAD 的 ActiveX 接口技术。
Option ExplicitPublic 机构 cad As AcadApplication 将机构 cad 定义为 CAD 应用程序……………Public Sub 生成三维模型机构
cad.ActiveDocument.Close生成三维模型前将上次运行完毕的文件关闭机构 cad.Documents.Add 新建一文件 图 1 在
VB 中形成的 AutoCAD 文档设置三维视点Dim Newdirection0 To 2 As DoubleNewdirection01:Newdirection11:Newdirection2 1 2
VB 与 Word 之间的数据交换方式机构 cad.ActiveDocument.ActiveViewport.Direction _ Newdirection机构 cad.ActiveDocument.ActiveViewport _ Word 是目前广泛使用的文字处理软件。
在利 机构 cad.ActiveDocument.ActiveViewport 用
VB 进行程序开发时,需要适时地将文字、图 像保存起来从而得到重要的分析结果。
VB 程序 生成各个零件 利用 Word 文件保存结果,可以使文件更具通用Set CD 杆 机构 cad.ActiveDocument. ModelSpace _ 性。
在这个过程中,要做到: . AddBox center4 滑块宽 1.7 滑块宽 / 2 LCD ◆ 把屏幕上的活动窗体图像复制粘贴到 WordSet 箱体 2 机构 cad.ActiveDocument.ModelSpace_ 文件; . AddBoxcenter1 LCD 0.5 LCD 0.35 LCD 0.2 ◆ 把窗体上图片框中图像发送到 Word 文件;…………… ◆ 把子目录中图像文件发送到 Word 文件; wapp.ActiveDocument.Close wapp.Quit ◆ 把子目录中数据文件发送到 Word 文件; Set wapp Nothing 释放内存 ◆ 在 Word 文件中自动插入任意文字; End Sub 利用 API 函数与剪切板功能,可以将
VB 程序运行时生成的数据(包括文本、数字、图形等) 保存结果如图 2 所示,这是一个 Word 文件。
传递到 Word 文档中。
我们还是以刨床主运动机构三维仿真应用程序为例, 介绍
VB 面向 Word 编程的关键技术和方法。
将结果以图文混排格式存入 word 文档保存Private Sub Command5_ClickDim wapp As Application 定义变量 wapp 为 word 对象Dim Pictu1 As String 临时变量,返回保存结果时输入的文件名,扩展名为bmp……………Clipboard.Clear 清除剪贴板Call keybd_eventvk_snapshot 0 0 0 把窗口图像放到剪贴板DoEvents 转让控制权, 确保操作
系统把窗口图像放到剪贴板 设置共用对话框保存
文档时界面的格式With Me.CommonDialog1 .DialogTitle 保存机构运动分析图形 图 2 在
VB 中形成的 Word
文档 .Filter .doc.doc .InitDir App.Path .ShowSave 3 结束语End With 在
VB 平台上进行程序开发时,可以通过Pictu1 Mid Me.CommonDialog1.FileName1Len _Me.CommonDialog1.FileName - 3 bmp API 函数与剪切板技术实现
VB 与 Word 之间的数SavePicture Me.Picture1.Image Pictu1 据交换;通过 ActiveX 接口与 DDE 技术,可以实Set wapp CreateObject
word.application 通过 ActiveX 现
VB 与 AutoCAD 之间的数据传输; 设置变量 wapp 为 word 对象 接口与 OLE 技术,可以在
VB 程序中创建、访问wapp.Visible True 和编辑 AutoCAD 对象,还可以将 AutoCAD 对象wapp.Documents.Add 制作成动画。
wapp.Selection.Paste 把剪贴板上窗口图像贴到 word 文件 利用
VB 强大的可视化功能不仅可以极大地Clipboard.Clear 清除剪贴板 提高开发效率,还可以增强程序的可维护性。
Clipboard.SetData LoadPicturePictu1 把文件名为 pictu1 的图像文件发送到剪贴板 参考文献:wapp.Selection.Paste 剪贴板内容粘到 word 文件Clipboard.Clear 清除剪贴板 1 毛炳秋林莉. 用
VB 编程
设计齿轮传动并在 AutoCADDoEvents 转让控制权 中自动生成图形的研究J. 现代机械,2006(5) : 75-76 将已保存的 .txt 文本文件的数据插入到 Word 文档中 2 席俊杰. 中文版 AutoCAD2008
机械设计快速入门实wapp.Selection.InsertFile App.Path 结果.txt 例教程M . 北京: 机械工业出版社,2008.1 3 李江全等. Visual Basic 串口
通信与测控应用技术实wapp.Selection.InsertAfter FormatNow yyyy 年 mm 月_ 战详解M . 北京: 人民邮电出版社,2007.6 dd 日 插入文档生成日期 4 张西晋. Visual Basic 与 AutoCAD 二次开发M. 北 京:清华大学出版社,2004.1wapp.ActiveDocument.SaveAsMe.CommonDialog1.FileName 存盘