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.CAWeightMgr
gives access to the functionality of the dialog.Pose Space Deformation: The specific data of this mode is stored in a
c4d.modules.character.CAReferencePSD
object 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.NodeData
plugins: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.GeDialog
andc4d.gui.GeUserArea
.
Examples¶
Plugins:
Py-Preference new example for
c4d.plugins.PreferenceData
shows 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
BaseContainer
object.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()
/SetData
can crash with some custom GUIs.c4d.storage.LoadDialog()
/c4d.storage.SaveDialog()
def_file parameter always set.MSG_DESCRIPTION_GETBITMAP not sent to
NodeData
plugins.
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.