c4d.documents

Follow me to the Inheritance diagramm .

Types

Functions

c4d.documents. GetActiveDocument ( )

Returns the active document of Cinema 4D.

Return type: c4d.documents.BaseDocument
Returns: The actve document.
c4d.documents. GetFirstDocument ( )

Returns the first document in the list of documents within Cinema 4D.

Return type: c4d.documents.BaseDocument
Returns: The first document.
c4d.documents. SetActiveDocument ( doc )

Sets doc as active document in Cinema 4D.

Parameters: doc ( c4d.documents.BaseDocument ) – The document.
c4d.documents. SaveDocument ( doc , name , saveflags , format )

Saves the document to a file.

See also

The script that shows how to effectively access and change the settings of an importer/exporter.

See also

Warning note in SceneSaverData.Save() .

Parameters:
  • doc ( c4d.documents.BaseDocument ) – Command ID
  • name (str or MemoryFileStruct ) – File to save the document to.
  • saveflags ( int ) –

    The flags

    SAVEDOCUMENTFLAGS_0 No flags.
    SAVEDOCUMENTFLAGS_DIALOGSALLOWED Flag to inform your plugin that a dialog can be displayed if you wish. If this flag is not set then no dialogs must be opened.
    SAVEDOCUMENTFLAGS_SAVEAS Forces a “Save As” and opens the file requester.
    SAVEDOCUMENTFLAGS_DONTADDTORECENTLIST Do not add the saved document to recent file list.
    SAVEDOCUMENTFLAGS_AUTOSAVE Sets the Autosave mode. Files are not added to the recent file list and the document change star will not be reset.
    SAVEDOCUMENTFLAGS_SAVECACHES Caches of objects will also be written (only supported by Cinema 4D file format).
    SAVEDOCUMENTFLAGS_EXPORTDIALOG Opens the Export settings dialog.
  • format ( int ) –

    The file format to save the document as.

    FORMAT_C4DEXPORT Cinema 4D export.
    FORMAT_XMLEXPORT XML export.
    FORMAT_VRML1EXPORT VRML export.
    FORMAT_VRML2EXPORT VRML export.
    FORMAT_DXFEXPORT DXF export.
    FORMAT_3DSEXPORT 3DS export.
    FORMAT_OBJEXPORT OBJ export.
    FORMAT_Q3DEXPORT QuickDraw 3D export
    FORMAT_D3DEXPORT Direct3D import
Return type:

bool

Returns:

True if successful, otherwise False .

c4d.documents. RenderDocument ( doc , rdata , bmp [ , renderflags=0 , th=None ] )

Renders the document to a bitmap. You need to initialize the image with the size of the render data:

import c4d
from c4d import bitmaps, documents
doc = documents.GetActiveDocument()
rd = doc.GetActiveRenderData().GetData()
xres = int(rd[c4d.RDATA_XRES])
yres = int(rd[c4d.RDATA_YRES])
bmp = bitmaps.BaseBitmap()
#Initialize the bitmap with the result size
#The resolution must match with the output size of the render settings
bmp.Init(x=xres, y=yres, depth=24)
res = documents.RenderDocument(doc, rd, bmp, c4d.RENDERFLAGS_EXTERNAL)
if res==c4d.RENDERRESULT_OK:
  bitmaps.ShowBitmap(bmp)
							

A MultipassBitmap must be passed to render the image with an alpha channel:

import c4d
from c4d import bitmaps, documents
doc = documents.GetActiveDocument()
rd = doc.GetActiveRenderData().GetData()
xres = int(rd[c4d.RDATA_XRES])
yres = int(rd[c4d.RDATA_YRES])
bmp = bitmaps.MultipassBitmap(xres, yres, c4d.COLORMODE_RGB)
bmp.AddChannel(True, True)
res = documents.RenderDocument(doc, rd, bmp, c4d.RENDERFLAGS_EXTERNAL)
if res==c4d.RENDERRESULT_OK:
  bitmaps.ShowBitmap(bmp)
							
Parameters:
  • doc ( c4d.documents.BaseDocument ) – The document you want to render.
  • rdata ( c4d.BaseContainer ) – The render data.
  • bmp ( c4d.bitmaps.BaseBitmap ) – The bitmap where the rendered picture will be saved in. Initialize the image with the size of the render data.
  • renderflags ( int ) –

    Some renderflags.

    RENDERFLAGS_0 None.
    RENDERFLAGS_EXTERNAL Use render settings for LOD etc. (Otherwise the current document settings are used.)
    RENDERFLAGS_NODOCUMENTCLONE Set this flag to avoid an automatic clone of the scene sent to RenderDocument() .
    RENDERFLAGS_SHOWERRORS Show error messages.
    RENDERFLAGS_PREVIEWRENDER Preview render.
    RENDERFLAGS_IRR Interactive region render.
    RENDERFLAGS_CREATE_PICTUREVIEWER Renders in a new Picture Viewer.
    RENDERFLAGS_OPEN_PICTUREVIEWER Opens the Picture Viewer.
    RENDERFLAGS_DONTANIMATE

    New in version R17.032.

    Do not animate document before rendering. This should only be used in combination with RENDERFLAGS_PREVIEWRENDER .

    Note

    If you are in a safe context you might use RENDERFLAG_NODOCUMENTCLONE to speed up the render process especially on big scenes.

  • th ( c4d.threading.BaseThread ) – The thread to test for a break or None .
Return type:

int

Returns:

The result:

RENDERRESULT_OK Function was successful.
RENDERRESULT_OUTOFMEMORY Not enough memory.
RENDERRESULT_ASSETMISSING Assets (textures etc.) are missing.
RENDERRESULT_SAVINGFAILED Failed to save.
RENDERRESULT_USERBREAK User stopped the processing.
RENDERRESULT_GICACHEMISSING GI cache is missing.

c4d.documents. MergeDocument ( doc , name , loadflags [ , thread ] )

Merges the file name into the document doc .

Parameters:
  • doc ( c4d.documents.BaseDocument ) – The document to merge the loaded document name into.
  • name (str or MemoryFileStruct ) – The file to merge into doc .
  • loadflags ( int ) –

    The scene filter flags for the loader:

    SCENEFILTER_0 No flags.
    SCENEFILTER_OBJECTS Load/save objects.
    SCENEFILTER_MATERIALS Load/save materials.
    SCENEFILTER_DIALOGSALLOWED Flag to inform your plugin that a dialog can be displayed if you wish, if this flag not set then no dialogs must be opened.
    SCENEFILTER_PROGRESSALLOWED Flag to inform your plugin that a progress bar can be displayed if you wish. The progress bar can be set by calling StatusSetBar() .
    SCENEFILTER_MERGESCENE Flag to inform your plugin that this is a merge operation, i.e. that the document you are inserting to is an existing scene.
    SCENEFILTER_NONEWMARKERS Objects loaded from disk will keep their markers.
    SCENEFILTER_SAVECACHES Caches of objects will also be written (only supported by Cinema 4D file format). This equals the global option “Save Polygon Objects for Melange Exchange”.
  • thread ( c4d.threading.BaseThread ) – The current thread, or None for the main Cinema 4D thread.
Return type:

bool

Returns:

True if successful, otherwise False .

c4d.documents. LoadFile ( name )

Loads a file into Cinema 4D and opens it.

Note

This function can be used to open any kind of file Cinema 4D handles i.e. a document, an image, a layout, a C.O.F.F.E.E. script or a lib4d/cat4d file.

Parameters: name ( str ) – The file to load.
c4d.documents. KillDocument ( doc )

Removes and free all resources of this document.

Parameters: doc ( c4d.documents.BaseDocument ) – The document to free.
c4d.documents. InsertBaseDocument ( doc )

Inserts a document into the Cinema 4D editor list of documents.

Parameters: doc ( c4d.documents.BaseDocument ) – The document to insert.
c4d.documents. LoadDocument ( name , loadflags [ , thread ] )

Similar to LoadFile() but this time the document is not put into the editors list of documents and it gives control over the loaded document.

Parameters:
  • name (str or MemoryFileStruct ) – The name of the file to load the document from.
  • loadflags ( int ) –

    The scene filter flags for the loader:

    SCENEFILTER_0 No flags.
    SCENEFILTER_OBJECTS Load/save objects.
    SCENEFILTER_MATERIALS Load/save materials.
    SCENEFILTER_DIALOGSALLOWED Flag to inform your plugin that a dialog can be displayed if you wish, if this flag not set then no dialogs must be opened.
    SCENEFILTER_PROGRESSALLOWED Flag to inform your plugin that a progress bar can be displayed if you wish. The progress bar can be set by calling StatusSetBar() .
    SCENEFILTER_MERGESCENE Flag to inform your plugin that this is a merge operation, i.e. that the document you are inserting to is an existing scene.
    SCENEFILTER_NONEWMARKERS Objects loaded from disk will keep their markers.
    SCENEFILTER_SAVECACHES Caches of objects will also be written (only supported by Cinema 4D file format). This equals the global option “Save Polygon Objects for Melange Exchange”.
  • thread ( c4d.threading.BaseThread ) – The current thread, or None for the main Cinema 4D thread.
Return type:

c4d.documents.BaseDocument

Returns:

The document that was loaded, or None if it failed.

c4d.documents. CloseAllDocuments ( )

Closes all open documents in Cinema 4D.

Return type: bool
Returns: True on success, otherwise False
c4d.documents. SetDocumentTime ( doc , time )

Controls the time of the active document doc. Unlike BaseDocument.SetTime() it handles running animation.

Parameters:
Return type:

bool

Returns:

True on success, otherwise False

c4d.documents. RunAnimation ( doc , stop [ , forward ] )

Controls the animation in the active document doc .

Parameters:
  • doc ( c4d.documents.BaseDocument ) – The document to control. Usually GetActiveDocument()
  • stop ( bool ) – If this is True the animation is stopped, otherwise it is running.
  • forward ( bool ) – If this is True the direction is set to forward, otherwise it is set to backward.
Return type:

bool

Returns:

True on success, otherwise False

c4d.documents. InteractiveModeling_Restart ( doc )

Used for modeling tools with GUI input. Applies the last modeling undo so that new values of the modeling tool can be applied. An example from the edge cut code:

from c4d import documents, plugins
class TestTool(plugins.ToolData):
  def MouseInput(self, doc, data, draw, win, msg):
    if not doc: return False
    if doc.GetMode() == documents.Medges:
      active = p.GetActiveObjects(True)
    #undo step before
    documents.InteractiveModeling_Restart(doc)
    self.ModelingEdgeCut(active, c4d.MODIFY_EDGESELECTION, data, doc, win, msg, True)
    c4d.EventAdd()
    return True
						
Parameters: doc ( c4d.documents.BaseDocument ) – The document.
Return type: bool
Returns: True if successful, otherwise False .
c4d.documents. IsolateObjects ( doc , t_objects )

A helper routine to copy the objects t_objects of document doc to a new document (returned). All materials associated are also copied over and the links are corrected.

Parameters:
Return type:

c4d.documents.BaseDocument

Returns:

The document containing the isolated objects.

c4d.documents. StopExternalRenderer ( )

Stop the external renderer.

Return type: bool
Returns: True if the rendering has been canceled, otherwise False .
c4d.documents. GetBatchRender ( )

Get the batch render instance.

Return type: c4d.documents.BatchRender
Returns: The batch render.
c4d.documents. GetAllAssets ( doc , allowDialogs , lastPath )

New in version R15.057.

Get all assets from a document. It is e.g. used by “Save Project with Assets” menu and SaveProject() .

Parameters:
  • doc ( c4d.documents.BaseDocument ) – The document to save as project.
  • allowDialogs ( bool ) – If True this function can open dialogs. For example a file select dialog will be opened if a node of the scene points to a file which does not exist anymore.
  • lastPath ( str ) –
If a file dialog is opened and the user selects the missing file on the harddisk, the folder of this asset is assigned to lastPath . The developer can store this value somewhere and pass it next time so Cinema 4D knows where to look first before asking the user again.
Return type: list of dict{ filename : str, assetname : str, channelId : int, netRequestOnDemand : bool}
Returns: The assets in the document doc or None if there was an error.
c4d.documents. SaveProject ( doc, flags, targetPath[, assets][, missingAssets] )

New in version R15.057.

Save the document as a project (menu “Save Project with Assets” ).

Parameters:
  • doc ( c4d.documents.BaseDocument ) – The document to save as project.
  • flags ( int ) –

    Flags:

    SAVEPROJECT_0 None.
    SAVEPROJECT_ASSETS Pass if the assets will be taken into account.
    SAVEPROJECT_SCENEFILE Pass if the scene will be taken into account.
    SAVEPROJECT_DIALOGSALLOWED Show dialogs like error messages, a file selection for missing assets or alerts if necessary.
    SAVEPROJECT_SHOWMISSINGASSETDIALOG If an asset is missing show a warning dialog. Flag can be set without SAVEPROJECT_DIALOGSALLOWED .
    SAVEPROJECT_ADDTORECENTLIST Add document to the recent list.
    SAVEPROJECT_DONTCOPYFILES Does the same as without this flag but does not copy the files to the destination. Flag used to simulate the function.
    SAVEPROJECT_PROGRESSALLOWED Show the progress bar in the main window.
    SAVEPROJECT_DONTTOUCHDOCUMENT Document will be in the same state as before the call was made.
    SAVEPROJECT_DONTFAILONMISSINGASSETS If this flag is passed, the function does not fail anymore when assets are missing.
    SAVEPROJECT_ISNET Private. Set only if NET module is collecting assets.
  • targetPath ( str ) – The path to save the project to.
  • assets (list of dict{ filename : str, assetname : str, channelId : int, netRequestOnDemand : bool}) – Assigned the found assets.
  • missingAssets (list of dict{ filename : str, assetname : str, channelId : int, netRequestOnDemand : bool}) – Assigned the missing assets.
Return type:

bool

Returns:

True if the document was successfully saved as a project, otherwise False .

c4d.documents. Assemble ( inputpath , inputname , rdata , context , assembleRegular , assembleMultipass , bt , ifrom , ito , errorstring , clearimages )

New in version R16.050.

Private.

c4d.documents. GetFirstMarker ( doc )

Returns the first timeline marker of the document.

Parameters: doc ( c4d.documents.BaseDocument ) – The document.
Return type: c4d.BaseList2D
Returns: The first timeline marker.
c4d.documents. AddMarker ( doc , pPred , time , name )

Inserts a timeline marker into the document at a given time. Optionally an insertion point pPred in the timeline marker list can be specified, giving the marker before the wanted insertion point.

Parameters:
Return type:

c4d.BaseList2D

Returns:

The added timeline marker, or None if insertion failed.

Table Of Contents