模型是通过构建在同一层次树上的场景对象的选择来定义的,其中树的基础必须是一个标记为object的对象,即model base。可以用 [Menu bar --> File --> Load model...][菜单栏—>文件—>加载模型…]加载。然而,通过模型浏览器和场景视图之间的拖放操作来加载模型要容易得多,也方便得多。可以通过[Menu bar --> File --> Save model as...][菜单栏—>文件—>保存模型为…],只需要确保选中一个被标记为object is model base的对象,否则Save model as…-菜单项将不被启用。
模型的定义步骤如下:
将逻辑上属于模型的所有对象附加到一个基对象,这样基对象就是模型树的基。
检查对象公共属性中的模型基项。
在上面的对话框中, 检查object/model can transfer or accept DNA。如果您在稍后的阶段修改模型,这将简化模型的重新初始化。
在上面的对话框中,单击Edit model properties,您可以定义特殊的覆盖属性(例如,使整个模型不可见,不可冲突,等等)。这允许快速禁用模型中定义的所有对象的一些属性。
对于模型中的所有对象,除了基本对象之外,请检查对象公共属性中的 select base of model instead。这将保护您的模型:您将不能直接选择模型中的单个对象,并且几乎可以作为单个对象来操作模型。
对于所有通常不可见的对象,请选中 Don't show as inside model selection“不在模型选择项中显示”。这将使模型包围框以正确的大小出现在模型周围。
Invisible during selection在选择过程中不可见:当启用时,对象将在选择过程中不可见(即可以通过对象进行选择)。
Ignored by depth pass忽略深度通道:当启用时,对象将在深度渲染通道中被忽略。深度渲染通道用于为摄像机移动正确定位红色球体
。
Select base of model instead:如果启用,那么在场景中选择对象将会选择它的第一个被标记为object is model base。此属性在保护模型不受错误操作时非常方便,允许将其作为单个实体与其他对象一起操作。参考关于模型的章节,也参考sim.setObjectProperty函数。
Ignored by model bounding box模型包围框忽略:当被选中时,对象是模型的一部分,那么模型包围框(即模型选择包围框)将不包含该对象。这对于那些可能使模型边界框看起来太大的不可见的对象非常有用。此属性没有功能影响。也参考sim.setObjectProperty函数。
Ignored for view-fitting视图拟合时忽略:当没有选择对象时,将场景拟合到视图时,将不考虑选中此项的对象。通常地板和类似的将被标记为这样。也请参考view fitting toolbar按钮和sim.cameraFitToView api函数。
Cannot be deleted during simul无法仿真期间删除。:当启用时,当模拟运行时,对象将忽略删除操作(但是,当通过代码触发删除操作时,删除操作仍然有效)。
Cannot be deleted不能删除:当启用时,对象将忽略删除操作(但删除将仍然工作时,通过代码触发)。
Object is model base对象是模型基:指示该对象是否应该作为模型的基。一个标记为base of model的对象具有特殊的属性(例如,保存或复制该对象也会自动保存/复制它的所有子对象和子对象的子对象,等等)。此外,当这样一个对象被选中时,选择边界框显示为粗点画线,包括整个模型。
Edit model properties编辑模型属性:允许打开模型对话框。
Object / model can transfer or accept DNA对象/模型可以传输或接受DNA:当为对象或模型启用此功能时,它将与所有副本共享相同的标识符。然后,通过“转移DNA”工具栏按钮,一个对象或模型可以将其DNA(即复制自身的一个实例)转移到它的所有兄弟对象(即具有相同标识符的对象/模型)。想象一下,在你的场景中有100个相同的机器人,你想用类似的方式对它们进行修改:只需修改其中一个,选中它,然后单击“转移DNA”工具栏按钮。这个项目几乎总是应该检查一个模型库(见进一步),以方便模型重新瞬变。
Required match values for parent父对象的必需匹配值:该对象可以附加到另一个对象(即成为另一个对象的子对象),但是只有当列出的父对象的必需匹配值之一与它的新父对象的子对象的必需匹配值之一匹配时才可以。这个特性对于设置夹具兼容性标准很有用(例如,夹持器a只能与具有a类型工具提示的机器人连接)。
Required match values for child子对象的必需匹配值:对象可以有另一个对象附加到它自己(即成为另一个对象的父对象),但只有当它的一个子对象的必需匹配值与它的新子对象的父对象的必需匹配值之一匹配时。这个特性对于设置夹具兼容性标准很有用(例如,夹持器a只能与具有a类型工具提示的机器人连接)。
When assembling, a specific local transform. matrix will be applied装配时,一个特定的局部变换。矩阵将被应用:如果勾选此项,那么对象在装配时将不会呆在原地:一个特定的变换矩阵将被用作其新的局部变换矩阵。默认情况下,这个矩阵是单位矩阵,但是您可以通过单击Set matrix指定一个特定的矩阵。这个特性在自动定位和定位一个对象时是有用的,它与它的新父对象相关(例如,为了让一个钳子自动正确地放置在机器人的工具提示上)