What is New in S24

S24

Python version updated to 3.9.1

Cinema 4D S24 run on Python 3.9.1.

This update is important for Mac OS users since it’s the first official version to support Apple Silicon.
Fixing zipfile, SSL, and all no ARM-ready python modules. It also fixes pip for Mac OS which was not working correctly within Cinema 4D.

Python 3.8 and Python 3.9 offer some nice new features so take a look at:

This update shouldn’t break existing Python 3.7.7 code, but it may in some exceptional cases so please take a look at Porting to Python 3.9.

Warning

Python 3.9.1 doesn’t support anymore Windows 7.

Regarding the Cinema 4D integration, the environment variable C4DPYTHONPATH37 is renamed to C4DPYTHONPATH39.
Preference folders is also update from python37 to python39.

Nodes API

This release is the first one to release publicly the Nodes API.

Find a non-exhaustive list of what the Python exposure of the Nodes API is capable of:

  • Access nodespace and belonging graph from a Node Material and SceneNodes.

  • Use a graph. e.g. iterate each node/port, retrieve the value of a port, retrieve node property(e.g. its name), sets a node property, instantiate/remove a node, group nodes.

Note

It is not possible and not planned to compile and execute a custom graph node at the moment.
It is not possible and not planned to implement custom Python node. Python being mono-threaded this will drastically lower all the Nodes performance.

The entry points to the nodes are either the c4d.NodeMaterial, or the c4d.BaseList2D through BaseList2D.GetNimbusRef() or BaseList2D.GetAllNimbusRefs() methods.

Note

The c4d.NodeMaterial is historically the first class introduced to access NodeSystem.
In the future this class will be deprecated as most of the use cases are covered by the c4d.BaseList2D and the maxon.frameworks.nodespace.NimbusBaseInterface.

It’s recommended to take a look at the C++ documentation to have more information about the Node API structure.

Fixes

  • Fixed an issue with SSL and Python not working correctly on Mac OS.

  • Fixed an issue with zlib and Python not working correctly on M1 computer.

  • Fixed an issue with CTRL+C not working in the Script Log and the Console in Windows.

  • Fixed an issue with exception not correctly raised.

Documentation

  • Renewed Matrix Manual.

  • Added Sublime text and Visual Studio Code documentation in c4dpy.

  • Fixed links pointing to official 2.7 Python documentation to the new Python 3.9 documentation.

S24.037 - Hotfix 1

Fixes

Documentation

S24.111 - SP1

Fixes

  • Fixed an issue with the symbolcache file not being updated after modifying the resource files.

  • Fixed an issue with the console not handling pairs of carriage return and new line characters properly

  • Fixed an issue with the console character limit which is now extended to 120000 characters per print.

  • Fixed an issue with the Python modification layer’s Open Python Editor command loading an empty Expression editor.

  • Fixed an issue with the Polygon Reduction Generator not rendering with the Physical Renderer when it was a child of a generator object.

  • Fixed an issue with BasePlugin.GetFilename() not returning the full path.

  • Fixed an issue with the Python c4d.utils.SendModelingCommand() with MCOMMAND_MIRROR not duplicating polygons properly.

  • Fixed an issue with BAKE_TEX_AO_VERTEXMAPS not being supported by the c4d.utils.BakeTexture() function.

  • Fixed an issue with an error returned by c4d.utils.InitBakeTexture().

  • Fixed an issue with parentid and sortid parameters when using c4d.plugins.RegisterPreferencePlugin() in python.

  • Fixed an issue with the default value of the c4d.gui.SearchPluginMenuResource() parameter.

  • Fixed an issue with a non-descriptive SystemError being returned when using any method of c4d.NodeMaterial.

  • Fixed an issue with BaseList2D.GetNimbusRef() not returning None when a namespace was not found.

  • Fixed a stability issue with the default argument for c4d.documents.GetAllAssetsNew().

  • Fixed an issue with CCurve.GetTangents() arguments.

Documentation

API Changelog

See API Changelog S24 page.

Older Releases