Associate方式设计WITNESS VR模型

 

    下面描述了如何通过Mantra4D软件为WITNESS二维模型中的元素创建一个三维图形,并将其关联起来,形成WITNESS VR模型。在本节示例中我们将为bells.mod(C:\Program Files\Witness2006\Demo\bells.mod)中的输送链C1建立三维图形,模型下载,其中输送链C1长度为十个部件的长度。

    该示例需要使用的软件:3D设计软件Mantra4D和具有WITNESS VR模块的WITNESS。
设计流程分为两个部分:
Part 1:使用Mantra4D设计输送链3D模型
Part 2:使用WITNESS将3D和2D模型连接,实现VR


Part 1:使用Mantra4D设计输送链3D模型

 

    3D输送链实例的构成:包括输送链链体、部件参考实体、部件参考实体的运动路径和一个表示部件形状的3D几何形状。
Step1:打开Mantra4D Designer
通过菜单File->New建立一个新的视图文件,在弹出对话框中选择“Blank Realibase”,建立一个空的rbs文件,设计界面如下图所示。

 

Step2:建立输送链链体形状
   选择菜单 create ->shape-> box,弹出创建新形状对话框“Create New Shape”,如下图,在该对话框中可以设置形状的坐标位置、名称、材质以及是否自动显示四项内容。


在上图的Box选项对话框中包括了形状的中心位置Center和尺寸Size的设置选项。
设置如下:

(1)中心坐标:Center(X,Y,Z)=(0,0,0),即该形状的中心处于3D坐标系零点;
(2)形状尺寸:Size(X,Y,Z)=(1,0.5,20),即输送链形状的宽度为1,厚度为0.5,长度为20。因为输送链C1上包含10个位置,为了让输送链阻塞时每个部件之间显示出一定的间隔,设置三维形状的长度(即Z轴方向的尺寸)设置为20;

(3)选择Name设置页,设置形状名称为“conveyorbody”;

(4)选择Material设置页,设置形状的基本颜色为“green”;

 

  点击“确定”按钮,关闭形状设置对话框,完成输送链形状的设定。此时,在“Main View”窗口显示设计好的立方体形状。

在左边的形状(Shapes)列表窗口可以看到“conveyorbody”形状;

在左边的实例(Instances)列表窗口可以看到“conveyorbody”实例;如果实例列表窗口没有显示出来,可以点击图中圆圈处的实例页标打开实例列表窗口。

 

列表中元素名称左边的图标说明:
:空的立方体图标,表示其右侧对象为一个实例;
:大小相连的圆柱体图标,表示其右侧对象为一个形状;
:条纹圆图标,表示其上层形状的颜色;

Step3:建立部件运动参考形状
在建立输送链形状的基础上,创建一个部件运动参考形状,将它附属到输送链上,该参考形状显示部件从哪里进入输送链,部件在输送链上的移动方向。
选择菜单 create ->shape-> box,弹出创建新形状对话框“Create New Shape”,设置参考形状的坐标和尺寸如下图。


在命名Name页上设置该形状的名称为“partRP”,点击“确定”按钮,关闭形状设置对话框。此时,“Main View”窗口显示如下:


输送链链体形状conveyorbody和部件参考形状partRP的中心Center坐标都是(0,0,0),所以使得partRP出现在conveyorbody的中心位置。
这时,Shapes和Instances列表窗口如下图所示,从下面两幅图上看,里面的对象似乎完全一样:conveyorbody和partRP,但是从图形的标题以及列表对象前面的图标可以看出,两者是不同的,左边列表窗口表示该视图中建立了两个形状元素,而右边的列表窗口表示该视图中建立了两个实例元素。


形状Shape元素与实例Instance元素的区别:
 Shape:表示一种由点、面、位置确定的几何图形;
 Instance:是shape的一个具体表现形式,继承了shape的点、面以及位置信息,同时它又具有新的位置信息。
 一个shape中可以派生出几个位置和方向不同的实例;
 形状不会显示在主视图中,而实例显示于主视图中;
优点:多个具有相同形状的对象在mantra4d中指需要存储一个shape信息即可;
如果有两个实例派生于一个形状,例如:一个body是水平的,另一个body是垂直的,那么只需要从该形状将两个实例的位置和方向信息分别设定即可。
Step4:建立输送链形状
建立了输送链链体和部件参考形状之后,它们是构成输送链的组成部分,需要将它们组合为一个输送链,这就需要重新建立一个空的形状,然后将链体和部件参考形状拖进空形状即可。
选择菜单 create ->shape-> empty,弹出创建新形状对话框“Create New Shape”,设置空形状的名称为“conveyor”,如下图。


点击“确定”按钮,关闭形状设置对话框。则在主视图窗口没有变化,而在Shapes列表窗口中出现了空形状元素conveyor。如下图所示:

在上图中,选中上面两个形状元素,将它们拖放到空形状conveyor中去,组成一个输送链,操作结束后,Shapes和Instances列表窗口显示如下:

Shapes列表窗口中共有三个形状:conveyorbody、partRP、conveyor,它们前面的小图标为圆柱体;而在conveyor形状下面有两个实例conveyorbody、partRP,它们前面的小图标是空心立方体。
Instances列表窗口中共有三个一级实例和两个二级子实例,自上而下分别是:conveyorbody、partRP、conveyor、conveyorbody、partRP,其中最上面两个实例conveyorbody和partRP是在建立形状是自动生成的一级实例,最小面两个实例conveyorbody和partRP是第三个实例conveyor的子实例,同时可以在第三个实例conveyor中可以看到这两个子实例。
在主视图中却并没有什么变化,但事实上在主视图中具有三个一级实例的显示图形:conveyorbody、partRP、conveyor。通过如下方式可以查看到这三个实例的存在方式。
在主视图“Main View”中选中实例conveyorbody,效果如下图。


在上图中,鼠标左键按住天蓝色区域,拖动鼠标移动,该实例将在x轴方向运动,将该实例同conveyor实例位置分开如下图。

鼠标点击上图partRP实例图形部分,选中实例partRP,拖动鼠标,将其与conveyor实例分开,效果如下图。

    这样在主视图中显示出来的三个实例位置不在重合,点选最左边的绿色长条加中间的灰色小块的任意位置,都将选中同一个实例conveyor,因为该实例是由两个子实例conveyorbody和partRP组合而成的。
   在上述的针对主视图的操作中,Shapes和Instances列表窗口中的元素没有变化,仅仅是视图元素几何位置的变动。
用于模拟二维输送链的实例是最左边的组合实例conveyor,所以将两个独立的实例:conveyorbody和partRP删除,删除方法为:
    在Instances实例列表窗口选中独立实例元素conveyorbody,点击鼠标右键,选中快捷菜单中的“Delete”菜单项删除该实例,同时也删除了主视图窗口中的独立绿色长条体;再选择独立实例partRP,点击鼠标右键,选择快捷菜单中的“Delete”菜单项删除该实例,同时也删除了主视图窗口中的灰色小方块。
    删除之后的主界面和Shapes和Instances列表窗口分别如下:


Step5:设置移动路径
   通过上面的步骤,已经建立好了模拟输送链的3D模型的可视化实体元素,现在需要为partRP设定移动路径,它确定partRP的运动方式。
   选择菜单create / action / motion / linear,弹出线性活动设置对话框,修改Z轴坐标如下图。

    因为输送链的长度为20,中点为(0,0,0),所以要使得partRP从输送链一端移动到另一端,即从(0,0,-10)以线性方式移动到(0,0,10),所以设定该线性活动的起始坐标为Start(0,0,-10),终点坐标为Finish(0,0,10)。
    在Name设置页输入该活动的名称为:partRP moving,其它选项保持默认值,点击确定按钮,关闭活动设计对话框,紧接着弹出活动详细设计对话框,如下图,可以对某一活动进行详细设计和添加运动节点。



   在本示例教程中,保持该对话框设置不变,点击对话框由上角关闭按钮关闭该对话框。此时点击元素列表窗口的“Actions”列表,里面出现我们刚刚设计好的“partRP moving”元素,如右图所示。


Step6:将运动绑定至partRP实例
   分别将元素列表窗口选为“Instances”和“Actions”,在Actions窗口用鼠标选中“partRP moving”,拖动至Instances中的“partRP”实例,即可将运动路径“partRP moving”添加至实例“partRP”,如左图所示。

 


   此时主视图窗口和Instances列表窗口分别显示如下图。

  主视图窗口中实例conveyor中间的partRP根据移动路径“partRP moving”的起始位置显示在坐标(0,0,-10)点。
  实例列表窗口中,将实例conveyor和子实例partRP逐层打开,可以发现在实例partRP下出了实体partRP之外,添加了一项活动元素“partRP moving”。
Step7:为2D部件创建3D几何体
   需要设定一个3D几何体来确定WITNESS 2D模型下的部件在3D中以怎样的几何形状呈现。
   本例中以一个蓝颜色的立方体表示。
   选择菜单create / shape / box打开方块体设计对话框,设定对象坐标为:Center(0,0,0),Size(1,1,1);对象名称为:partBody;对象材料Material为:Blue,如下图所示。

   由于该立方体只有在输送链模型运行过程中,随着2D中的part出现才显示出来,所以需要在设计对话框的“AutoView”页框下,设定为不自动显示“Do not autoview”,如下图。

  点击“确定”按钮,关闭立方体设计对话框,完成设定。此时主视图窗口和实例列表窗口的元素都没有变化,只在形状“Shapes”列表窗口中出现了一项“partBody”元素。


   至此,模拟WITNESS 2D模型中的输送链C1的3D元素设定完毕,将文件保存为“convey3d.rbs”,关闭Mantra4D程序。