SDK Change Notes for Cinema 4D 2023.2¶
Summarizes the API and API documentation changes made between Cinema 4D version 2023.1.0 and 2023.2.0.
Documentation Changes¶
Major Changes¶
-
The Code Exchanger is now available directly in the Script Manager. Read Cinema 4D Connector - Documentation for more details.
-
Updated the python version used by Cinema 4D to 3.10.8 (previously was 3.9.1.) including improved error messages and structural pattern matching.This update should not break API for your plugins or scripts, but check the Python 3.10 Changelog to ensure that.Due to this update the environment variable to add new entry to the sys path was updated to C4DPYTHONPATH310 and the pref folder is now python310. For more information on this topic read Python Libraries.
-
The online documentation of APIs offered by Maxon has a new entry point with developers.maxon.net/docs which will always refer to the latest Cinema 4D C++ API documentation.Bookmark developers.maxon.net/docs/py instead to always refer to the latest Python documentation and developers.maxon.net/docs/cw to refer to the latest Cineware documentation.These changes also fix the issue of local caches of users shadowing newer content, users will now always see the newest content. As before, caching is still enabled for all pages.
-
Added back has also been the online documentation of past versions of APIs. Provided have been versions between R21.2 and 2023.2.0 as this is the version range most developers work with.This is accompanied by the new API and version selector element in the top right corner of both the C++ and Python documentation, allowing to view an item over different versions.
Minor Changes¶
-
Added support to send or receive a drag operation for an asset with the DRAGTYPE_ASSET via a
maxon.DragAndDropDataAssetArray
data. -
Fixed
maxon.AssetDescriptionInterface.StoreMetaData()
which was not working. -
Fixed
maxon.AssetDescriptionInterface.EraseMetaData()
which was not working. -
Fixed
maxon.AssetDescriptionInterface.StoreUrlMetaData()
which was not working. -
Fixed
maxon.AssetDescriptionInterface.GetMetaString()
argument #languageRef was not correctly defined when None was passed. -
Fixed an issue preventing a
maxon.Tuple
to return amaxon.Id
ormaxon.InternedId
when one of the value was of theses types. -
Fixed an issue with ID_MODELING_NORMALMOVE_TOOL, ID_MODELING_NORMALSCALE_TOOL and ID_MODELING_NORMALROTATE_TOOL modelings command requiring a specific document state before executing
SendModelingCommand()
. -
Fixed a crash with
maxon.DragAndDropDataAssetArray.GetAssetDescriptions()
. -
Fixed a possible crash when MSG_GETALLASSETS or MSG_DESCRIPTION_CHECKDRAGANDDROP was sent to a BaseList2D. These messages are not supported in python but instead of crashing an exception is raised.
-
Fixed
maxon.NetworkIpInterface.SplitAddress()
not marked as a MAXON_STATICMETHOD. -
Fixed
maxon.AssetLinkInterface.Create()
not supporting all C++ overloads.
-
Fixed an issue with the Symbol Parser, previously parsing C++ template declaration.
-
Fixed an issue with the Symbol Parser, not correctly parsing value referencing other value from a different namespace.
-
Improved documentation of
maxon.AssetDataBasesInterface.FindRepository()
with a new code example. -
Improved documentation of
maxon.AssetRepositoryInterface.FindRepository()
. -
Fixed documentation of
c4d.modules.character.CAWeightMgr
methods wrongly documented as normal method and not as static method. -
Fixed documentation of
Vector.GetSquaredLength()
methods wrongly documented return value as vector instead of float. -
Fixed documentation of LV which was not up to date.
-
Fixed missing documentation for
Vector.__hash__()
which was added in 26. -
Fixed return type documentation of
maxon.AssetDataBasesInterface.GetAssetDatabaseCacheSize()
. -
Fixed return type documentation of
maxon.AssetRepositoryInterface.GetBases()
. -
Fixed return type documentation of
maxon.GraphModelInterface.Merge()
. -
Fixed return type documentation of
maxon.GraphNode.GetInnerNodes()
. -
Fixed return type documentation of
maxon.GraphNode.GetConnections()
. -
- Fixed documentation of the #receiver or #callback arguments for the next methods:
-
-
Fixed documentation of the #other argument from
maxon.AssetRepositoryInterface.IsBasedOnOrSame()
. -
Fixed type documentation of the metaData argument from
maxon.AssetRepositoryInterface.StoreAsset()
. -
Fixed type documentation of the metaData argument from
maxon.AssetRepositoryInterface.OverwriteAsset()
. -
Fixed documentation of
maxon.AssetRepositoryInterface.GetDescription()
which was not up to date. -
Fixed documentation of
maxon.AssetRepositoryInterface.GetRepositoryName()
which was not up to date. -
Fixed documentation of
maxon.AssetRepositoryInterface.SetRepositoryName()
which was not up to date. -
Fixed documentation rendering of
TreeViewFunctions.GetDropDownMenu()
andTreeViewFunctions.SetDropDownMenu()
.
API Changes¶
Classic API¶
-
Added
c4d.IsAnimationRunning()
. -
Added
C4DAtom.__hash__()
. -
Added
NodeData.Get()
.
-
Added
GeDialog.CheckClose()
. -
Added
GeDialog.GetPixelRatio()
. -
Added
GeDialog.CheckCoreMessage()
. -
Added
GeDialog.MenuSetResource()
. -
Added
GeDialog.SetMultiLineLock()
. -
Added
GeDialog.AddArrowButton()
. -
Added
GeDialog.AddComboButton()
. -
Added
GeDialog.AddEditShortcut()
. -
Added
GeDialog.IsEnabled()
.
Maxon API¶
-
Improved
maxon.Id.__eq__()
andmaxon.InternedId.__eq__()
to support comparison of one with the other. -
Improved string representation of
maxon.DataDictionary.__str__()
. -
Improved
maxon.GraphNode.GetChildren()
previously returned an iterator instead of a list when None was passed in the callback argument. -
Improved
maxon.GraphNode.GetConnections()
previously returned an iterator instead of a list when None was passed in the callback argument. -
Improved
maxon.GraphNode.GetDirectSuccessors()
previously returned an iterator instead of a list when None was passed in the callback argument. -
- Improved the next methods by making the receiver or callback argument optional:
-