- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VB和VRML的数控仿真教学系统设计
基于 VB 和 VRML 的数控仿真教学系统设计
黄 忠
上海电机学院 (200093)
摘 要 介绍了基于 VB 和 VRML 技术的数控仿真教学系统的设计与实现。在功能实现上采用了 Parallel Graphics
公司推出的面向 VRML 环境的最新正版开发平台(Cortona SDK);在技术实现上选用了基于 ActiveX 技术的面向 对象化的编程方法。实践证明该系统稳定性好、仿真功能强。
关键词 数控仿真 VRML 技术 Cortona SDK
目前,国内外许多公司都在从事数控机床仿真
软件的开发,较流行的有四种方案:
(1) 基于 C++和 OPENGL 技术开发;
(2) 基于 C++与现有造型软件结合的开发;
(3) 基于现有的 CAD/CAM 软件的二次开发;
(4) 基于 VRML 技术的开发。
ParallelGraphics 公司推出的面向 VRML 环境的 最新开发平台 Cortona SDK。在技术实现上选用了 基于 ActiveX 技术的面向对象化的编程方法,并提 供了 VC++、VB、Delphi、JavaScript 等适用于多种 开发语言的类型开发库,是一套功能十分强大的针 对 VRML 虚拟应用的、性能优良的开发平台。在开 发环境上要求低,而且方便 Web 上的应用,极具扩 展性,这是传统的数控仿真所无法比拟的。从理论 上来说,本方案提供了一种新的设计思路,具备了 独特性和创新性。
的高科技公司。
本仿真系统的开发采用该公司最新推出的 Cortona SDK 4.1 版,这套开发包提供了一套完整的 应用编程开发接口(API),采用了 ActiveX 的控件 和 Automation 技术,可实现直接对 Cortona 场景浏
览器进行编程操作,并提供了 VC++、VB、Delphi、
JavaScript 等适用于多种开发语言的类型开发库,是
一套功能十分强大的针对 VRML 虚拟应用的、性能 优良的开发平台。
1) Cortona SDK 开发包的对象体系 VRML 对三维场景的描述是采用结构化的层次来实现的, 基本的架构是节点→域→域值描述形式。Cortona SDK 采用了经典的 ActiveX 对象层次描述技术,建 立了 VRML 的编程体系结构,为各种满足 ActiveX 开发规范的开发语言提供了一个完全面向对象的开
发接口,具有良好的易用性和可扩展性。图
Cortona SDK 开发体系的结构层次简图。
是
1
1 系统关键技术
1.1 Visual Basic 6.0
Visual Basic 是一种可视化、面向对象和采用 事件驱动方式的结构化高级程序设计语言,??简单 易学、容易掌握,而且效率高,可用于开发 Windows 环境下功能强大、图形界面丰富的应用软件系统。 Visual Basic6.0 更是在数据访问、控件、语言、向 导及 Internet 支持等方面增加了许多新的功能。
1.2 Cortona SDK 开发工具
本仿真系 统的所有 开发均采 用了 ParallelGraphics 公司的 Cortona SDK 开发工具包。 ParallelGraphics 公司是一家世界知名的基于 VRML 和 ActiveX 技术提供虚拟现实应用技术和开发环境
图 1 Cortona SDK 结构层次简图
域中的值
域对象
节点中的域集合
节点对象
节点集合
场景的根节点
场景的根节点集合
VRML 引擎
2) 创建场景
(1) 创建与 Cortona 浏览器相关联的对象容器, Set Engine = Cortona1.VRMLEngine,没有该对象容 器,任何场景将无法被加载。
(2) 创建多域节点的一些关键技术。
图法。例如按钮:上层为按钮被按下的图片,底层
为正常状态下的按钮图片(见图 3)。 实现代码举例:
Private Sub Image3_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
控制面板按钮不可见
Select Case Index
Case 1
Image3(1).Visible = False
…
Private Sub Image3_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) 控制面 板按钮可见
Image3(1).Visible = True
…
? 场景加 载。例如 : Cortona1.Scene
“vrml\
文档评论(0)