On 16/09/2015 at 05:29, xxxxxxxx wrote:
Cinema 4D Version: R16
Platform: Windows ;
Language(s) : C++ ;
I am trying to figure out the differences between MCOMMAND_MAKEEDITABLE and MCOMMAND_CURRENTSTATETOOBJECT used in SendModelingCommand
-MCOMMAND_MAKEEDITABLE frees the initial object while MCOMMAND_CURRENTSTATETOOBJECT doesn't.
-If you use Array, Cloner or any other generator, MCOMMAND_CURRENTSTATETOOBJECT converts every object / subobject to Polygon object, while MCOMMAND_MAKEEDITABLE creates a group with subobjects (not Polygon Objects).
Is there any formal list with the differences ?
On 17/09/2015 at 01:36, xxxxxxxx wrote:
Make Editable and Current State to Object are actually described in the Cinema Help:
Make Editable: _
CINEMA 4D's primitive objects and spline primitives are parametric, i.e., they have no points or polygons and are instead created using math formulae and parameters. Since these objects have no points or polygons, they can't be edited in the same way as normal polygon objects and splines. For example, you can't select and move points, nor can you apply commands like Extrude and Create Outline.
However, you can edit these objects if you first convert them to points and polygons. To do this, select the desired primitives and choose Mesh / Conversion / Make Editable._
Current State to Object:
_This command creates a polygon copy of the selected object. For example, if you are using several deformers on an object, you can copy the resulting shape into a normal polygon object (the deformers will not be required for the copy). Or perhaps you have defined an animation (e.g., using PLA) and you want to create a polygon copy of the shape at a particular frame — simply move the time slider to the required frame, select the object and choose this command. This function is particularly useful for manually fine-tuning morph animations.
If the original object is parametric, the function will create a polygon copy (taking into account any deformers and hierarchies). Child objects are ignored — the function must be called separately for each child object that you require.
Animation data is not copied to the new object. The original object (including its animation data) is preserved._