Importing and exporting shapes

December 17, 2023
测试
测试
测试
测试
4 分钟阅读

今天介绍下如何向VREP中导入三维图以及如何将VREP中的三维图导出。

01

Importing Shapes

V-REP使用三角形网格来描述和显示形状。因此,V-REP将导入的三维图描述为三角形网格的格式。如果想导入参数化表面的对象(例如IGES等,注:IGES 是初始化图形交换规范),那么首先需要将文件转换成合适的三角网格格式。有几个转换应用程序允许这个操作,而且大多数3D绘图应用程序也很好地支持这一点。

V-REP支持以下文件格式的形状导入,通过[Menu bar --> File --> Import --> Mesh...]

  • OBJ : Wavefront Technologies 文件格式。这是目前唯一的格式,允许在V-REP导入纹理网格。
  • DXF : AutoCAD文件格式(Autodesk)。文件中可能包含的非3D信息将被忽略。
  • STL (ASCII或二进制) : 3D系统文件格式。支持ASCII和二进制文件。
  • COLLADA : 有关详细信息,请参考COLLADA插件。
  • URDF : 详细信息请参考URDF插件。

导入功能由V-REP的Assimp插件处理。查看这里的API函数。如果使用所需的标志重新编译Assimp库(和Assimp插件),就可以支持更多格式。

如果在导入操作之后,你在场景中看不到任何形状,但是场景层次结构显示了新添加的形状,那么很可能你的形状太大太小而无法被看到。然后可以在 object common properties对象公共属性中进行缩放操作。另外,当从CAD应用程序导出网格时,尝试将它们作为一个整体导出(最好是将它们作为一个单独的对象导出,稍后在V-REP中,可以使用 [Menu Bar --> Edit --> Grouping/Merging --> Divide selected shapes]来分割导入的形状);这是为了避免CAD应用程序在导出操作过程中根据参考框架(V-REP的参考框架是不同的!)对单个网格进行重定位/重定向,这可能导致损坏外观。

确保导入的网格不包含太多的三角形(之前有过具体的介绍,对于机器人来说,通常在10000-20000个三角形之间),否则V-REP会大大降低速度(渲染,计算,加载/保存操作等等)。有些应用程序允许减少网格中的多边形数量(例如MeshLab或polygon crunsher)。另外,也可以使用以下V-REP功能:

[Menu bar --> Edit --> Morph selection into convex shapes]:允许将选择的形状转换为凸形。

[Menu bar --> Edit --> Morph selection into its convex decomposition...] :允许转换选择的形状到他们的凸分解表示。

[Menu bar --> Edit --> Decimate selected shape...]:可以减少选择形状中的三角形数量。

[Menu bar --> Edit --> Extract inside of selected shape...] :可将一个形状的内部(即不可见部分)与该形状的外部(即可见部分)提取/分离。这个功能是基于视觉传感器的。

从一个将形状处理为参数化表面的应用程序(例如IGES等)导出形状以及绘图中包含大对象和小对象时,分几步导出对象是十分必要的。能够有效避免大对象定义得太精确(三角形太多)和小对象定义得太粗略(三角形太少):简单地首先导出大对象(通过调整所需的精度设置),然后导出小对象(通过调整精度设置)。

还请确保遵循how to build a clean simulation model的教程,这个教程上次只出了一半。

02

Exporting Shapes

V-REP支持以下文件格式的形状导出t [Menu bar --> File --> Export --> Selected shapes...](注意:只会导出选中的对象):

  • OBJ:波前技术文件格式。
  • STL(二进制):3D系统文件格式。导出只支持二进制格式。这是V-REP中最紧凑的导出选项。
  • COLLADA:详细信息请参考COLLADA插件。

V-REP的Assimp插件也处理导出功能。请查看这里的API函数。

03

Importing Heightfields

V-REP支持以下文件格式的heightfield形状导入( [Menu bar --> File --> Export --> Selected shapes...] ):

  • Image file图像文件:一个图像文件(JPEG, PNG, TGA, BMP, TIFF或GIF文件),其中不同的高度值从红-,绿-,蓝组件:height=(红+绿+蓝)/3。
  • CSV或TXT:逗号分隔值文件格式。该文件应该包含y行,其中每一行的x值用逗号分隔。

选择要导入的文件后,会打开一个对话框:

x -size / y -size:指定高度字段的x和y维度。单个高场单元总是正方形的。

z -scaling:指定应用于高度值的缩放。

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多