Skip to content
Henning Wiedemann edited this page Apr 12, 2023 · 34 revisions

Operators are constructs in Blender that can be called from the GUI, thus whenever you click a button or menu item, you execute an operator. While you can use lots of Phobos' functions when scripting in Blender, most of the time you will work with the set of operators it provides.

Model editing

Name Robot

Assign a name to a robot. You have to select at least one object parented to the robots root link.

Set Model version

Sets the models version.

Tools

Measure distance

Measure the distance between two selected objects. The distance is provided in the console.

X-Ray view

Enable or disable the X-Ray view for a specified set of objects. With X-Ray view you can investigate the inner structure of the robot without hiding objects.

Sort Objects to Layers

Sorts the selected objects to their corresponding Blender layer (determined by phobostype).

Select...

Select Root

Select the root link of the corresponding robot for each selected object.

Select by phobostype

Select all objects of a specified phobostype.

Select by name

Select all objects that name matches the given value.

Select Robot

Select all objects (including links, visuals, collisions, inertials, sensors and controllers) which are part of the robot the currently selected object is part of.

General

Set phobostype

Set a specific phobostype for all selected objects.

Batch Rename

Perform a find and replace operation on object names. Be careful using it, because it doesn't respect namespaces and other naming conventions.

Set model root

Restructures the tree to make the selected link the new model root.


Kinematics

Create Link

Creates a link at the 3D cursors location or at the selected objects positions. You can choose to parent the newly created links with the selected objects or parent links using the Parent Selection operator.

Define Joint(s)

Takes all selected links and applies the defined joint constraints to them. All URDF joint types are supported.

Set Geometry Type(s)

takes all selected objects and sets their geometry types. All objects that are no visual or collision objects are omitted.

Set Origin to COM

sets all selected objects origins to their centre of mass.

Set Collision Group

sets the collision groups for all selected collision objects. You can change the groups by just changing the bitmask visible in the operators properties menu.

Parent selection

Parents all selected objects to the active one as Bone Relative.

Mimic Joint

Defines the current joint as mimic of another.

Visual/Collision

Define Geometry

Sets the objects geometry type.

Smoothen Surface

Takes all selected objects and applies smooth shading to them.

Create Collision Object(s)

Creates collision objects for all selected visuals. You can choose from a set of different primitives or use visuals mesh. If you use the mesh option you can either copy the mesh for further editing or use the shared mesh.

Set Collision groups

Places collision object to a group to generate ODE collide bitmasks.

Mechanisms

Defines Submechanisms of the robot. As used by HyRoDyn.

Poses

Store current pose

Let's you store the pose you have put your robot into using pose mode with the given name

Load Pose

Applies the stored pose with the given name to the robot.

Delete Pose

Deletes the pose with the given name.

Masses & Inertia

Calculate Mass

shows the mass of your selected objects.

Create Inertials

Takes all selected objects, sets their mass and creates inertial objects for them

Hardware

Add Motor

Adds a motor definition to the selected joints.

Add Sensor

Adds a sensor object.

Create Interface

Creates an Interface that annotates that the robot has here an interface to connect with another matching interface.

Export & Import

Model Export Settings

path

The directory in which the model will be saved. By checking the respective box in the selection dialog it is possible to use a relative path.

decimal places

This value sets the number of decimal places used for representing floating point values inside the export files.

Ensure Positive Semidefinite Inertias

Fixes problems with inertias at best guess.

Force almost zero to zero

Makes almost zero values to zero depending on the information type when exporting.

  • translation: 1E-5
  • angle (rad): 1E-6
  • mass: 1E-4
  • inertia: 1E-12

Models

SMURF

The SMURF will always be exported as it contains almost all information. And will be helpful to reload your model into blender.

You need to select whether SDF or URDF will be used to represent the kinematic structure in smurf.

SDF/URDF

The XML-format kinematic representation you want to export. Selection will lead to another boy popping up that let's you select which meshes you want to link there and which style of pathes you want to use in that file.

joint_limits

Exports a json file containing the joint limits in ROCK-style.

PDF

Will export a PDF showing the kinematic structure of your model. Useful for debugging purposes as it gives an easier in-sight into your models structure.

Meshes

use .bobj format

Selecting this check box causes the model's mesh objects to be exported in .bobj format, if the Export Meshes option was selected as well.

use .obj format

Selecting this check box causes the model's mesh objects to be exported in .obj format, if the Export Meshes option was selected as well.

use .stl format

Selecting this check box causes the model's mesh objects to be exported in .stl format, if the Export Meshes option was selected as well.

use .dae format

Selecting this check box causes the model's mesh objects to be exported in .dae format, if the Export Meshes option was selected as well.

Import Robot Model

This operator allows for browsing for either a SMURF, SDF or URDF file and importing the model specified.

Clone this wiki locally