c4d.Description¶
- 
class c4d.Description¶
- The description class contains information for all description IDs of an object.For example it stores aBaseContainerfor ID_BASEOBJECT_REL_POSITION that describes that this value is aVector, has minimum and maximum values XYZ etc.New in version R15.037. The information about each description parameter is stored in a BaseContainerwith the following values:Name Type Description DESC_NAME str Name for standalone use. DESC_SHORT_NAME str Short name, for attributes dialog. DESC_VERSION int Show in versions: DESC_VERSION_DEMO Demo versions. DESC_VERSION_XL XL Versions. DESC_VERSION_ALL All versions. DESC_CHILDREN Internal. DESC_MIN int/float/ c4d.VectorMinimum value. DESC_MAX int/float/ c4d.VectorMaximum value. DESC_MINEX bool True if DESC_MIN is exclusive, otherwise it is inclusive. DESC_MAXEX bool True if DESC_MAX is exclusive, otherwise it is inclusive. DESC_STEP int/float/ c4d.VectorThe step for the edit field arrows. DESC_ANIMATE int Animation mode: DESC_ANIMATE_OFF Parameter is not animatable. DESC_ANIMATE_ON Parameter is animatable. DESC_ANIMATE_MIX Parameter is animatable, but needs to know the left and right data element. DESC_ASKOBJECT bool True means ask object for the parameter, False means look in container. DESC_UNIT int Unit for DTYPE_REAL/DTYPE_VECTOR: DESC_UNIT_FLOAT FORMAT_FLOAT DESC_UNIT_INT FORMAT_INT DESC_UNIT_PERCENT FORMAT_PERCENT DESC_UNIT_DEGREE FORMAT_DEGREE DESC_UNIT_METER FORMAT_METER DESC_UNIT_TIME FORMAT_FRAMES DESC_PARENTGROUP int/ c4d.DescIDParent ID. DESC_CYCLE Contains members of cycle as string, e.g. GetString(10041) == ‘-X’. DESC_HIDE bool Indicates whether the property is hidden or not. DESC_DEFAULT int/float/ c4d.VectorDefault numeric value. DESC_ACCEPT Contains the accepted IDs as strings. For C4DAtom.IsInstanceOf()checks, e.g. GetString(5155) == ‘Obase’.DESC_SEPARATORLINE bool True if separators should have a visible line. DESC_REFUSE Contains the refused IDs as strings. For C4DAtom.IsInstanceOf()checks, e.g. GetString(5155) == ‘Obase’.DESC_PARENTID int The ID of the parent parameter used for indentation and animation track. DESC_CUSTOMGUI int The ID of the custom GUI for the parameter. Either a 3rd party plugin ID or a CUSTOMGUI. DESC_COLUMNS int Number of columns for layout groups (DTYPE_GROUP). DESC_LAYOUTGROUP bool True for layout groups (LAYOUTGROUP). DESC_REMOVEABLE bool True if entry is removable. DESC_GUIOPEN bool True if the maximized GUI is shown by default. DESC_EDITABLE bool True if entry is editable. DESC_MINSLIDER int/float/ c4d.VectorMinimum value for slider. DESC_MAXSLIDER int/float/ c4d.VectorMaximum value for slider. DESC_GROUPSCALEV bool Allow the group height to be scaled. DESC_SCALEH bool Scale element horizontally. DESC_LAYOUTVERSION int Layout version. DESC_ALIGNLEFT bool Align element left. DESC_FITH bool Fit element. DESC_NEWLINE bool Line break. DESC_TITLEBAR bool Main group title bar. DESC_CYCLEICONS Icon IDs for cycle. DESC_CYCLESYMBOLS String identifiers for help symbol export. DESC_PARENT_COLLAPSE int Parent collapse ID. DESC_FORBID_INLINE_FOLDING bool Instructs the Attribute Manager to not allow expanding inline objects for entry. DESC_FORBID_SCALING bool Prevents auto-scaling of the parameter with the scale tool (for DESC_UNIT_METER). DESC_ANGULAR_XYZ bool True for XYZ as angular representation, or False for HPB. DESC_INPORT bool GV in port. DESC_OUTPORT bool GV out port. DESC_STATICPORT bool GV static port. DESC_NEEDCONNECTION bool GV needs connection. DESC_MULTIPLE bool GV multiple ports allowed. DESC_PORTONLY bool GV port only. DESC_CREATEPORT bool GV create port. DESC_PORTSMIN int GV minimum number of ports. DESC_PORTSMAX int GV maximum number of ports. DESC_NOTMOVABLE bool GV not movable. DESC_EDITPORT bool GV editable. DESC_ITERATOR bool GV iterator port. DESC_PARENTMSG int Used in the Material Editor on the boolean tabs to specify which section to open. DESC_MATEDNOTEXT bool No text in Material Editor window. DESC_COLUMNSMATED int Number of columns in left Material Editor window. DESC_SHADERLINKFLAG bool Specifies that the parameter is a shader link. Only if data type is DTYPE_BASELISTLINK. DESC_NOGUISWITCH bool Disables GUI switching for this description element. DESC_COLORALWAYSLINEAR bool Treats color field always as linear input. DESC_HIDE_WHEN_INLINE bool True to hide this attribute in inline descriptions. DESC_MATERIALEDITOR_LEFTSIDE bool True if the property should appear on the left side of the material editor. DESC_CHANGED bool True if entry is changed. DESC_HIDEINFIELDS bool True if group is visible in fields UI. DESC_SHOWINFIELDS bool True if group is shown in fields UI even though group may be hidden. DESC_FIELDCOLORCHANNEL bool True if the group belongs only to the color channel in the fields list (so will be hidden when the channel is disabled in the UI). DESC_FIELDDIRECTIONCHANNEL bool True if the group belongs only to the direction channel in the fields list (so will be hidden when the channel is disabled in the UI). DESC_FIELDVALUECHANNEL bool True if the group belongs only to the value channel in the fields list (so will be hidden when the channel is disabled in the UI). DESC_FIELDROTATIONCHANNEL bool True if the group belongs only to the rotation channel in the fields list (so will be hidden when the channel is disabled in the UI). DESC_NODEPORT bool True to indicate a nodeport. DESC_REPLACECOMPLEXUI bool c4d.BaseContainerfilled with descids of props to replace.DESC_REPLACE_HIDE bool True if the property is hidden because it’s remplaced by a complex ui. DESC_RESOURCEPATH bool New in version R20: Private. DESC_RESOURCELINE bool New in version R20: Private. DESC_TEMPDESCID Internal. Used internally to store the preferred description ID. DESC_IDENT str Resource identifier, e.g. ‘ID_BASEOBJECT_REL_POSITION’. DESC_IDENT_ORIGIN str Origin Resource identifier, e.g. ‘ID_BASEOBJECT_REL_POSITION’. DESC_DISABLELAYOUTSWITCH bool Hides the Layout Switch arrow displayed on CUSTOMGUI elements. DESC_UNIMPORTANTFORDEFAULTS bool Ignore this parameter when comparing defaults. 
Methods Signatures
| Iterate over the parameters of an object’s description. | 
| Loads a description by name or ID. | |
| Retrieves the information container for a parameter. | |
| Retrieves the information container instance for a parameter. | |
| Inserts a description parameter into the collection. | |
| Builds a popup menu for choosing a parameter in the description. | |
| Checks if a description ID searchid exists for the given objects ops. | |
| 
 | Retrieves dynamic sub-description data (e.g. the gradient data type). | 
| Retrieves the single description ID. | 
Methods Documentation
- 
Description.__iter__(self, bc, id, groupid)¶
- Iterate over the parameters of an object’s description. - Parameters
- bc (c4d.BaseContainer) – The container that holds the information for the current description parameter. 
- id (c4d.DescID) – The ID of the current description parameter. 
- groupid (c4d.DescID) – The group ID of the current description parameter. 
 
 - Here is how to print the name of all the parameters of an object - import c4d def main(): if op is None: return description = op.GetDescription(c4d.DESCFLAGS_DESC_NONE) # Get the description of the active object for bc, paramid, groupid in description: # Iterate over the parameters of the description print(bc[c4d.DESC_NAME]) # Print the current parameter name if __name__=='__main__': main() 
- 
Description.LoadDescription(self, id)¶
- Loads a description by name or ID. - New in version R18.011. - Warning - Existing description parameters are lost. - Parameters
- id (Union[int, str]) – The description name (e.g. “Obase”) or ID (e.g. c4d.Obase). 
- Return type
- bool 
- Returns
- True if the description was loaded, otherwise False. 
 
- 
Description.GetParameter(self, id, ar=None)¶
- Retrieves the information container for a parameter. - New in version R18.011. - Parameters
- id (c4d.DescID) – The description ID. 
- ar (Optional[List[c4d.C4DAtom]]) – - New in version R18.039. - Optional array for dynamic descriptions, e.g. sub-descriptions of a gradient or dynamic XPresso node, that need an array of elements the parameter is assigned to. 
 
- Return type
- Returns
- The information container. - Changed in version R18.057. - Returns only one information container. 
 
- 
Description.GetParameterI(self, id, ar=None)¶
- Retrieves the information container instance for a parameter. - New in version R18.011. - Parameters
- id (c4d.DescID) – The description ID. 
- ar (Optional[List[c4d.C4DAtom]]) – Optional array for dynamic descriptions, e.g. sub-descriptions of a gradient or dynamic XPresso node, that need an array of elements the parameter is assigned to. 
 
- Return type
- Optional[c4d.BaseContainer] 
- Returns
- The information container instance or None. 
 
- 
Description.SetParameter(self, id, param, groupid)¶
- Inserts a description parameter into the collection. - New in version R18.011. - Parameters
- id (c4d.DescID) – The description ID. 
- param (c4d.BaseContainer) – The settings for the new parameter. 
- groupid (c4d.DescID) – The ID of the parameter’s group, or - c4d.DESCID_ROOT.
 
- Return type
- bool 
- Returns
- True if the parameter was inserted, otherwise False. 
 
- 
Description.CreatePopupMenu(self)¶
- Builds a popup menu for choosing a parameter in the description. - New in version R18.011. - Return type
- Returns
- The menu container. 
 
- 
Description.CheckDescID(self, searchid, ops)¶
- Checks if a description ID searchid exists for the given objects ops. - Note - usually only one single object is passed as otherwise the smallest common nominator is returned. - New in version R18.011. - Parameters
- searchid (c4d.DescID) – The partial ID. 
- ops (Optional[List[c4d.C4DAtom]]) – A list of atom objects for dynamic descriptions. Usually None. 
 
- Return type
- Returns
- The complete ID. 
 
- 
Description.GetSubDescriptionWithData(self, did, op, bc, singledescid)¶
- Retrieves dynamic sub-description data (e.g. the gradient data type). - New in version R18.011. - Parameters
- did (c4d.DescID) – The description ID. 
- op (List[c4d.C4DAtom]) – A list of atom objects. 
- bc (c4d.BaseContainer) – The existing container for the data type. Can be just - c4d.BaseContainer().
- singledescid (Optional[c4d.DescID]) – Should be None. 
 
- Return type
- bool 
- Returns
- True if successful, otherwise False. 
 
- 
Description.GetSingleDescID(self)¶
- Retrieves the single description ID. - New in version R18.011. - Return type
- Returns
- The single description ID.