找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4383|回复: 8

[求助] 急!请问大家,能否实现Pro/E与VTK数据的交换?

[复制链接]

7

主题

15

回帖

0

威望

实习生

积分
25
发表于 2009-10-2 22:29 | 显示全部楼层 |阅读模式
请问大家怎么实现Pro/E与VTK之间的数据交换,VTk是一个可视化的软件。请大家知道的帮帮我,非常着急,我找过很多的资料了,谢谢大家!

34

主题

1156

回帖

33

威望

讲师

积分
1326

希望之星勋章

QQ
发表于 2009-10-3 06:57 | 显示全部楼层
帮你顶出高手来
回复

使用道具 举报

7

主题

15

回帖

0

威望

实习生

积分
25
 楼主| 发表于 2009-10-3 11:11 | 显示全部楼层
大家帮我顶一顶!!!谢谢大家,能不能帮我解答一下?
回复

使用道具 举报

7

主题

15

回帖

0

威望

实习生

积分
25
 楼主| 发表于 2009-10-3 15:45 | 显示全部楼层
大家帮帮忙 dddddddddddddddddddd
回复

使用道具 举报

85

主题

5459

回帖

1037

威望

VIP(贵宾)

积分
9915

优秀斑竹勋章VIP 勋章热心助人勋章优秀会员勋章斑竹勋章希望之星勋章

发表于 2009-10-3 17:58 | 显示全部楼层
简要的回应
    阁下的“急!……”贴已经挂壁近20小时,这在本论坛是少有的“冷门”了。
    其实,昨夜已见此贴,只缘阁下此贴的问题很“窄”,然而却“偏”而且“冷”,要回答又“说来话长”,就“晾”在这儿,没置可否。
    看来,不向阁下说几句,敝人今宵的赏月活动也会于心不安,兹“简答”于下,阁下可别嫌烦!

,VTK软件系统是近年来面世的一个数据化工具,应用面逐步扩大,功能及功效日益显著,当前,在我军的弹道导弹技术领域都有所援用,在医疗领域用于脏器全息造影的图视,甚至已经实现对中、美车辆的车牌识别……。

,阁下要实现Pro/E与VTK数据的交换,必需明确界定“数据的交换”的水平,例如是静态还是动态……,运用甚麽接口技术……。

,阁下有必要先购买到VTK软件。vtk官方[仅有英文]网站是:http://www.vtk.org/

,关于VTK(Visualization ToolKit)(尽管阁下可能对此有所知,但既然发贴于论坛,就顺此稍加简述)
    VTK(Visualization ToolKit)是一个开放源码、自由获取的软件系统,全世界的数以千计的研究人员和开发人员用它来进行3D计算机图形,图像处理,可视化。它能与多数CAD 软件接口,实现数据的共享和交换,Pro/Engineer, NASTRAN, Alogor, I-DEAS, ……。
    VTK包含一个c++类库,众多的翻译接口层,包括Tcl/Tk,Java, Python。
    Visualization Toolkit 是一个用于可视化应用程序构造与运行的支撑环境,它在三维函数库OpenGL 的基础上采用面向对象的设计方法发展起来的,它将我们在可视化开发过程中会经常遇到的细节屏蔽起来,并将一些常用的算法封装起来。例如Visualization Toolkit 将我们在表面重建中比较常见的Marching Cubes 算法封装起来,以类的形式给我们以支持,这样我们在对三维规则点阵数据进行表面重建时就不必再重复编写MarchingCubes 算法的代码,而直接使用Visualization Toolkit 中已经提供的vtkMarchingCubes 类。
    Visualization Toolkit 是给从事可视化应用程序开发工作的研究人员提供直接的技术支持的一个强大的可视化开发工具,它以用户使用的方便性和灵活性为主要原则,具有如下的特点:
    1), 具有强大的三维图形功能。Visualization Toolkit 既支持基于体素Voxel-basedrendering 的体绘制Volume Rendering又保留了传统的面绘制,从而在极大的改善可视化效果的同时又可以充分利用现有的图形库和图形硬件
    2) ,Visualization Toolkit 的体系结构使其具有非常好的流streaming 和高速缓存caching 的能力,在处理大量的数据时不必考虑内存资源的限制
    3) ,Visualization Toolkit 能够更好的支持基于网络的工具比如Java 和VRML 随着Web 和Internet 技术的发展Visualization Toolkit 有着很好的发展前景
    4), 能够支持多种着色如OpenGL 等
    5), Visualization Toolkit 具有设备无关性使其代码具有良好的可移植性
    6), Visualization Toolkit 中定义了许多宏,这些宏极大的简化了编程工作并且加强了一致的对象行为
    7), Visualization Toolkit 具有更丰富的数据类型,支持对多种数据类型进行处理
    8), 既可以工作于Windows 操作系统又可以工作于Unix 操作系统极大的方便了用户。

,VTK(Visualization Toolkit)安装和配置
    用现成的开源代码,很方便,但是要自己安装和配置,这中间总会碰到各式各样的问题,需要把VTK编译才能“通过”了。为免得再次重装时从头走一遍,把它写下来:
    (注:没有找到vc6.0或vc8.0下的安装版,若是用vc7.0话有现成的安装版本,所以只能自己动手编译之)

    安装版的配置环境(VC6,Windows)
    1,必须要下载的东西,(VC6已经装好为前提):
    vtk-5.0.4-win32.exe 安装程序 http://vtk.org 的Download
    vtk-5.0.4.zip 源程序
    vtkdata-5.0.4.zip 数据

    2,安装vtk-5.0.4-win32.exe在X:\Program Files\VTK 5.0,
    解压vtk-5.0.4.zip到X:\Program Files\VTK 5.0\vtk-5.0.4,
    解压vtkdata-5.0.4.zip到X:\Program Files\VTK 5.0\vtkdata-5.0.4;

    3,用cmake编译到X:\Program Files\VTK 5.0\bin下,(这一步要花不少时间,每次cmake编译到一定量就会“卡死”,原因未明,编译上10次才得成功)。

    4,参数设置,几个关键参数要注意;
    vtk_use_guisupport,打开它,才能选vtk_use_mfc,再configure;
    vtk_data_root: 目的是告诉cmake,vtk 需要的数据都在哪里,咱的数据在X:\Program Files\VTK 5.0\vtkdata-5.0.4
    build_examples: 就是询问是否编译 vtk 中的例子。当初第一次的时候选上了,结果编译了N个小时的例子还没能编译完,所以后来选了off(见本文末)。
    build_shared_libs: 如果设置为off,就只会生成lib 文件,用于开发肯定是够了。如果设置为on,将会多生成 dll 文件,这些dll需要拷到windows/system目录下。建议选On罢了。

    5,cmake中选ok,在bin文件下,编译dsw文件就行,正常大概要花几分钟。

    6,测试:
    这时新建一个project, win32 console application, an empty project, 生成后给source files加一个test.cpp,把下面的代码放进去。
    #include "vtkConeSource.h"
    #include "vtkPolyDataMapper.h"
    #include "vtkRenderWindow.h"
    #include "vtkCamera.h"
    #include "vtkActor.h"
    #include "vtkRenderer.h"
    #include "vtkProperty.h"
    int main()
    {
     vtkConeSource *cone = vtkConeSource::New();
       cone->SetHeight( 3.0 );

       cone->SetRadius( 1.0 );
       cone->SetResolution( 10 );
       vtkPolyDataMapper *coneMapper = vtkPolyDataMapper::New();
       coneMapper->SetInputConnection( cone->GetOutputPort() );
       vtkActor *coneActor = vtkActor::New();
       coneActor->SetMapper( coneMapper );
       vtkRenderer *ren1= vtkRenderer::New();
       ren1->AddActor( coneActor );
       ren1->SetBackground( 0.1, 0.2, 0.4 );
       vtkRenderWindow *renWin = vtkRenderWindow::New();
       renWin->AddRenderer( ren1 );
       renWin->SetSize( 300, 300 );
       int i;
       for (i = 0; i < 360; ++i)
       {
        renWin->Render();
        ren1->GetActiveCamera()->Azimuth( i );
       }
       cone->Delete();
       coneMapper->Delete();
       coneActor->Delete();
       ren1->Delete();
       renWin->Delete();
       return 0;
      }

      关于环境路径的设置(这个比较重要):
    1).修改Project setting->C/C++ ->Category->preprocessor->Additional include directories:
    X:\Program Files\VTK 5.0\vtk-5.0.4\Graphics,
    X:\Program Files\VTK 5.0\vtk-5.0.4\Filtering,
    X:\Program Files\VTK 5.0\vtk-5.0.4\Common,
    X:\Program Files\VTK 5.0\bin,
    X:\Program Files\VTK 5.0\vtk-5.0.4\Rendering

    2). 修改Project setting->Link->Input->Object/library modules:
    opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib vtkCommon.lib vtkDICOMParser.lib vtkexoIIc.lib vtkexpat.lib vtkFiltering.lib vtkfreetype.lib vtkftgl.lib vtkGenericFiltering.lib vtkGraphics.lib vtkHybrid.lib vtkImaging.lib vtkIO.lib vtkjpeg.lib  vtkNetCDF.lib vtkpng.lib vtkRendering.lib vtksys.lib vtktiff.lib vtkVolumeRendering.lib vtkWidgets.lib vtkzlib.lib

    3), Project setting> Link -> Category: Input -> Additional library path:

    X:\Program Files\VTK 5.0\bin\bin\Debug

    注意“build_shared_libs”:
    设置为“OFF”的话,通常是生成静态连接库;
    设置“ON”是动态链接库。
    静态库不需要VTK的DLL文件支持,最后只生成一个EXE可执行文件就够了;而动态库的话,假设您的产品是要外卖的,那麽,客户还得额外地拷贝那些DLL文件,否则无法正常运行程序。
    所以很多企业也希望采用静态编译来实现产品。
    此外不建议把DLL直接拷贝到system32下。放在和可执行文件一样的目录下,或者在PATH系统环境变量设置它的路径,都是可以的。

    综述的加注:
    阁下要实现关于VTK(Visualization ToolKit)与Pro/E的数据交换,请首先按照上述各节做参考,并安装一个买来的VTK(可靠一些,而且可得到技术支持)!
    以上谨供参考,纵使这是“班门弄斧”,但是衷心祝愿阁下今宵安装并测试成功,心情倍儿棒,多吃几个月饼饼儿!

     

[ 本帖最后由 yun0336wu 于 2009-10-4 10:02 编辑 ]

评分

参与人数 1威望 +1 收起 理由
野火 + 1 热心助人

查看全部评分

回复

使用道具 举报

7

主题

15

回帖

0

威望

实习生

积分
25
 楼主| 发表于 2009-10-5 16:52 | 显示全部楼层

回复 5# yun0336wu 的帖子

首先,非常感谢您为我提供的线索。是这样子的,VTK我大概有一些简要的背景知识的了解,但是关键怎样去实现他与Pro/E的数据交换,我还想继续请教您!真的是非常的感谢您,希望可以加您为好友,因为这个问题我现在很棘手,非常着急的,25578011这是我的qq号码,如果您看到了可否留下您的联系方式?
回复

使用道具 举报

7

主题

15

回帖

0

威望

实习生

积分
25
 楼主| 发表于 2009-10-6 23:31 | 显示全部楼层
好心人帮帮我啊 !!!
回复

使用道具 举报

7

主题

15

回帖

0

威望

实习生

积分
25
 楼主| 发表于 2009-10-7 11:41 | 显示全部楼层
版主能帮帮我吗???
回复

使用道具 举报

7

主题

15

回帖

0

威望

实习生

积分
25
 楼主| 发表于 2009-10-10 09:55 | 显示全部楼层

回复 5# yun0336wu 的帖子

这位仁兄能否现身给我点提示!
回复

使用道具 举报

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

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请发邮件联系我们,本站将立即改正或删除。

手机版|小黑屋|野火论坛(©2007~2024) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号|站长QQ28016688

GMT+8, 2024-11-23 09:13 , Processed in 0.141602 second(s), 23 queries .

快速回复 返回顶部 返回列表