通过该控件,还可以实现二维和三维图文档的远程打印,下面以二维工程图为例加以说明。'检查 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 所示。
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)