What was New in R17¶
In R17.053¶
This version brings important fixes and several additions to the Python API.
Fixes¶
- Argument clampval of
c4d.utils.RangeMap()
gives wrong results - Cinema hangs on deletion of script in Script Manager
- No warning/error when passing a wrong plugin data class to Register*() functions
- User Data button pressed message sent to Python Generator and Tag scripts
BaseDraw
allocationc4d.LayerShaderLayer
issue with linked shaders and layersBaseTake.GetCamera()
crashes/freezes CinemaBaseTake.GetRenderData()
returns dead objectsc4d.modules.snap.SetSnapSettings()
is brokenTreeViewCustomGui.GetVisibleLineCount()
crashesToolData.InitTool()
/FreeTool()
parameters swapped after reloadToolData.FreeTool()
crashes at exitPaintTexture.SetSelected_Texture()
does not accept None
API Changelist¶
Here is the list of all the API additions and changes in the R17.053 Python API:
In R17.048¶
This version brings additions and important fixes to the Python API.
Token System Support¶
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.
Fixes¶
- Numerous issues in the
Take System module
classes and methods - Crash in
NodeData.CopyTo()
c4d.gui.SearchPluginMenuResource()
andc4d.gui.SearchPluginSubMenuResource()
(See notes)CAWeightTag.GetJointRestState()
is broken- Freeze with Illustrator export
ByteSeq
operator + gives an errorBaseDocument.DoUndo()
multiple argument is optionalCKey.GetClone()
“bad argument to internal function” error- File format IDs for OBJ importer/exporter and Sketchup importer: FORMAT_OBJ2IMPORT/FORMAT_OBJ2EXPORT and FORMAT_SKPIMPORT
API Changelist¶
Here is the list of all the API additions and changes in the R17.048 Python API:
- Added optional deselectAll parameter to
BaseSelect.SelectAll()
CKey.GetAutomaticTangentMode()
CKey.SetAutomaticTangentMode()
CKey.SetTimeLeftAdjustValue()
CKey.SetTimeRightAdjustValue()
CCurve.GetValue()
andCTrack.GetValue()
fps parameter is now deprecated and optional
- Added optional settings parameter to
GeDialog.AddColorChooser()
BrushDabData.GetOriginalVertexNormal()
SculptBrushParams.EnableMouseData()
SculptBrushToolData.MouseData()
SplineHelp.InitSpline()
is now deprecatedSplineHelp.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()
- FORMAT_OBJ2IMPORT
- FORMAT_OBJ2EXPORT
- FORMAT_SKPIMPORT
- ASSETDATA_FLAG_TEXTURES renamed to ASSETDATA_FLAG_TEXTURESONLY
- ASSETDATA_FLAG_WITHCACHES
- WPREF_COMMUNICATION_LIVELINK_ENABLED
- WPREF_COMMUNICATION_LIVELINK_PORT
- WPREF_NET_STOPJOBONSWAPPINGENABLED
- WPREF_NET_STOPJOBONSWAPPINGAUTO
- WPREF_NET_STOPJOBONSWAPPINGVALUE
- SAVEPROJECT_WITHCACHES
- RENDERPROGRESSTYPE_QUICK_PREVIEW
- FILENAME_TOKENPOPUP
- DA_UUID
In R17.032¶
Change of Python Version¶
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.
Take System Support¶
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
Improved C++ API Coverage¶
The Python API offers more coverage of the C++ API overcoming limitations:
c4d.CopyData()
function and custom data classesLensGlowStruct
,BitmapButtonStruct
,HyperLinkData
- Support for
LayerShader
- Access to Reflectance layers of a
Material
AliasTrans
class and related parameters in GetClone()/CopyTo() methodsColorProfileConvert
classGeClipMap
font methodsFontChooserCustomGui
andHyperLinkCustomGui
InitRenderStruct.linear_workflow
andInitRenderStruct.document_colorprofile
can be set
Fixes¶
- Crash with tool() function in script
- GvNodeManager not accessible via link
- Cannot connect nodes inside an Xgroup to ports of Xgroup
- Crash with commands drag & drop
Documentation Changes¶
Threading Warning¶
GeListNode.InsertBefore()
/ GeListNode.InsertAfter()
/ GeListNode.InsertUnder()
/ GeListNode.InsertUnderLast()
and GeListNode.Remove()
now contains the warning:Warning
API Changelist¶
Here is the list of all the API changes in the R17 Python API:
Classes¶
Functions¶
Methods¶
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()
- Removed the following methods in
c4d.modules.net.NetRenderService
class: - NetRenderService.GetInternalPort
- NetRenderService.GetExternalPort
- NetRenderService.VerifyServerOnClient
- Removed the following methods in
Attributes¶
- The following attributes in
c4d.modules.render.InitRenderStruct
class can now be set:
- The following attributes in
Constants¶
- MSG_DESCRIPTION_CHECKUPDATE_AUTOTAKE
- MSG_DESCRIPTION_CHECKUPDATE_BASELISTEDIT
- MSG_DESCRIPTION_ALLOWOVERRIDE
- MSG_DESCRIPTION_TAKECHANGED
- MSG_TOOL_SWITCHACTION
- TAG_ADDTOTAKEGROUP
- COLOR_CTIMELINE_GRIDMEDIUM
- COLOR_SB_CARET
- COLOR_SB_CARETBG
- COLOR_TEXT_AUTOTAKE
- COLOR_TEXT_AUTOTAKE_DARK
- PLUGINFLAG_MESSAGE_SYNCEVENT
- PLUGINFLAG_TOOL_SWITCHACTION
- INITRENDERRESULT_THREADEDLOCK renamed to INITRENDERRESULT_USERBREAK
- NBIT_CKEY_WEIGHTEDTANGENT
- NBIT_CKEY_REMOVEOVERSHOOT
- NBIT_CKEY_AUTOWEIGHT
- NBIT_TAKE_LOCK
- NBIT_TAKE_OBJINGROUP
- NBIT_TAKE_EGROUPOVERIDDEN
- NBIT_TAKE_RGROUPOVERIDDEN
- Xformula
- Xvariation
- OverrideBase
- OverrideGroup
- TakeBase
- WPREF_OPENGL_VIEWPORT_DITHERING
Deprecated (Not used anymore in new Color Chooser):
- WPREF_COLOR_SYSTEM_C4D
- WPREF_COLOR_SYSTEM_BP
- COLORSYSTEM_HSVTAB
- COLORSYSTEM_TABLE
- COLORSYSTEM_RGB_COLOR
- COLORSYSTEM_HSV_COLOR
- WPREF_COLOR_HRANGE
- COLORSYSTEM_RANGE_DEGREE
- WPREF_COLOR_SVRANGE
- COLORSYSTEM_RANGE_DEGREE
- WPREF_COLOR_QUICK_C4D
- WPREF_COLOR_QUICK_BP
- WPREF_COLOR_MIX_C4D
- WPREF_COLOR_MIX_BP
- WPREF_COLOR_SETUPS
- WPREF_COLOR_QUICKPRESET
- WPREF_COLOR_QUICKPRESET_LAST
- WPREF_COLOR_MIXING_1
- WPREF_COLOR_MIXING_2
- WPREF_COLOR_MIXING_3
- WPREF_COLOR_MIXING_4
- WPREF_COLOR_SYSTEM_COLORCHOOSER
New color chooser preferences:
- WPREF_COLOR_MODE_RGB
- WPREF_COLOR_MODE_HEX
- WPREF_COLOR_MODE_RGB_OLD_SLIDERS
- WPREF_COLOR_MODE_HSV
- WPREF_COLOR_MODE_KELVIN
- WPREF_COLOR_MODE_MIXER
- WPREF_COLOR_MODE_SWATCHES
- WPREF_COLOR_MODE_SWATCHES_SHOWNAMES
- WPREF_COLOR_MODE_SWATCHES_SWATCH_SIZE
- COLORSYSTEM_SIZE_SMALL
- COLORSYSTEM_SIZE_MEDIUM
- COLORSYSTEM_SIZE_LARGE
- WPREF_COLOR_MODE_SPECIAL
- COLORSYSTEM_MODE_SPECIAL_DISABLED
- COLORSYSTEM_MODE_SPECIAL_COLORWHEEL
- COLORSYSTEM_MODE_SPECIAL_SPECTRUM
- COLORSYSTEM_MODE_SPECIAL_PICTURE
- WPREF_COLOR_MODE_WHEEL_SIZE
- COLORSYSTEM_SIZE_SMALL
- COLORSYSTEM_SIZE_MEDIUM
- COLORSYSTEM_SIZE_LARGE
- WPREF_COLOR_MODE_WHEEL_SWATCH_SIZE
- COLORSYSTEM_SIZE_SMALL
- COLORSYSTEM_SIZE_MEDIUM
- COLORSYSTEM_SIZE_LARGE
- WPREF_COLOR_MODE_SPECTRUM_SIZE
- COLORSYSTEM_SIZE_SMALL
- COLORSYSTEM_SIZE_MEDIUM
- COLORSYSTEM_SIZE_LARGE
- WPREF_COLOR_MODE_PICTURE_SWATCH_SIZE
- COLORSYSTEM_SIZE_SMALL
- COLORSYSTEM_SIZE_MEDIUM
- COLORSYSTEM_SIZE_LARGE
Removed:
- WPREF_ONLINEUPDATER_PROXYSERVER
- WPREF_ONLINEUPDATER_PROXYPORT
- WPREFS_LINKKEYFCSELECTION
- WPREFS_LINKOMSELECTONLY
- WPREFS_LINKOMSELECTONLYBUTTAGS
- WPREFS_FCLISTVIEW
- WPREFS_FCLISTVIEW_HIERARCHICAL
- WPREF_NET_USERMANAGEMENTENABLED
- WPREF_TAKE_BASIC_GROUP
- WPREF_TAKE_MAIN_AUTOTAKE
- WPREF_TAKE_MANAGER_SHOWFILTER
- WPREF_TAKE_MANAGER_SHOWSHOWSEARCH
- WPREF_TAKE_MANAGER_TREEMODE
- WPREF_TAKE_DEFAULT_FILETR_OBJ
- WPREF_TAKE_DEFAULT_FILETR_TAG
- WPREF_TAKE_DEFAULT_FILETR_MAT
- WPREF_TAKE_DEFAULT_FILETR_SHD
- WPREF_TAKE_DEFAULT_FILETR_LAY
- WPREF_TAKE_DEFAULT_FILETR_OTH
- WPREF_TAKE_DEFAULT_FILETR_VIS
- WPREF_TAKE_DEFAULT_FILETR_TRN
- WPREF_TAKE_DEFAULT_FILETR_PRM
- WPREF_TAKE_DEFAULT_FILETR_CAM
- WPREF_TAKE_DEFAULT_FILETR_RS
- EVMSG_TAKECHANGED
- EVENT_ENQUEUE_REDRAW
- IMAGERESULT_THREADCANCELED
- RENDERFLAGS_DONTANIMATE
- VPPhLensDistortion
New color chooser flags for GeDialog.AddColorField()
, GeDialog.SetColorField()
and GeDialog.AddColorChooser()
:
- DR_COLORFIELD_NO_MODE_BUTTONS
- DR_COLORFIELD_NO_COLORWHEEL
- DR_COLORFIELD_NO_SPECTRUM
- DR_COLORFIELD_NO_PICTURE
- DR_COLORFIELD_NO_RGB
- DR_COLORFIELD_NO_HSV
- DR_COLORFIELD_NO_KELVIN
- DR_COLORFIELD_NO_MIXER
- DR_COLORFIELD_NO_SWATCHES
- DR_COLORFIELD_NO_SCREENPICKER
- DR_COLORFIELD_ENABLE_COLORWHEEL
- DR_COLORFIELD_ENABLE_SPECTRUM
- DR_COLORFIELD_ENABLE_PICTURE
- DR_COLORFIELD_ENABLE_RGB
- DR_COLORFIELD_ENABLE_HSV
- DR_COLORFIELD_ENABLE_KELVIN
- DR_COLORFIELD_ENABLE_MIXER
- DR_COLORFIELD_ENABLE_SWATCHES
- DR_COLORFIELD_RGB_HIDE_HEX
Deprecated (Not used anymore in new Color Chooser):
- BFM_COLORCHOOSER_SYSTEM
- BFM_COLORCHOOSER_H_RANGE
- BFM_COLORCHOOSER_SV_RANGE
- BFM_COLORCHOOSER_QUICKSTORE
- BFM_COLORCHOOSER_MIXINGPANEL
- DRAGTYPE_RGB_ARRAY
- DESCRIPTION_NO_TAKE_OVERRIDES
- DESCRIPTION_SINGLEDESC_MODE
- GV_NODE_VERSION number changed from 5 to 6
- ID_OPERATOR_TAKEOVERRIDE