What is New in R25¶
R25¶
Node API examples¶
The Node API was exposed in S24 however, we added the next examples in our Github Repository.
Create a node material for the current node space and for a specific node space. |
|
Retrieve the selected node material and group the nodes that are selected. |
|
Create a material for the standard node space and modify the value of the BSDF color port. |
|
Retrieve the selected node material and mute the selected wire. |
|
Create a node material, select ports, print connections and select wires. |
|
Retrieve some information of the selected port of a selected material. |
|
Create a node material and solo the end node. |
It’s recommended to take a look at the C++ documentation in the Node API HandBook to have more information about the Node API.
New Symbol Parser¶
A new parser to transpose C++ symbols to Python which support more features than the previous one also support the MAXON API. In an upcoming release, we will remove the hardcoded symbols located in symbols_old.h as described in R25 Deprecated Symbols page.
Finally the parser is available in Cinema 4D within the symbol_parser module and can be used to automatically import value from your resources files.
resc4d_symbols.h
enum
{
My_Symbol = 1000,
My_Syml = 1001,
_DUMMY_ELEMENT_
};
resc4d_symbols.h
#ifndef _py_offsets_y_spline_H_
#define _py_offsets_y_spline_H_
enum
{
PY_OFFSETYSPLINE_OFFSET = 1000,
};
#endif
Python code to parse previous files automatically
import os
import symbol_parser
# Parse recursively all header files and parse enums and define
c4d_symbol_file = os.path.join(os.path.dirname(__file__), "res")
symbol_parser.parse_and_export_in_caller(c4d_symbol_file)
# Values are accessible directly
print(My_Symbol)
>>> 1000
print(My_Syml)
>>> 1001
print(PY_OFFSETYSPLINE_OFFSET)
>>> 1000
GeUserArea and TreeView Enhancement¶
The c4d.gui.GeUserArea
classes and c4d.gui.TreeViewFunctions
were enhanced to be on par with the C++ version.
GeUserArea.IsR2L()
added.GeUserArea.GetDialog()
added.GeUserArea.DrawSetOpacity()
added.GeUserArea.DrawImageRef()
added.GeUserArea.DrawBezierLine()
added.GeUserArea.DrawBezierFill()
added.GeUserArea.DrawFrame()
added.GeUserArea.DrawEllipseFill()
added.GeUserArea.DrawEllipseLine()
added.GeUserArea.DrawPolyFill()
added.GeUserArea.DrawPolyLine()
added.GeUserArea.GetPixelRatio()
added.
TreeViewFunctions.GetID()
renamedTreeViewFunctions.GetId()
.TreeViewFunctions.AddRow()
added.
Fixes¶
Fixed an issue where the c4d.DOCUMENT_SELECTIONFILTER (and a lot of other) enumeration are either missing or wrong.
Fixed an issue with default parameter not working for
GraphModelInterface.GetNode()
.
Fixed an issue were
BaseTime.__add__()
crash if a number is used.Fixed an issue were
BaseTime.__sub__()
crash if a number is used.Fixed an issue were
BaseTime.__mul__()
crash if a number is used.Fixed an issue were
BaseTime.__div__()
crash if a number is used.
R25.1¶
Fixes¶
Added Camera Dependent checkbox to the Python Effector.
Fixed Time dependent to the Python Effector.
Documentation¶
Improved documentation for messages with the new Message System manuel.
Added Symbols manuel, explaining what are symbols and how they are imported.
API Changelog¶
See API Changelog R25 page.