查看: 2047|回复: 1
打印 上一主题 下一主题

[其它] 基于Web的交互式3D虚拟展示

[复制链接]

3795

主题

2

听众

5万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
53202
精华
32

活跃会员 优秀版主 推广达人 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2012-9-8 09:04:00 |只看该作者 |倒序浏览


  客户协同参与产品的设计过程,让客户直观、深入地了解产品的信息,快速地反映客户的个性化需求,使虚拟产品设计的主要目标之一[1]。通过在客户与设计人员之间建立一个沟通,讨论和协商的交互式工作环境,能迅速而正确地把握客户的个性化需求,激发创造性的设计灵感,缩短产品的设计周期[2]。但纵观国内各企业的网站,大多以文字、图片、Flash 动画作为产品展示的主要方式,传递的产品信息多是二维、静态和单向的,随着数字化设计技术的发展,人们对动态的、交互式的、具有三维可视化效果的产品需求越来越迫切
  [3-4]。实现 Web 环境下的虚拟设计,必须解决的关键技术有:① 二维和三维 CAD 图文档在网络上的快速传递、同步驱动;② 图文档的安全性;③ 三维交互式浏览而非三维动画播放;④ 考虑中小企业要实现上述要求的低成本。通过比较多种产品虚拟展示技术,选择适用于中小企业产品开发和电子商务的 3D 虚拟设计工具,利用 ASP.NET 平台和 ActiveX 技术,实现Web 环境下二维与三维图文档的交互式、动态浏览。1 产品虚拟展示技术1.1 VRML 虚拟展示技术VRML 是 Virtual Reality Modeling Language(虚拟现实建模语言)的缩写,主要采用文本格式定义由不同类型的节点构成的三维空间场景。VRML 文件描述了产品虚拟展示的场景,利用支持 VRML 的浏览器可实现播放和虚拟空间的交
  互控制[5]。创建 VRML 文件的主要途径有:用文本编辑工具按 VRML 文件的格式编写;采用 SGI公 司 的 CosmoWorlds 、 Metacreation 公 司 的Carrara、Paragraph Inrternational 公司的 VHSB 等VRML 编辑工具;利用 CAD 或 CAID 系统提供的功能对三维模型进行文件转换。Pro/E、UG 等主 流 三 维 CAD 系 统 以 及 3dmax 、 AliasStudioTools 均可以将模型转换成 VRML 的*.wrl 文件。前两种途径的工作量大,对设计者要求高;后者虽可将产品三维模型转换为 wrl 文件,但转换后文件较大[6-8]。
  1.2 X3D 虚拟展示设计工具
  2000 年新成立的 web3D 组织完成了 VRML到 X3D 的转换,新的 X3D 集成类工具的作用是将由其他系统构建三维数字化模型按一定的格式要求进行转换、编辑和压缩,生成该工具支持的文件格式,再利用浏览器进行虚拟展示。这类工具主要有 Cult3D、Viewpoint 和 TurnTool 等。Cult3D 提供了对 3dsmax 三维模型的支持,利用Cult3D Designer 可以进行展示的交互控制设计。对于用 3ds max 构建的产品三维模型,采用Cult3D 是一个不错的选择。Metacreation 公司的Viewpoint 由场景制作(Scene Builder)、模型优化
  (Stream Turning Studio) 、 网 页 发 布 (MediaPublisher)和浏览器插件 Viewpoint Media Player(VMP)4 种工具组成。TurnTool 由 TurnToolBox和 TurnTool Viewer 两个模块构成。TurnToolBox是一个可以运行在Autodesk Viz或3DS Max的插件程序,利用该程序可在 Autodesk Viz 或 3DSMax 环境进行产品虚拟展示的设计 , 并导出TurnTool 支持的文件[9]。
  1.3 三维模型浏览工具
  三维模型浏览工具是由 CAD 系统本身提供的一种软件或插件。使用这种工具可以在不装CAD 系统的条件下展示产品三维模型。如 AliasStudioTools 的 Alias StudioViewer、Pro/Engineer的 ProductView Express、SolidWorks Viewer 和 Solid Edge 的 SEPartX 浏览器插件等。
  上述三类虚拟展示技术中,VRML 和 X3D主要适用于基于三维数字化模型的产品虚拟展示,但 VRML 在交互性、灵活性、扩展性以及
  节点控制能力上较弱,设计也较为复杂。后一类工具主要针对特定格式的三维模型文件,渲染功能并不强大,但在工程图和工业产品设计上有较好的优势,程序开发简单,没有繁琐的图文档格式转换,可移植性强,成本低,适用于中小企业发展虚拟设计和电子商务的要求。
  2 基于三维模型浏览控件的虚拟展示设计
  许多常用的 CAD 软件都有相应的二次开发接口和 ActiveX 浏览控件,通过对这些接口和控件的编程和开发,可以实现二维和三维图文档的交互式动态网络浏览。下面以 Solid Edge 为例来说明工业产品的网络浏览及在线产品驱动。

  2.1 三维模型的虚拟展示
  SEPartX 是 Solid Edge 提供的用于三维浏览的 ActiveX 控件,对应的组件名为 Solid Edge PartViewer Control,在 ASP.NET 创建的 Web.Form 网页中加载该控件。利用该控件可以实现三维模型的渲染、旋转、平移、缩放、视图等功能[10]。
  (1) 渲染模式 Solid Edge 提供 3 种 3D网络浏览的渲染模式,即平滑着色,线框着色和线框消隐,不同渲染效果如图 1 所示,关键代码如下:
  
  "Rotate"" % >
  (3) 缩放功能 缩放功能的关键代码如下:
  
  "Zoom""-->
  (4) 平移功能 平移功能的关键代码如下:

  
  "an""-->
  (5) 轴测图和六面视图 设置控件的ViewType 属性,可显示模型的轴测图和六面视图,代码如下:
  

  (6) 平行投影与*** 设置控件的
  ViewPerspective 属性,可以得到平行投影和***图,代码如下:


  2.2 二维工程图的网络浏览及远程打印
  Solid Edge 提供的 ActiveX 控件 SEDraft 用于二维工程图的浏览,对应得组件名称为 SEDraftXActiveX Control,在 ASP.NET 创建的 Web.Form网页中加载该控件。同时创建三维浏览控件SEPartX 和二维浏览控件 SEDraft,将两者的Visible 属***替设置为可见和不可见,可以交替体浏览二维工程图和对应的三维模型,便于文档的统一管理,代码如下:




  通过该控件,还可以实现二维和三维图文档的远程打印,下面以二维工程图为例加以说明。'检查 Solid Edge 二维图文档是否在浏览状态If (SEDraftX1.ReadyState <> 4) Then
  MsgBox (" A SE draft file has to beopen")
  Exit Sub
  End If'打印等待的时间里鼠标变成沙漏形式OldMousePointer =FormGenaralLibrary.MousePointerFormGenaralLibrary.MousePointer =vbHourglass'获取二维图档的工作页Set objsheets = SEDraftX1.Sheets'对于有多个工作页的二维图档,循环调用
  PrintDrawing 过程依次打印每个工作页。将增强图元文件拷贝到系统剪贴板,然后转化为 Picture对象,最后打印该对象。
  For Each objsheet In objsheetsClipboard.ClearCall objsheet.CopyEMFToClipboard
  sts = Clipboard.GetFormat(vbCFMetafile)
  If (sts = ***e) Then
  Set PicObj =
  Clipboard.GetData(vbCFMetafile)
  PrintDrawing PicObj, Printer, objsheet.Name
  End If
  Next
  '打印结束,恢复旧的鼠标设置
  FormGenaralLibrary.MousePointer =OldMousePointer
  2.3 在线产品驱动
  对于用户选中的零件,如果满足了形状要求,用户可以根据自己的意愿驱动零件尺寸,进行产品的在线设计。在这个页面中,系统提供必要的参数,用户可以在合理的范围内,输入自己的参数。发出指令后,后台服务器调用计算机内已有的产品信息和各种设计资料进行可行性验证和设计计算,只有符合验证规则的才会实时生成模型,并将设计结果通过网页返回给用户。用户对设计结果可以反复地进行修改,直至满意为止[11]。
  在线产品驱动涉及到零件尺寸的变化和模型驱动,需要远程调用后台数据库和 Solid Edge 程序,访问 Solid Edge 的对象和变量对象层次结构,如图 2 所示。
 


  由图 2 可以总结出变量的访问路径:Application->Documents->artDocument->Variables-> Variable。第 1 层是 Application(应用)对象,通过 GetObject 函数获取 Solid Edge 的应用对象,该对象位于层次结构图树的顶部,是访问其下级所有的其他对象的基础,GetObject 函
  数获取的对象类型为 SolidEdgeFramework.Application。第 2 层是 Documents(文档集),指所有的文档的集合:零件文档(Part Document)、装配体文档(Assembly Document)、工程图文档(Draft Document)、钣金文档(Sheet MetalDocument)。第 3 层是具体的某个文档,通过应用对象的 ActiveDocument 属性可以获得当前文档,如零件文档对象类型为 SolidEdgePart.PartDocument。第 4 层是变量集(Variables),通过文档的 Variables 属性获得。第 5 层是具体的某个变量,通过调用变量集的编辑方法修改某个具
  体变量,如 Variables.Edit(“T”,T)。
  首先在 Solid Edge 环境中用交互式方式生成零件的通用模型,打开变量表,将原有的系统自动赋予的名称进行重命名,使变量名简单直观,便于控件的界面设计[12]。同时在变量表中可以设置一定的数学公式,因为尺寸驱动不是任意和无限制的,在用户驱动的过程中,后台服务器根据变量公式和数据库中的规则进行验证,验证合格后生成实体模型。
  目前的网页开发工具还无法实现对 SolidEdge 模型的直接驱动,运用 Solid Edge 提供的二次开发接口和 ASP.NET 技术读取用户参数,实现在线产品驱动。ASP.NET 创建的 Web Form窗体中设计 TextBox 文本框,与变量表中的变量一一对应,同时通过 Solid Edge 二维浏览控件显示模型的二维图文档,便于用户操作。设计界面如图 3 所示。通过修改 TextBox 的值就可以修改模型中的变量,验证合格后生成新的三维模型和二维工程图。关键代码如下:Set IApp = GetObject(,"SolidEdge. Application")
  A = txtA.Text
  …
  Set Vars = IApp.ActiveDocument.Variables
  strName = IApp.ActiveDocument.Name
  IApp.DelayCompute = ***e
  FormShowSave.Show vbModal, Me
  Call IApp.ActiveDocument.SaveAs(newname:
  =SAVEFILEPATHNAME)
  Call Vars.Edit("A", A)
  …
  IApp.DelayCompute = False
  Unload Me
  
  图 3 变量驱动设计界面
  3 产品虚拟展示与发布
  ASP.NET 技术是 Microsoft 开发的一种基于.NET 平台的新技术,是建立、管理和部署 Web应用程序的平台。ASP.NET 技术能够简化开发工作,分离程序代码和网页内容,提高执行效率,支持多种客户端类型,增进适用性和延展性,有更多的支持工具和更佳的安全机制。利用ASP.NET 技术开发工业产品虚拟展示的网站。

  3.1 基于 ASP.NET 的数据库访问
  在 ASP.NET 中对数据库的访问可以采用 3种方法来实现:① 利用数据库组件通过 ODBC连接来实现;② 通过.NET 框架中包含的 SQLServer.NET 管理提供程序来实现;③ 通过.NET框架中包含的 OLE DB.NET 管理提供程序来实现[13]。方法① 的实现较为简单且不灵活,大型项目开发时一般不选用,方法② 与方法③ 的实现相似,该课题用方法② 实现 ASP.NET 中访问数据库,步骤如下:
  (1) 创建数据库链路;
  (2) 申请记录集合;
  (3) 将记录集合暂存到 DataSet,允许申请多个记录集合,暂存到 DataSet;
  (4) 关闭数据库链路,在 DataSet 上作所需要的操作。
  3.2 基于 ASP.NET 的安全访问技术
  ASP.NET 技术可以从验证、授权和扮演 3 个层次提供良好的安全机制。ASP.NET 中的验证是通过验证提供程序(Authentication Provider)来实现的,该课题通过 Web.config 文件,使用authentication 标签的基本语法来验证:


  扮演使 ASP.NET 通过运行客户程序的用户身份来执行页面,如果用户以某一身份通过授权,那么 ASP.NET 将会根据该用户的权限来限制或拒绝其对资源的访问。
  4 结 束 语
  运用 ASP.NET 技术、ActiveX 技术和三维CAD 软件二次开发接口,实现 Web 环境下工业产品的二维工程图和三维模型的浏览以及产品的在线驱动,为中小企业工业产品的虚拟展示和电子商务提供了一种实用的可视化平台。(更多交互式3D信息尽在Web3D纳金网www.narkii.com)
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

0

主题

0

听众

20

积分

设计初学者

Rank: 1

纳金币
20
精华
0
沙发
发表于 2012-9-9 16:12:16 |只看该作者
貌似看不懂啊。www.chinadaiyun.net
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-23 19:12 , Processed in 0.072453 second(s), 33 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部