What was New in R16¶
In R16.050¶
Fixes¶
- Filename parameters can now be set passing a string value to either
C4DAtom.SetParameter()orGeListNode.__setitem__() - MSG_MENUPREPARE message can now be send
NetRenderService.CreateRenderJob()username parameterPaintTexture.CreateNewTexture()path parameterc4d.plugins.RegisterDescription()unnecessary g parameter- Copying of Gradient Custom GUI knots
C4DAtom.AddUniqueID()now returns a bool- COLORBYTES_COLORw attributes accessibility
- Reset of all BaseLinks from the passed node in
c4d.storage.ReadHyperFile()
API Changes¶
New functions in
c4dmodule:Added method
C4DAtom.GetUniqueIDIndex()Added
DescriptionCustomGuiclassnetmodule:- New parameter logCount for
NetRenderService.GetMachinesList() - New parameter printDebugErrors for
c4d.modules.net.SetErrorLevel()
- New parameter logCount for
thinkingparticlesmodule:- New method
TP_MasterSystem.UpdateGroup() - Added methods
TP_PGroup.Cache()andTP_PGroup.IsCache()
- New method
In R16.038¶
Documentation Changes¶
New Color Property for TP Particles¶
A new color property has been added to Thinking Particles.
TP Particles have now IN_PART_COLOR and OUT_PART_COLOR parameters. TP_MasterSystem has Color() and SetColor() new methods.
To preserve the old behavior PGROUP_USE_COLOR parameter has been added to Particle Groups. TP_PGroup class has GetUseColor() and SetUseColor() new methods.
API Changes¶
- In
netmodule: - Added function
c4d.modules.net.SetErrorLevel() - Added method
NetRenderService.AddMachine() - Added parameter settings to
NetRenderService.GetJobsList()
- Added function
- In
Documentation Changes¶
Note
GeListNode.__getitem__() and GeListNode.__setitem__()) is used to get/set their parameters data.GeListNode.__getitem__() and GeListNode.__setitem__().- Added note to
BitmapButtonCustomGui - Added note to
c4d.documents.LoadFile() - Added important warning to
c4d.CallButton() - Added note and code snippet to
GvNode.AddPort() - Fixed information and added code snippet for
BaseDocument.AddUndo() - Added code snippet to
c4d.documents.RenderDocument()
Added documentation for:
TP_PGroupis now completely documented.
- New documentation style (CSS).
- Numerous minor fixes in the documentation.
In R16.021¶
CallFunction¶
With c4d.CallFunction() it is now possible to call a function defined within a scripting expression (Python and C.O.F.F.E.E. scripting tags, effectors, XPresso nodes, Interaction tags and Python generators).
This allows better workflow and interaction between scripting expressions in the same document.
Sculpt Brushes¶
- It is now possible to implement sculpt brushes with the R16 Python API using
SculptBrushToolData. - New classes have been added for this purpose:
BrushDabDataSculptBrushParamsSculptBrushToolDataSculptModifierInterface
- And
SculptBrushToolDataplugin examples have been added too:
- And
HyperFile Refactoring¶
HyperFileRead and Write methods have been refactored:
- Deprecated:
- HyperFile.WriteWord()
- HyperFile.WriteUWord()
- HyperFile.WriteLong()
- HyperFile.WriteULong()
- HyperFile.WriteLLong()
- HyperFile.WriteReal()
- HyperFile.WriteLReal()
- HyperFile.WriteLFloat()
- HyperFile.WriteLVector()
- HyperFile.WriteLMatrix()
- HyperFile.ReadWord()
- HyperFile.ReadUWord()
- HyperFile.ReadLong()
- HyperFile.ReadULong()
- HyperFile.ReadLLong()
- HyperFile.ReadReal()
- HyperFile.ReadLReal()
- HyperFile.ReadLVector()
- HyperFile.ReadLMatrix()
- Removed:
- HyperFile.WriteInt()
- HyperFile.WriteFloat()
- HyperFile.ReadInt()
- HyperFile.ReadLFLoat()
NET/Team Render Changes¶
- New class
Changes in NetRenderService:
- Added:
NetRenderService.Message()NetRenderService.ClearResults()NetRenderService.GetNetPreferences()NetRenderService.GetMachinesList()NetRenderService.GetUserPool()NetRenderService.GetJobsList()NetRenderService.CreateRenderJob()NetRenderService.StartRendering()NetRenderService.InitRendering()NetRenderService.InitAndStartRenderingFullAsync()NetRenderService.StopRendering()NetRenderService.DeleteRenderJob()NetRenderService.InsertJobAfter()NetRenderService.InsertJobBefore()NetRenderService.SetDefaultSceneName()NetRenderService.GetRepository()NetRenderService.AddLogToJob()NetRenderService.AddLogToMachine()NetRenderService.GetName()NetRenderService.NetConsoleOutput()
- Removed:
- NetRenderService.GetJSONMachines() (Use new method
NetRenderService.GetMachinesList()instead) - NetRenderService.GetJsonJobs() (Use new method
NetRenderService.GetJobsList()instead)
- NetRenderService.GetJSONMachines() (Use new method
Changes in UserPool:
- Changed
UserPool.DeleteUser()andUserPool.ChangePassword(): Renamed username to userUuid and changed type from str to UUID
Other API Changes¶
Here is the list of other API changes in the R16 Python API:
Methods¶
BaseDocument.GetDocumentData()BaseDocument.SetDocumentData()BaseDocument.RecordKey()BaseDocument.AutoKey()
BaseList2D.AddEventNotification()BaseList2D.RemoveEventNotification()BaseList2D.FindEventNotification()
Functions¶
c4d.threading.GeGetCurrentThreadCount()- Deprecated c4d.threading.GeGetCPUCount()
Parameters¶
- New:
- flags for
BaseDraw.DrawArc() - isNet for
BaseDocument.GetAllTextures()
- flags for
Fixes¶
BaseDraw.GetGridStep()does not take any parameterBaseDocument.ExecutePasses()was always running in the main thread
Documentation Changes¶
- Added sculpt plugins starting with py-sculpt prefix in the GitHub repository.
- Added warning notes to
BaseDocument.GetLayerObjectRoot(),BaseSelect.SelectAll()andVariableTag.GetDataCount()
- Added previsouly undocumented methods in
PaintTexture: PaintTexture.CreateNewTexture()PaintTexture.GetTextureDefaults()PaintTexture.SetSelected_Texture()PaintTexture.GetSelectedTexture()
- Added previsouly undocumented methods in