Object common properties
The object common properties dialog is part of the scene object properties dialog, which is located at [Menu bar --> Tools --> Scene object properties]. You can also open the dialog with a double-click on an object icon in the scene hierarchy, or with a click on its toolbar button:
[Scene object properties toolbar button]
In the scene object properties dialog, click the Common button to display the object common properties dialog. The dialog displays the settings and parameters of the last selected object. If no object is selected, the dialog is inactive. If more than one object is selected, then some parameters can be copied from the last selected object to the other selected objects (Apply to selection-buttons):
[Object common properties dialog]
Selectable: indicates whether the object can be selected in the scene. Objects can always be selected in the scene hierarchy. Refer also to the simSetObjectProperty function.
Invisible during selection: when enabled, then the object will be invisible for the selection process (i.e. you will be able to select through the object).
Ignored by depth pass: when enabled, then the object will be ignored during the depth rendering pass. The depth rendering pass is used to correctly position the red sphere for camera movements.
Select base of model instead: if enabled, then selecting the object in the scene will select its first parented object marked as object is model base instead (see further down). This property is convenient when protecting a model from faulty manipulations, allowing it to be manipulated as a single entity together with other objects. Refer to the section on models and also to the simSetObjectProperty function.
Don't show as inside model selection: when selected, and the object is part of a model, then the model bounding box (i.e. model selection bounding box) will not encompass that object. This is useful for invisible objects that might make the model bounding box appear too big. This property has no functional effect. Refer also to the simSetObjectProperty function.
Size factor: every object can be scaled (resized) at any time, also during simulation. The size factor will be scaled in a similar way and can be accessed programmatically in order to adjust a code's behavior (e.g. child script). Imagine a 2-wheeled kinematic robot whose movement is controlled in a simple way through a child script: the child script will calculate the new position of the robot according to several parameters (wheel rotation velocity, wheel diameter and distance between the two wheels). If the user scales the robot, the child script should adjust its calculation according to the new size parameters (wheel diameter and distance between the two wheels). It can do that by using the simGetObjectSizeFactor API function.
Ignored for view-fitting: objects with this item selected will not be taken into account when fitting a scene to a view while no object is selected. Usually floors and similar will be tagged as such. Refer also to the view fitting toolbar button and to the simCameraFitToView api function.
Extension string: a string that describes additional object properties, mainly used by extension plugins (see also the simGetExtensionString API function).
Camera visibility layers: each object in V-REP can be assigned to one or several visibility layers. If there is at least one visibility layer that matches the layer selection dialog layers, then the object will be visible when seen from a camera. By default, a shape is assigned to the first layer, a joint to the second layer, a dummy to the third layer, etc.
Can be seen by: allows to specify a camera or vision sensor (or a collection containing cameras or vision sensors) that will be the only one able to see the object.
Collidable: allows enabling or disabling collision detection capability for the selected collidable object.
Measurable: allows enabling or disabling minimum distance calculation capability for the selected measurable object.
Detectable: allows enabling or disabling proximity sensor detection capability for the selected detectable object. Clicking details allows you to edit the detectable details.
Renderable: allows enabling or disabling the vision sensor detection capability for the selected renderable object.
Cuttable: allows enabling or disabling the mill cutting capability for the selected cuttable object.
Object is model base: indicates whether the object should act as the base of a model. An object flagged as base of model has special properties (e.g. saving or copying the object will also automatically save/copy all its children and children's children, etc.). Additionally, when such an object is selected, the selection bounding box is displayed as thick stippled lines, encompassing the whole model. Refer to models, and to the select base of model instead item above.
Edit model properties: allows opening the model dialog.
Object / model can transfer or accept DNA: when this feature is enabled for an object or a model, then it will share a same identifier with all of its copies. An Object or model can then transfer its DNA (i.e. copy an instance of itself) to all of its siblings (i.e. objects/models with the same identifier), via the transfer DNA toolbar button. Imagine having 100 same robots in your scene that you want to modify in a similar way: simply modify one of them, select it, then click the transfer DNA toolbar button. This item should almost always be checked for a model base (see further up), to facilitate model re-instanciation.
[DNA transfer toolbar button]
Collection self-collision indicator: when performing collision (or minimum distance) calculations between two identical collections, V-REP will normally check all collection items against all other items in that collection. In some situation, such as a kinematic chain, one doesn't want to check consecutive links, since they might be constantly colliding at the interface. In that case, you can use the collection self-collision indicator: two items of a same collection will not be checked against each other if their indicator difference is exactly 1, as can be seen on following figure:
[Collection self-collision indicators]
Scaling: objects or models can be scaled in a flexible way in V-REP. The size of an object or model, and all related properties are scaled appropriately (e.g. joint ranges, velocity settings, masses, etc.) so that the scaled object or model can normally continue to operate (but at a different scale).
View / edit custom data: opens a dialog that allows to visualize and edit custom data attached to the object:
[Object custom data dialog]
Attached custom data: displays a summary of the custom data that is attached to this object, in the format: header number [data size], header number [data size], etc. That data can be read and written through API calls (simAddObjectCustomData and simGetObjectCustomData). The header number is the identifier for the custom data and/or developer who added it. If you plan to add custom data (as a company or individual), always use the same header (because only you will know what data type is stored under that header) and stick to it. The best is to use the serial number of your V-REP copy, or a high random integer value. Otherwise, you risk collision with other developer's custom data which might use the same header as yours. Additionally, if you have various type of custom data to add, it is your responsibility to pack/code the data under a same header (e.g. you could use: header number, data1ID, data1Length, data1, data2ID, data2Length, data2, etc.)
Add: allows adding simple custom data to an object. The data to be added should be written in the command line in following format: header number, string or header number, number1, number2, number3, etc. Number written without '.' are assumed to be integers, otherwise they are assumed to be floating-point numbers. Numbers are added to the custom data buffer for the given header number in a little-endian fashion. If complex data has to be added/extracted, use the API calls (simAddObjectCustomData and simGetObjectCustomData).
Clear: allows removing custom data from an object. The header number of the data to be removed should be written in the empty box to its right. If complex data has to be added/extracted, use the API calls (simAddObjectCustomData and simGetObjectCustomData).
Assembling: opens a dialog that allows to specify how the assembling toolbar button will handle the object during assembly (if objects are assembled in a different way than via the assembling toolbar button, then following settings will have no influence):
[Assembling behaviour dialog]
Object can have the 'child' role: if checked, then the object can be attached to another object (i.e. become another object's child), but only if the required match value matches the one of its parent object. This feature is useful in order to set a fixture compatibility criteria (e.g. gripper A can only be attached with a robot that has a tooltip of type A).
Object can have the 'parent' role: if checked, then the object can have another obejct attached to itself (i.e. become another object's parent), but only if the required match value matches the one of its child object. This feature is useful in order to set a fixture compatibility criteria (e.g. gripper A can only be attached with a robot that has a tooltip of type A).
Set matrix: when the object is assembled, a specific transformation matrix will be used as its new local transformation matrix. By default that matrix is the identity matrix, but you can specify a specific matrix by clicking the button. This feature is useful in order to automatically position and orient an object correctly in relation to its new parent (e.g. in order to have a gripper automatically placed correctly at a robot's tooltip)
Layer selection dialog