Here you will find documentation on all the descriptions that Cinema 4D currently has. You can list them Alphabetically, by Type or Plugin . The sample Python and C++ code is automatically generated and in some cases may not be 100% correct. If something doesn't work then please refer to the official Cinema 4D SDK documentation for more information.

IDs and information for Oxpsystem

Oxpsystem

Attributes

  • ENGLISH NAME : X-ParticlesSystemObject
  • NAME : Oxpsystem
  • INCLUDE : Obase
  • PATH : res/description/oxpsystem.res
  • PLUGIN : X-Particles
  • MAXON online help (may not exist): OXPSYSTEM

Elements

ID UI Name Type Parameters Cycle
XOVM_DISABLEOBJ Auto-DisableXPObjects BOOL  
XOVM_ICONCOLOR_MENU IconColor LONG  
ICON_AMBER Amber(Default)
1028695
ICON_WHITE White
1029263
ICON_RED Red
1029265
ICON_GREEN Green
1029266
ICON_BLUE Blue
1029267
ICON_CYAN Cyan
1029264
ICON_YELLOW Yellow
1029268
ICON_PURPLE Purple
1029269
ICON_FUSCHIA Fuschia
1029270
ICON_TEAL Teal
1029271
ICON_OLIVE Olive
1029272
ICON_SILVER Silver
1029273
ICON_PINK Pink
1029274
ICON_CREAM Cream
1029275
ICON_LGREEN LightGreen
1029276
ICON_LBLUE LightBlue
1029277
XOVM_ICON_EDITOR IconinViewport BOOL  
XOVM_ICON_EDITOR_SIZE IconSize REAL
UNIT PERCENT
MIN 10.0
MINSLIDER 10.0
MAXSLIDER 200.0
CUSTOMGUI REALSLIDER
XOVM_SAVE_SYSTEM_PRESET SaveSystemasPreset... BUTTON  
XOVM_LOAD_SYSTEM_PRESET LoadSystemPreset... BUTTON  
XOVM_LOAD_PRESET_OVERWRITE ReplaceSystemonLoad BOOL ANIM
XOVM_SYSOBJ_GENERATORS GeneratorObjects LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_1 ChooseGenerator...
1029575
SYSOBJ_BRANCHMESH SplineMesher
1032145
SYSOBJ_ELEKTRIX Elektrix
1032188
SYSOBJ_EMITTER Emitter
1027133
SYSOBJ_FRAGMENTER Fragmenter
1031138
SYSOBJ_GENERATOR Generator
1027654
SYSOBJ_SKINNER Skinner
1029227
SYSOBJ_SPRITES Sprites
1027664
SYSOBJ_TRAILS Trails
1027501
XOVM_SYSOBJ_DYNAMICS Dynamics LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_5 ChooseDynamicObject...
1032131
SYSOBJ_DOMAIN FLIPDomain
1033595
SYSOBJ_CONSTRAINTS Constraints
1033777
SYSOBJ_PPCOLLISIONS P-PCollisions
1033823
SYSOBJ_FLUIDS SPHFluids
1033824
XOVM_SYSOBJ_OTHER OtherObjects LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_2 ChooseObject...
1029577
SYSOBJ_PGROUP ParticleGroup
1029007
SYSOBJ_CACHE CacheObject
1028775
SYSOBJ_PDEFORM ParticleDeformer
1028397
SYSOBJ_FLOCKHELP FlockHelper
1032053
SYSOBJ_TRAILDEFORM TrailDeformer
1034623
SYSOBJ_VOLEMIT VolumeEmissionControl
1033826
XOVM_SYSOBJ_MODS1 ControlModifiers LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_3 ChooseControlModifier...
1029576
SYSOBJ_CHANGEGROUP ChangeGroup
1028704
SYSOBJ_COLOUR Color
1031808
SYSOBJ_FREEZE Freeze
1027690
SYSOBJ_INHERIT Inheritance
1033797
SYSOBJ_KILL Kill
1030476
SYSOBJ_PLIFE ParticleLife
1027691
SYSOBJ_PHYSICAL Physical
1033736
SYSOBJ_PYTHON Python
1030729
SYSOBJ_REWIND Rewind
1032421
SYSOBJ_SOUND Sound
1035482
SYSOBJ_TRANSFORM Transform
1032143
SYSOBJ_ACTION TriggerAction
1030914
SYSOBJ_UNLINKTP UnlinkTP
1028231
SYSOBJ_WEIGHT Weight
1031653
XOVM_SYSOBJ_MODS2 MotionModifiers LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_6 ChooseMotionModifier...
1029576
SYSOBJ_ATTRACTOR Attractor
1029473
SYSOBJ_AVOID Avoid
1032382
SYSOBJ_COVERTARGET Cover/Target
1027732
SYSOBJ_DIRECTION Direction
1027694
SYSOBJ_DRAG Drag
1034299
SYSOBJ_EXPLODE Explode
1032295
SYSOBJ_FLOCKING Flocking
1027435
SYSOBJ_FPATH FollowPath
1030775
SYSOBJ_FSPLINE FollowSpline
1029994
SYSOBJ_MOS FollowSurface
1031213
SYSOBJ_GASEOUS Gaseous
1033594
SYSOBJ_GRAVITY Gravity
1027669
SYSOBJ_VECMASK Limit
1031969
SYSOBJ_NETWORK Network
1031609
SYSOBJ_ROTATOR Rotator
1029151
SYSOBJ_SPEED Speed
1027668
SYSOBJ_SPIN Spin
1027710
SYSOBJ_TURB Turbulence
1027629
SYSOBJ_VORTEX Vortex
1033565
SYSOBJ_VORTICITY Vorticity
1033618
SYSOBJ_WIND Wind
1029148
XOVM_SYSOBJ_MODS3 SpritesModifiers LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_7 ChooseSpritesModifier...
1029576
SYSOBJ_LIGHT Light
1027988
SYSOBJ_SPRITEM Sprite
1028062
SYSOBJ_SPSHADER SpriteShader
1029093
SYSOBJ_TEXT Text
1029133
XOVM_SYSOBJ_MODS4 GenerateModifiers LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_8 ChooseGenerateModifier...
1029576
SYSOBJ_BRANCH Branch
1031838
SYSOBJ_DYNPART DynamicParticles
1033835
SYSOBJ_GEOMETRY Geometry
1027711
SYSOBJ_MORPH Morph
1029117
SYSOBJ_SCALE Scale
1027708
SYSOBJ_SPAWN Spawn
1027705
SYSOBJ_TENDRIL Tendril
1032041
XOVM_SYSOBJ_ACTIONS_OBJ ObjectActions LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_4 ChooseObjectAction...
1029574
SYSOBJ_AEMITTER ChangeEmitter
1030335
SYSOBJ_AGENERATOR ChangeGenerator
1032535
SYSOBJ_ATRAILS ChangeTrails
1027508
XOVM_SYSOBJ_ACTIONS_MOD ControlModifierActions LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_11 ChooseControlModifierAction...
1029574
SYSOBJ_AATTRACTOR AttractorModifier
1027507
SYSOBJ_AAVOID AvoidModifier
1032398
SYSOBJ_ABRANCH BranchingModifier
1031918
SYSOBJ_ACOLOUR ColorModifier
1031812
SYSOBJ_ACOVERTARGET Cover/TargetModifier
1027805
SYSOBJ_ADIRECTION DirectionModifier
1027503
SYSOBJ_ADRAG DragModifier
1034308
SYSOBJ_ADYNPART DynamicParticlesModifier
1033836
SYSOBJ_AFLOCKING FlockingModifier
1027801
SYSOBJ_APATH FollowPathModifier
1030808
SYSOBJ_AFSPLINE FollowSplineModifier
1030334
SYSOBJ_AMOS FollowSurfaceModifier
1031221
SYSOBJ_AGASEOUS GaseousModifier
1034634
SYSOBJ_AGRAVITY GravityModifier
1027627
SYSOBJ_AINHERIT InheritanceModifier
1033798
SYSOBJ_AKILL KillModifier
1033945
SYSOBJ_AVECMASK LimitModifier
1031995
SYSOBJ_ANETWORK NetworkModifier
1031634
SYSOBJ_APHYSICAL PhysicalModifier
1033741
SYSOBJ_APYTHON PythonModifier
1030733
SYSOBJ_AREWIND RewindModifier
1032422
SYSOBJ_AROTATOR RotatorModifier
1029161
SYSOBJ_ASOUND SoundModifier
1035560
SYSOBJ_ASPRITEM SpriteShaderModifier
1029127
SYSOBJ_ATENDRIL TendrilModifier
1032042
SYSOBJ_ATEXT TextModifier
1029126
SYSOBJ_ATRANSFORM TransformModifier
1032297
SYSOBJ_ATRIGACT TriggerActionModifier
1030932
SYSOBJ_ATURB TurbulenceModifier
1027509
SYSOBJ_AVORTEX VortexModifier
1033725
SYSOBJ_AVORTICITY VorticityModifier
1034635
SYSOBJ_AWEIGHT WeightModifier
1033727
SYSOBJ_AWIND WindModifier
1029150
XOVM_SYSOBJ_ACTIONS_DIR DirectActions LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_12 ChooseDirectAction...
1029574
SYSOBJ_AGEOMETRY ChangeGeometry
1027504
SYSOBJ_APGROUP ChangeGroup
1028703
SYSOBJ_APLIFE ChangeLife
1027511
SYSOBJ_ALIGHTS ChangeLights
1028030
SYSOBJ_ASCALE ChangeScale
1027803
SYSOBJ_ASPEED ChangeSpeed
1027506
SYSOBJ_ASPIN ChangeSpin
1027804
SYSOBJ_ASPRITES ChangeSprites
1028094
SYSOBJ_AMORPH ControlMorphing
1029125
SYSOBJ_ASPAWN ControlSpawning
1027505
SYSOBJ_AEXPLODE ExplodeParticles
1032296
SYSOBJ_AFREEZE FreezeParticles
1027802
XOVM_SYSOBJ_ACTIONS_OTH OtherActions LONG
ANIM OFF
CUSTOMGUI CYCLE
SYSOBJ_CHOOSE_13 ChooseOtherAction...
1029574
SYSOBJ_AEDITORONLY EditorDisplayOnly
1027510
SYSOBJ_ASPLINESTOP StopMovingAlongSpline
1028436
SYSOBJ_AUNLINKTP UnlinkTP
1028182
SYSOBJ_AUNSTICK UnstickfromSourceObject
1027806
XOVM_HELP_BUTTON BITMAPBUTTON  
XOVM_VIDMAN_BUTTON BITMAPBUTTON  

Example Code

The following code does not use the correct values when setting the data. You should check directly in C4D for the correct values that you should use in place of the ones that are shown. This code is just to show you how to access the values for getting and setting the parameters.

Python

import c4d
from c4d import gui
def main():
    obj = c4d.BaseObject(c4d.Oxpsystem)
    doc.InsertObject(obj)
    c4d.EventAdd(c4d.EVENT_FORCEREDRAW)
    
    #You can set parameters two different ways. 
    #First way              
    obj[c4d.XOVM_DISABLEOBJ] = True
    obj[c4d.XOVM_ICONCOLOR_MENU] = c4d.ICON_AMBER
    obj[c4d.XOVM_ICON_EDITOR] = True
    obj[c4d.XOVM_ICON_EDITOR_SIZE] = 0.1
    obj[c4d.XOVM_LOAD_PRESET_OVERWRITE] = True
    obj[c4d.XOVM_SYSOBJ_GENERATORS] = c4d.SYSOBJ_CHOOSE_1
    obj[c4d.XOVM_SYSOBJ_DYNAMICS] = c4d.SYSOBJ_CHOOSE_5
    obj[c4d.XOVM_SYSOBJ_OTHER] = c4d.SYSOBJ_CHOOSE_2
    obj[c4d.XOVM_SYSOBJ_MODS1] = c4d.SYSOBJ_CHOOSE_3
    obj[c4d.XOVM_SYSOBJ_MODS2] = c4d.SYSOBJ_CHOOSE_6
    obj[c4d.XOVM_SYSOBJ_MODS3] = c4d.SYSOBJ_CHOOSE_7
    obj[c4d.XOVM_SYSOBJ_MODS4] = c4d.SYSOBJ_CHOOSE_8
    obj[c4d.XOVM_SYSOBJ_ACTIONS_OBJ] = c4d.SYSOBJ_CHOOSE_4
    obj[c4d.XOVM_SYSOBJ_ACTIONS_MOD] = c4d.SYSOBJ_CHOOSE_11
    obj[c4d.XOVM_SYSOBJ_ACTIONS_DIR] = c4d.SYSOBJ_CHOOSE_12
    obj[c4d.XOVM_SYSOBJ_ACTIONS_OTH] = c4d.SYSOBJ_CHOOSE_13
    
    #Second way, using the base container.
    bc = obj.GetDataInstance()
    bc.SetBool(c4d.XOVM_DISABLEOBJ,True)
    bc.SetInt32(c4d.XOVM_ICONCOLOR_MENU,c4d.ICON_AMBER)
    bc.SetBool(c4d.XOVM_ICON_EDITOR,True)
    bc.SetFloat(c4d.XOVM_ICON_EDITOR_SIZE,0.1)
    bc.SetBool(c4d.XOVM_LOAD_PRESET_OVERWRITE,True)
    bc.SetInt32(c4d.XOVM_SYSOBJ_GENERATORS,c4d.SYSOBJ_CHOOSE_1)
    bc.SetInt32(c4d.XOVM_SYSOBJ_DYNAMICS,c4d.SYSOBJ_CHOOSE_5)
    bc.SetInt32(c4d.XOVM_SYSOBJ_OTHER,c4d.SYSOBJ_CHOOSE_2)
    bc.SetInt32(c4d.XOVM_SYSOBJ_MODS1,c4d.SYSOBJ_CHOOSE_3)
    bc.SetInt32(c4d.XOVM_SYSOBJ_MODS2,c4d.SYSOBJ_CHOOSE_6)
    bc.SetInt32(c4d.XOVM_SYSOBJ_MODS3,c4d.SYSOBJ_CHOOSE_7)
    bc.SetInt32(c4d.XOVM_SYSOBJ_MODS4,c4d.SYSOBJ_CHOOSE_8)
    bc.SetInt32(c4d.XOVM_SYSOBJ_ACTIONS_OBJ,c4d.SYSOBJ_CHOOSE_4)
    bc.SetInt32(c4d.XOVM_SYSOBJ_ACTIONS_MOD,c4d.SYSOBJ_CHOOSE_11)
    bc.SetInt32(c4d.XOVM_SYSOBJ_ACTIONS_DIR,c4d.SYSOBJ_CHOOSE_12)
    bc.SetInt32(c4d.XOVM_SYSOBJ_ACTIONS_OTH,c4d.SYSOBJ_CHOOSE_13)

if __name__=='__main__':
    main()
             

C++

#include "c4d.h"
#include "../res/description/oxpsystem.h"
void SampleFunction()
{
    BaseDocument *pDoc = GetActiveDocument();
    BaseObject *pObject = BaseObject::Alloc(Oxpsystem);
    pDoc->InsertObject(pObject);
    pDoc->StartUndo();
    pDoc->AddUndo(UNDO_NEW,pObject);
    pDoc->EndUndo();
    EventAdd(EVENT_FORCEREDRAW);
    
    //You can set parameters two different ways. 

    //First way              
    //Some objects do not store all their data in the container. You need to use GetParameter()/SetParameter() instead. 

    DESCFLAGS_SET flags = DESCFLAGS_SET_PARAM_SET;
    pObject->SetParameter(DescID(XOVM_DISABLEOBJ),GeData(true),flags);
    pObject->SetParameter(DescID(XOVM_ICONCOLOR_MENU),GeData(ICON_AMBER),flags);
    pObject->SetParameter(DescID(XOVM_ICON_EDITOR),GeData(true),flags);
    pObject->SetParameter(DescID(XOVM_ICON_EDITOR_SIZE),GeData(0.1),flags);
    pObject->SetParameter(DescID(XOVM_LOAD_PRESET_OVERWRITE),GeData(true),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_GENERATORS),GeData(SYSOBJ_CHOOSE_1),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_DYNAMICS),GeData(SYSOBJ_CHOOSE_5),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_OTHER),GeData(SYSOBJ_CHOOSE_2),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_MODS1),GeData(SYSOBJ_CHOOSE_3),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_MODS2),GeData(SYSOBJ_CHOOSE_6),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_MODS3),GeData(SYSOBJ_CHOOSE_7),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_MODS4),GeData(SYSOBJ_CHOOSE_8),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_ACTIONS_OBJ),GeData(SYSOBJ_CHOOSE_4),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_ACTIONS_MOD),GeData(SYSOBJ_CHOOSE_11),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_ACTIONS_DIR),GeData(SYSOBJ_CHOOSE_12),flags);
    pObject->SetParameter(DescID(XOVM_SYSOBJ_ACTIONS_OTH),GeData(SYSOBJ_CHOOSE_13),flags);
    pObject->Message(MSG_UPDATE);            

    //Second way, using the base container.
    BaseContainer *bc =     pObject->GetDataInstance();
    bc->SetBool(XOVM_DISABLEOBJ,true);
    bc->SetInt32(XOVM_ICONCOLOR_MENU,ICON_AMBER);
    bc->SetBool(XOVM_ICON_EDITOR,true);
    bc->SetFloat(XOVM_ICON_EDITOR_SIZE,0.1);
    bc->SetBool(XOVM_LOAD_PRESET_OVERWRITE,true);
    bc->SetInt32(XOVM_SYSOBJ_GENERATORS,SYSOBJ_CHOOSE_1);
    bc->SetInt32(XOVM_SYSOBJ_DYNAMICS,SYSOBJ_CHOOSE_5);
    bc->SetInt32(XOVM_SYSOBJ_OTHER,SYSOBJ_CHOOSE_2);
    bc->SetInt32(XOVM_SYSOBJ_MODS1,SYSOBJ_CHOOSE_3);
    bc->SetInt32(XOVM_SYSOBJ_MODS2,SYSOBJ_CHOOSE_6);
    bc->SetInt32(XOVM_SYSOBJ_MODS3,SYSOBJ_CHOOSE_7);
    bc->SetInt32(XOVM_SYSOBJ_MODS4,SYSOBJ_CHOOSE_8);
    bc->SetInt32(XOVM_SYSOBJ_ACTIONS_OBJ,SYSOBJ_CHOOSE_4);
    bc->SetInt32(XOVM_SYSOBJ_ACTIONS_MOD,SYSOBJ_CHOOSE_11);
    bc->SetInt32(XOVM_SYSOBJ_ACTIONS_DIR,SYSOBJ_CHOOSE_12);
    bc->SetInt32(XOVM_SYSOBJ_ACTIONS_OTH,SYSOBJ_CHOOSE_13);
    pObject->Message(MSG_UPDATE);                                                      
}
             

Buttons

This node has buttons. Buttons can manually be executed by calling the following code

Python

c4d.CallButton(obj,c4d.XOVM_SAVE_SYSTEM_PRESET)
c4d.CallButton(obj,c4d.XOVM_LOAD_SYSTEM_PRESET)
c4d.CallButton(obj,c4d.XOVM_HELP_BUTTON)
c4d.CallButton(obj,c4d.XOVM_VIDMAN_BUTTON)

C++

DescriptionCommand dc;
dc.id = DescID(XOVM_SAVE_SYSTEM_PRESET);             
pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);

DescriptionCommand dc; dc.id = DescID(XOVM_LOAD_SYSTEM_PRESET); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(XOVM_HELP_BUTTON); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);
DescriptionCommand dc; dc.id = DescID(XOVM_VIDMAN_BUTTON); pObject->Message(MSG_DESCRIPTION_COMMAND, &dc);