This version brings important fixes and several additions to the Python API.
c4d.utils.RangeMap()
gives wrong results
BaseDraw
allocation
c4d.LayerShaderLayer
issue with linked shaders and layers
BaseTake.GetCamera()
crashes/freezes Cinema
BaseTake.GetRenderData()
returns dead objects
c4d.modules.snap.SetSnapSettings()
is broken
TreeViewCustomGui.GetVisibleLineCount()
crashes
ToolData.InitTool()
/
FreeTool()
parameters swapped after reload
ToolData.FreeTool()
crashes at exit
PaintTexture.SetSelected_Texture()
does not accept
None
Here is the list of all the API additions and changes in the R17.053 Python API:
BaseContainer.GetDataPointer()
c4d.BaseDraw()
c4d.modules.tokensystem.GetAllTokenEntries()
AliasTrans
parameter for:
This version brings additions and important fixes to the Python API.
c4d.modules.tokensystem
has been added and it defines several functions to convert and extract Tokens information from strings and filenames.
Scripts showing its usage have been added to the examples .
Take System module
classes and methods
NodeData.CopyTo()
c4d.gui.SearchPluginMenuResource()
and
c4d.gui.SearchPluginSubMenuResource()
(See notes)
CAWeightTag.GetJointRestState()
is broken
ByteSeq
operator + gives an error
BaseDocument.DoUndo()
multiple
argument is optional
CKey.GetClone()
“bad argument to internal function” error
Here is the list of all the API additions and changes in the R17.048 Python API:
BaseSelect.SelectAll()
CKey.GetAutomaticTangentMode()
CKey.SetAutomaticTangentMode()
CKey.SetTimeLeftAdjustValue()
CKey.SetTimeRightAdjustValue()
CCurve.GetValue()
and
CTrack.GetValue()
fps
parameter is now deprecated and optional
GeDialog.AddColorChooser()
BrushDabData.GetOriginalVertexNormal()
SculptBrushParams.EnableMouseData()
SculptBrushToolData.MouseData()
SplineHelp.InitSpline()
is now deprecated
SplineHelp.InitSplineWith()
SplineHelp.InitSplineWithUpVector()
SplineHelp.InitSplineWithRail()
SplineHelp.GetDirty()
SplineHelp.GetPointMatrix()
SplineHelp.GetLineObject()
c4d.utils.QSlerp()
c4d.utils.QSquad()
c4d.utils.QBlend()
c4d.utils.QSpline()
c4d.utils.QNorm()
c4d.utils.QMul()
c4d.utils.QMulS()
c4d.utils.QAdd()
c4d.utils.QSub()
c4d.utils.QInvert()
c4d.utils.QDeriv()
c4d.utils.QLogN()
c4d.utils.QExpQ()
c4d.utils.CalcSplinePoint()
c4d.utils.CalcSplineTangent()
c4d.utils.CalcSplineInsert()
c4d.utils.TransformTangent()
c4d.utils.CalcSplineMovement()
c4d.utils.CalcSplineDefaultTangents()
c4d.utils.BooleanSplines()
In most cases this change should be no problem. Tests with existing scripts and plugins showed that almost are compatible with Python 2.7 . Only in very rare cases adjustments need to be made.
Warning
If a plugin uses a Python C-module, this module needs to be recompiled for Python 2.7 .
c4d.modules.takesystem
has been added and it defines the following classes:
The new method
BaseDocument.GetTakeData()
returns the Take data for a document allowing to access its Take setup.
Note
See the C++ SDK documentation and its Take System overview articles to have an in-depth explanation how its API works. Scripts examples for the Take System API have been added to the examples .The Python API offers more coverage of the C++ API overcoming limitations:
c4d.CopyData()
function and custom data classes
LensGlowStruct
,
BitmapButtonStruct
,
HyperLinkData
LayerShader
Material
AliasTrans
class and related parameters in
GetClone()
/
CopyTo()
methods
ColorProfileConvert
class
GeClipMap
font methods
FontChooserCustomGui
and
HyperLinkCustomGui
InitRenderStruct.linear_workflow
and
InitRenderStruct.document_colorprofile
can be set
Some
sculpting
methods have been added:
GeListNode.InsertBefore()
/
GeListNode.InsertAfter()
/
GeListNode.InsertUnder()
/
GeListNode.InsertUnderLast()
and
GeListNode.Remove()
now contains the warning:
Warning
Forbidden to call in expressions (tags/nodes). Changing the document structure while an expression is evaluated will crash the application! See Threading Information .The examples (plugins, scripts and scenes) for the Python SDK have been uploaded online on GitHub . They can still be found in the ‘examples’ folder of the documentation archive.
Here is the list of all the API changes in the R17 Python API:
Material.AddReflectionLayer()
Material.GetReflectionLayerID()
Material.GetReflectionLayerIndex()
Material.GetReflectionLayerTrans()
Material.GetReflectionLayerCount()
Material.RemoveReflectionLayerID()
Material.RemoveReflectionLayerIndex()
Material.RemoveReflectionAllLayers()
Material.GetAllReflectionShaders()
Material.GetReflectionPrimaryLayers()
GeClipMap.GetFontName()
GeClipMap.GetFontDescription()
GeClipMap.EnumerateFonts()
GeClipMap.GetDefaultFont()
GeClipMap.GetFontSize()
GeClipMap.SetFontSize()
BrushDabData.GetFaceNormal()
BrushDabData.GetHitPolygon()
BrushDabData.IsBackface()
SculptBrushParams.EnableBackfaceSculpting()
SculptBrushParams.SetPolygonObjectDirtyFlags()
SculptObject.GetFaceNormal()
c4d.modules.net.NetRenderService
class:
ColorProfileConvert
parameter for:
c4d.modules.render.InitRenderStruct
class can now be set:
Deprecated (Not used anymore in new Color Chooser):
New color chooser preferences:
Removed:
New color chooser flags for
GeDialog.AddColorField()
,
GeDialog.SetColorField()
and
GeDialog.AddColorChooser()
:
Deprecated (Not used anymore in new Color Chooser):