Plant Design Review Based on AnyCAD
Plant Design Review Based on AnyCAD
Abstract. AVEVA Review is used to 3D model visualization for plant or ship design, construction and operation. Taking data from a range of 3D design systems, AVEVA Review delivers a virtual reality view of a plant or ship which users from all disciplines can freely navigate to view areas of interest, communicate ideas or undertake reviews. Use AVEVA .Net can extract model from DESIGN database, and use AnyCAD .Net can visualize the model. This paper mainly focus on the usage of AnyCAD .Net, and also discuss how to read model data from DESIGN database by AVEVA .Net.
Key words. AVEVA Plant, PDMS, AVEVA .Net, AVEVA Review, AnyCAD, C#
1. Introduction
AVEVA Review为工厂或船舶设计、建造和运营提供三维模型可视化。对于结构复杂的工厂和船舶设计方案而言,精细化、易于导航的三维模型已经让项目生命周期发生了彻底的转变。从最初的项目投标到后续的设计、施工、调试及投入运营,只要用眼睛去看一看,就能掌握其中的来龙去脉。AVEVA Review的主要功能如下:
l 强大的设计方案审阅功能:AVEVA Review可从诸多种类的三维设计系统中提取数据,以此来为工厂或船舶创建一种“虚拟现实”的视图画面,而且各个专业的用户都能自由地执行视图导航,以查看感兴趣的区域、交流想法或做出评论。他采用了标准的企业通信技术,并不依赖原始的三维设计软件;
l 逼真的可视成像效果:极具真实感的交互图形:融入了高性能的模型渲染功能,包括灯光、纹理、背景画面、烟雾及实时阴影;支持导出颜色规则和半透明规则;可视化保温及伴热对象;实用型查看功能,多样式的像机模式、立体效果及键盘操作视图;逼真的动画效果,创建场景漫游动画、模拟物体运动及检查运动物体间的碰撞情况;
Figure 1.1 Review with textures
Figure 1.2 Pipes and structures in Review
Figure 1.3 Review FPSO in 64bit
l 强大的模型处理功能:数据流技术实现了交互式模型可视成像,而且不受模型大小或复杂程度的限制;自动转换并以流的方式传送RVM、RVZ、ZGL、STEP、IGES及SAT格式的模型文件;将流式和非流式模型合并于同一个复合视图;缩放、移动和旋转模型;模型校准:即时获取模型数据;模型测量功能;激光模型查看功能:将激光扫描模型导入AVEVA Review模型所在的场景中,并在这二者之间执行尺寸核准。直接连接到三维项目模型,浏览设计方案的层次结构、直接加载几何体及查看对象属性;
l 设计沟通:全球化沟通支持,对多个工作地点执行项目审阅;在AVEVA Review强大功能基础上,集成了交互式三维设计方案交流手段,以便让身处世界各地的项目参与方都能通过Internet实现联网沟通;
业务上具有一些优势:
l 节省时间和成本:使用AVEVA Review来对正在开发中的设计方案执行内容评估和进度评估,以此来提高项目的执行效率;更妥善地对装配、施工和调试工作做出规划;将激光扫描所得的完工项目测绘结果运用于改造或改建项目;
l 提高投标的成功率:使用Review来展现概念模型或投标专用模型,以此来提升项目提案的质量和吸引力;
l 完善运营:使用AVEVA Review来开展员工培训,并执行安全和可操作性检查;执行关键工序过程的动画模拟;
综上所述,可知三维可视化在设计中的重要意义。本文主要使用AVEVA .Net提供的SDK来读取DESIGN数据库的几何模型数据,并在AnyCAD中实现可视化,以此来实现部分AVEVA Review的功能。因为AnyCAD也是用C#开发的,所以将AnyCAD与AVEVA接合起来开发还是很方便的。若有关于AVEVA .Net及AnyCAD .Net的任何问题,都可与我联系:eryar@163.com。
2. Extract DESIGN model data by AVEVA .Net
AVEVA .Net提供了二次开发的统一接口,即IAddin,在其Start方法中可以增加命令。这样就会在启动AVEVA Plant/Marine时加载这个动态库,将调用插件的Start方法来进行相关配置。这是AVEVA .Net的一种用法,即一定要启动AVEVA Plant/AVEVA Marine。
AVEVA .Net还提供了一种开发方式,即独立运行方式,这样就不需要启运AVEVA Plant/AVEVA Marine,直接生成一个可执行程序。本文使用这种方式从DESIGN/Outfitting中读取几何模型数据,并在AnyCAD中可视化。这样就可以用一个独立运行的程序来对AVEVA中的模型数据可视化。
在AVEVA中模型数据是以层次关系的树结构来组织的,如下图所示:
Figure 2.1 Design Explorer for Model Data
其中树上每个节点对应AVEVA .Net中的类是DbElement:
Figure 2.2 DbElement Class
根据类DbElement这样就可以把模型的几何数据提取出来了。
3. Visualisation in AnyCAD
AnyCAD .Net图形组件是为.Net开发者提供的专业图形SDK,可大大加快三维程序的开发。AnyCAD .Net可以用来几何造型、可视化及数据交换。AnyCAD .Net有如下功能:
l 造型:提供基本形状的造型方法,如点、线、圆、球、长方体、圆柱体、圆锥体及由点生成的曲面;还提供了常见的一些造型算法,如拉伸体、旋转体、倒角、倒圆等;提供了形状的布尔操作算法,如合、差、并操作;
l 可视化:不需要编码,提供了一些默认的相机操作,如对视图的缩放、平移、旋转等;选择的管理,支持场景中形状的拾取;可设置显示模式,如线框模式、实体渲染模式等;可设置场景形状的显示样式,包括颜色、材质及透明度等;可设置渐变的背景色;
l 数据交换:支持STEP、IGES、STL、DXF等常见的三维模型交换文件格式的导入导出;
AnyCAD .Net的使用还是很简单的。首先添加如下程序集:AnyCAD.Foundation.Net.dll和AnyCAD.Presentation.Net.dll。
然后再添加可视化控件,你可以通过拖放一个RenderWindow3d控件到你的窗口。也可以通过程序动态创建,程序代码及程序运行得到的三维场景如下所示:
public partial class FormMain : Form
{
// Render Control
private Presentation.RenderWindow3d renderView;
public FormMain()
{
InitializeComponent(); // Create renderView
this.renderView = new AnyCAD.Presentation.RenderWindow3d();
this.renderView.Location = new System.Drawing.Point(, );
this.renderView.Size = this.Size;
this.renderView.TabIndex = ;
this.Controls.Add(this.renderView);
}
// TODO...
}
Figure 3.1 AnyCAD .Net Visualization Control
从DESIGN中读取到模型数据后,就可以使用AnyCAD .Net造型算法来生成管道、设备、结构等模型了。AnyCAD .Net提供了简单直接的造型算法,通过使用全局的BRepTools实例来建模,如下图所示:
Figure 3.2 BRepTools Class of AnyCAD
创建一个基本形状及对其可视化只需如下所示两行代码:
TopoShape cylinder = GlobalInstance.BrepTools.MakeCylinder(
new Vector3(, , ), new Vector3(, , ), , , , ); // You need to assign the Id for geometry for latter query usage.
renderView.ShowGeometry(cylinder, );
显示效果如下图所示:
Figure 3.3 A Cylinder in AnyCAD
为了使显示效果更逼真,AnyCAD .Net提供了设置颜色、材质及透明度的功能。设置渲染样式的方式有三种,如下图所示:
Figure 3.4 Render Style of AnyCAD
设置面的显示属性的方法如下图所示:
Figure 3.5 Set Face Render Style
综上所述,AnyCAD .Net使用简单,直观。所以使用AVEVA .Net结合AnyCAD .Net可以快速开发出一个与AVEVA Review功能类似的产品出来,减少软件的授权费用。
使用AnyCAD .Net开发出来的Review功能效果如下图所示:
Figure 3.6 Models in AVEVA Design
Figure 3.7 Models in AnyCAD .Net
Figure 3.8 Valves with Insulation
4. Conclusion
本文简要介绍了AVEVA Review的功能,使用AVEVA Review可以用来对员工进行培训,还可用来在三维模型中执行安全和可操作性检查,及对工厂设计中的关键工序过程进行动画模拟。
通过使用AVEVA .Net的SDK可以直接从PDMS的DESIGN数据库读取模型的几何数据。
通过使用AnyCAD .Net可以将PDMS数据库的模型数据可视化,实现一些AVEVA Review的功能。由于都是使用C#来开发,且AnyCAD .Net的易于使用,可以将二者结合快速开发出一个三维模型浏览及校审的软件。
5. References
1. AVEVA Review. http://www.aveva.com/
2. AnyCAD.Net. http://www.anycad.net/
PDF Version: Plant Design Review Based on AnyCAD
Plant Design Review Based on AnyCAD的更多相关文章
- CAD格式DWF嵌入到自己的网页中展示--Autodesk Design Review
网页上嵌入CAD图纸,用的 Autodesk Design Review控件嵌入IE, 网上的 dwf viewer方式没成功. Head之间 <script type="text/j ...
- Quality in the Test Automation Review Process and Design Review Template
About this document Prerequisite knowledge/experience: Software Testing, Test Automation Applicable ...
- 开发中Design Review和Code Review
一.Design Review 详解 翻译为设计评审,也就是对需求设计进行审核,防止出现异常问题,例如下面的这些 可用性 外部依赖有哪些?如果这些外部依赖崩溃了我们有什么处理措施? 我们SLA是什么? ...
- Material Design系列第二篇——Getting Started
Getting Started This lesson teaches you to Apply the Material Theme Design Your Layouts Specify Elev ...
- Audiosink design
Audiosink的设计,需要满足下列一些需求: 良好的chain_based 支持.绝大多数简单playback pipelines都是将音频数据从decoder直接push给audiosink; ...
- DIY FSK RFID Reader
This page describes the construction of an RFID reader using only an Arduino (Nano 3.0 was tested, b ...
- RFID 读写器 Reader Writer Cloner
RFID读写器的工作原理 RFID的数据采集以读写器为主导,RFID读写器是一种通过无线通信,实现对标签识别和内存数据的读出和写入操作的装置. 读写器又称为阅读器或读头(Reader).查询器(Int ...
- RFID Reader 线路图收集
This 125 kHz RFID reader http://www.serasidis.gr/circuits/RFID_reader/125kHz_RFID_reader.htm http:// ...
- Chapter 6 — Improving ASP.NET Performance
https://msdn.microsoft.com/en-us/library/ff647787.aspx Retired Content This content is outdated and ...
随机推荐
- CODEVS1090 加分二叉树
codevs1090 加分二叉树 2003年NOIP全国联赛提高组 题目描述 Description 设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点 ...
- JAVA多线程售票问题
//定义一个类实现Runnable接口,定义一个需要同步的售票方法,然后重写run方法调用售票的sale方法 class SaleTicket implements Runnable{ private ...
- Linux Shell 脚本调试
方法如下所示:(1) 使用选项–x,启用shell脚本的跟踪调试功能: $ bash -x script.sh 运行带有-x标志的脚本可以打印出所执行的每一行命令以及当前状态.注意,你也可以使用sh ...
- 新入门node.js必须要知道的概念
一.对于一个刚入门node.js的朋友来说,一定要了解一些基础概念: 今年我正式进入社会后,发现自己所知道的IT方面的知识,真的只是牛毛,原来人外有人,山外有山,还需要继续努力.下面是一些我的自学习心 ...
- [LintCode] Container With Most Water 装最多水的容器
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...
- C代码实现非循环单链表
C代码实现非循环单链表, 直接上代码. # include <stdio.h> # include <stdlib.h> # include <malloc.h> ...
- Java json串生成及转bean
package com; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import j ...
- POJ1753 Flip Game(bfs、枚举)
链接:http://poj.org/problem?id=1753 Flip Game Description Flip game is played on a rectangular 4x4 fie ...
- 导入导出Excel工具类ExcelUtil
前言 前段时间做的分布式集成平台项目中,许多模块都用到了导入导出Excel的功能,于是决定封装一个ExcelUtil类,专门用来处理Excel的导入和导出 本项目的持久化层用的是JPA(底层用hibe ...
- while(cin.eof)出错 poj
zoj遇到c++如何判定输入流结尾的问题,一不小心就超时了 楼下的代码可以通过zoj #include<iostream> using namespace std; int main(){ ...