What was New in R19¶
The Python API in R19 brings important additions and more C++ API coverage. It also carries some API changes and fixes several issues.
R19¶
New Features Support¶
LOD object generator:
c4d.LodObject. See LodObject Manual.Polygon Reduction:
c4d.utils.PolygonReduction. See PolygonReduction Manual.Character Animation:
Weight Manager: The new class
c4d.modules.character.CAWeightMgrgives access to the functionality of the dialog.Pose Space Deformation: The specific data of this mode is stored in a
c4d.modules.character.CAReferencePSDobject obtained from ac4d.modules.character.CAMorphNode.
MoGraph: Sound Effector
c4d.SoundEffectorData.
API Parity¶
Here are the additions in R19 for the ongoing effort on parity with the C++ API:
Preference Plugin:
c4d.plugins.PreferenceData.Plugin Help Callback:
c4d.plugins.RegisterPluginHelpCallback().Document Pick Session:
BaseDocument.StartPickSession()/StopPickSession().Camera Stereo Information:
CameraObject.StereoGetCameraCount()/StereoGetCameraInfo().
More messages support for
c4d.plugins.NodeDataplugins:MSG_POINTS_CHANGED/MSG_POLYGONS_CHANGED/MSG_SEGMENTS_CHANGED
MSG_DESCRIPTION_CHECKUPDATE
MSG_DESCRIPTION_CHECKDRAGANDDROP
MSG_DESCRIPTION_INITUNDO
MSG_DESCRIPTION_VALIDATE
MSG_DRAGANDDROP
MSG_FILTER
Miscellaneous:
Fixes¶
ToolData.InitDefaultSettings()is not called on Reload Python Plugins command.Expression editor changes and
c4d.EventAdd(). (Since R19 ifc4d.EventAdd()is called from within the code of an expression, then it is simply skipped.)
Documentation¶
Added documentation for drag and drop functions in
c4d.gui.GeDialogandc4d.gui.GeUserArea.
Examples¶
Plugins:
Py-Preference new example for
c4d.plugins.PreferenceDatashows how to add a new category to the Preferences dialog.Py-SpherifyModifier has been extended with a
falloff.Py-DoubleCircle implements a
c4d.plugins.RegisterPluginHelpCallback().
Scripts in release19 folder of examples.
R19.024¶
API Additions¶
Most important are the additions of:
Fixes¶
Important issue with several functions and operators returning a corrupt
BaseContainerobject.BaseObject.CopyTagsTo()expects parameter hierarchical instead of hierarchial.PolygonObject.GetPolygonTranslationMap()returns too less values.Error in default code of Python Effector for Full Control mode.
BaseCustomGui.GetData()/SetDatacan crash with some custom GUIs.c4d.storage.LoadDialog()/c4d.storage.SaveDialog()def_file parameter always set.MSG_DESCRIPTION_GETBITMAP not sent to
NodeDataplugins.
R19.053¶
API Additions¶
Changes¶
The following functions have been optimized:
Fixes¶
SoundEffectorCustomGui.SetGUIOwnerOverride()/GetGUIOwnerOverride().CAReferencePSD.GetExternalController()crashes if a wrong index is given.Environment variable C4D_PLUGINS_DIR with multiple directories.
PointObject.CalcVertexmap() should be spelled
CalcVertexMap(). (Old name still works for backward compatibility.)
Documentation¶
These functions have been documented:
The constants have been cleaned up and improved. They now have a title and when a symbol appears in search results, a title is shown instead of “<no title>”.
R19.068¶
Fixes¶
Missing doc, op and tp variables in Python tag when executed without being inserted inside a document.
Missing bt variable in Python tag when executed from
BaseDocument.ExecutePasses()if bt argument is None.Crash with
c4d.modules.tokensystem.StringConvertTokensFilter()/FilenameConvertTokensFilter()if the passed exclude list is empty.Parameter issues for
CAWeightTag.TransferWeightMap().Cannot call
GeUserArea.FillBitmapBackground().
Atom and plugin messages:
Documentation¶
Cleaned up and improved
c4d.modules.character.CAMorphNode.Removed c4d.modules.CheckMocca().
API Changelist¶
See API Changelist R19 page.