Types¶
Functions Signatures
c4d.storage.LoadDialog([type, title, flags, ...]) |
Open a load dialog. The look of this dialog depends on the operating system. |
c4d.storage.SaveDialog([type, title, ...]) |
Open a save dialog. The look of this dialog depends on the operating system. |
c4d.storage.ShowInFinder(path, open) |
Show the file/path in the Finder (OSX) or Explorer (Windows). |
c4d.storage.GeGetPluginPath() |
Retrieve the path of the current module. |
c4d.storage.GeGetC4DPath(whichpath) |
Gets one of the Cinema 4D paths. |
c4d.storage.GeGetStartupApplication() |
Returns the complete path of the host application (Cinema 4D, BODYPAINT 3D, NET) of the plugin: |
c4d.storage.GeGetStartupWritePath() |
Returns the writeable startup directory. This is the directory where all user data (preferences, libraries etc.) are stored: |
c4d.storage.GeGetMemoryStat() |
Gets Cinema 4D memory statistics. |
c4d.storage.GeMemGetFreePhysicalMemoryEstimate() |
Get the estimated free physical memory. |
c4d.storage.WriteHyperFile(doc, node, filename, ident) |
Writes a single list node to disk as a hyper file. |
c4d.storage.ReadHyperFile(doc, node, filename, ident) |
Reads a single list node from a hyper file on disk. The read data replaces the data in node. |
c4d.storage.GeGetStartupPath() |
Get the path for the main folder Cinema 4D: |
c4d.storage.GetUserSiteSpecificPath() |
Get the path to the site folder in the user folder. |
c4d.storage.GetFreeVolumeSpace(drive) |
Calculate the free space on a volume. |
c4d.storage.GeExecuteProgram(app, path) |
Executes an application. |
c4d.storage.GeExecuteFile(path) |
Executes a file. |
c4d.storage.GeGetMovieInfo(path) |
Get information from a movie file. |
c4d.storage.GeIdentifyFile(name, probe, recognition) |
Identify the file in name. |
Functions Documentation
-
c4d.storage.
LoadDialog
(type=FILESELECTTYPE_ANYTHING, title="", flags=FILESELECT_LOAD, force_suffix="", def_path="", def_file="")¶ Open a load dialog. The look of this dialog depends on the operating system.
Warning
If the filename returned by
LoadDialog()
will be passed to a non-Cinema 4D function it must be decoded to an utf-8 object.import c4d fn = c4d.storage.LoadDialog() f = open(fn.decode("utf-8")) # open() is a non-Cinema 4D function so it needs a decode but it works with a Cinema 4D function: doc = c4d.documents.LoadDocument(fn) # or doc = c4d.documentsLoadDocument(fn.decode("utf8"))
Parameters: - type (int) –
One of the following flags:
FILESELECTTYPE_ANYTHING Any file. FILESELECTTYPE_IMAGES Image files. FILESELECTTYPE_SCENES 3D scene files. FILESELECTTYPE_BODYPAINT BodyPaint 3D files. - title (str) – The title.
- flags (int) –
The flags:
FILESELECT_LOAD Load dialog. FILESELECT_SAVE Save dialog. FILESELECT_DIRECTORY Folder selection dialog. - force_suffix (str) – Currently not used.
- def_path (str) – The default path on popup.
- def_file (str) –
New in version R18.057: The default file on popup.
Return type: str
Returns: The selected path.
- type (int) –
-
c4d.storage.
SaveDialog
(type=FILESELECTTYPE_ANYTHING, title="", force_suffix="", def_path="", def_file="")¶ Open a save dialog. The look of this dialog depends on the operating system.
Parameters: - type (int) –
One of the following flags:
FILESELECTTYPE_ANYTHING Any file. FILESELECTTYPE_IMAGES Image files. FILESELECTTYPE_SCENES 3D scene files. FILESELECTTYPE_BODYPAINT BodyPaint 3D files. - title (str) – The title.
- force_suffix (str) – The suffix.
- def_path (str) – The default path on popup.
- def_file (str) –
New in version R18.057: The default file on popup.
Return type: str
Returns: The selected path.
- type (int) –
-
c4d.storage.
ShowInFinder
(path, open)¶ Show the file/path in the Finder (OSX) or Explorer (Windows).
Parameters: - path (str) – The file/path to show.
- open (bool) – If True the file will be opened by the assigned application.
Return type: bool
Returns: True if the path/file exists, otherwise False.
-
c4d.storage.
GeGetPluginPath
()¶ Retrieve the path of the current module.
Warning
The Python implementation is different from the C++. In the Python SDK, this function returns the path of the Python SDK module. To get the path of your Python plugin use __file__.
See also
Return type: str Returns: The path of the Python SDK module.
-
c4d.storage.
GeGetC4DPath
(whichpath)¶ Gets one of the Cinema 4D paths.
Parameters: whichpath (int) – The path to get:
C4D_PATH_PREFS Cinema 4D preferences directory. C4D_PATH_RESOURCE Cinema 4D resource directory. C4D_PATH_LIBRARY Cinema 4D library directory. (Built-in.) C4D_PATH_LIBRARY_USER Cinema 4D library path. (Different if multi-user mode is enabled.) C4D_PATH_ONLINE_HELP Cinema 4D online help directory. C4D_PATH_DESKTOP OS desktop directory. C4D_PATH_HOME OS home directory. C4D_PATH_STARTUPWRITE Writable startup directory. C4D_PATH_MYDOCUMENTS The user’s documents directory. C4D_PATH_APPLICATION OS application directory. Return type: str Returns: The retrieved path.
-
c4d.storage.
GeGetStartupApplication
()¶ Returns the complete path of the host application (Cinema 4D, BODYPAINT 3D, NET) of the plugin:
(Mac) e.g: ‘/Applications/MAXON/Cinema 4D R21_022/Cinema 4D.app’ (Windows) e.g: ‘C:Program FilesMAXONCinema 4D R21_022Cinema 4D.exe’Return type: str Returns: The complete path to the host application.
-
c4d.storage.
GeGetStartupWritePath
()¶ Returns the writeable startup directory. This is the directory where all user data (preferences, libraries etc.) are stored:
(Mac) e.g: ‘/Users/UserName/Library/Preferences/MAXON/Cinema 4D R12_C333CB6C’ (Windows) e.g: ‘C:UsersUserNameAppDataRoamingMaxonCinema 4D R21_022_95E9A228’Note
For example to store plugin preferences since modern OS do not allow to write files into the application folder.
Return type: str Returns: The writeable startup directory.
-
c4d.storage.
GeGetMemoryStat
()¶ Gets Cinema 4D memory statistics.
Return type: c4d.BaseContainer Returns: Can be None if receiving memory container failed. Assigned statistics: C4D_MEMORY_STAT_MEMORY_INUSE long Bytes in use. C4D_MEMORY_STAT_MEMORY_PEAK long Peak usage in bytes. C4D_MEMORY_STAT_NO_OF_ALLOCATIONS_TOTAL long Total number of allocations. C4D_MEMORY_STAT_NO_OF_ALLOCATIONS_CURRENT long Current number of allocations. C4D_MEMORY_STAT_EOGL_TEXBUFFER long Texture buffer usage. C4D_MEMORY_STAT_EOGL_VERTEXBUFFER long Vertex buffer usage. C4D_MEMORY_STAT_LOWMEMCNT int Number of low memory conditions (out of memory). C4D_MEMORY_STAT_EOGL_VERTEXBUFFER_CNT int Number of VBOs (Vertex Buffer Objects). C4D_MEMORY_STAT_EOGL_TEXTUREBUFFER_CNT int Number of texture buffers. C4D_MEMORY_STAT_OPENGL_TOTAL int Total OpenGL memory in KB. C4D_MEMORY_STAT_OPENGL_FREE int Free OpenGL memory in KB.
-
c4d.storage.
GeMemGetFreePhysicalMemoryEstimate
()¶ Get the estimated free physical memory.
Return type: long Returns: The estiumated free physical memory.
-
c4d.storage.
WriteHyperFile
(doc, node, filename, ident)¶ Writes a single list node to disk as a hyper file.
Parameters: - doc (c4d.documents.BaseDocument) – The document of the node.
- node (c4d.GeListNode) – The node to write.
- filename (Union[str, c4d.storage.MemoryFileStruct]) – A file to write to.
- ident (long) – A unique file identification, to make sure that you only read your own files.
Return type: int
Returns: The result:
FILEERROR_NONE No error. FILEERROR_OPEN Problems opening the file. FILEERROR_CLOSE Problems closing the file. FILEERROR_READ Problems reading the file. FILEERROR_WRITE Problems writing the file. FILEERROR_SEEK Problems seeking the file. FILEERROR_INVALID Invalid parameter or operation (e.g. writing in read-mode). FILEERROR_MEMORY Not enough memory. FILEERROR_USERBREAK User break. FILEERROR_WRONG_VALUE Other value detected than expected. FILEERROR_CHUNK_NUMBER Wrong number of chunks or sub-chunks detected. FILEERROR_VALUE_NO_CHUNK There was a value without any enclosing start/stop chunks. FILEERROR_FILE_END The file end was reached without finishing reading. FILEERROR_UNKNOWN_VALUE Unknown value detected.
-
c4d.storage.
ReadHyperFile
(doc, node, filename, ident)¶ Reads a single list node from a hyper file on disk. The read data replaces the data in node.
Parameters: - doc (c4d.documents.BaseDocument) – The document of the node.
- node (c4d.GeListNode) – The node to read to.
- filename (Union[str, c4d.storage.MemoryFileStruct]) – A file to read from.
- ident (long) – A unique file identification, to make sure that you only read your own files.
Return type: int
Returns: The result:
FILEERROR_NONE No error. FILEERROR_OPEN Problems opening the file. FILEERROR_CLOSE Problems closing the file. FILEERROR_READ Problems reading the file. FILEERROR_WRITE Problems writing the file. FILEERROR_SEEK Problems seeking the file. FILEERROR_INVALID Invalid parameter or operation (e.g. writing in read-mode). FILEERROR_MEMORY Not enough memory. FILEERROR_USERBREAK User break. FILEERROR_WRONG_VALUE Other value detected than expected. FILEERROR_CHUNK_NUMBER Wrong number of chunks or sub-chunks detected. FILEERROR_VALUE_NO_CHUNK There was a value without any enclosing start/stop chunks. FILEERROR_FILE_END The file end was reached without finishing reading. FILEERROR_UNKNOWN_VALUE Unknown value detected.
-
c4d.storage.
GeGetStartupPath
()¶ Get the path for the main folder Cinema 4D:
(Mac) e.g: ‘/Applications/MAXON/Cinema 4D R12’ (Windows) e.g: ‘C:Program FilesMAXONCinema 4D R21_022’Return type: str Returns: The main path for the Cinema 4D application.
-
c4d.storage.
GetUserSiteSpecificPath
()¶ Get the path to the site folder in the user folder.
(Windows 64-bits) e.g: ‘C:/Users/$UserName/AppData/Roaming/MAXON/R15/library/python/packages/win64’New in version R15.037.
Note
This folder exists so that 3rd party packages can be installed in it.
Return type: str Returns: The path to the site folder in the user folder.
-
c4d.storage.
GetFreeVolumeSpace
(drive)¶ Calculate the free space on a volume.
New in version R16.021.
Parameters: drive (str) – Can point to a volume or directory. Return type: tuple(long, long) Returns: The number of available bytes on the volume and the total size of the volume in bytes.
-
c4d.storage.
GeExecuteProgram
(app, path)¶ Executes an application.
Note
The application is started asynchronously.
Parameters: - app (str) – The name of the application to execute.
- path (str) – The name of a file to open using the application.
Return type: bool
Returns: True if the application was executed, otherwise False.
-
c4d.storage.
GeExecuteFile
(path)¶ Executes a file.
Note
Opens a file as if the user double-clicked it: the default application for this file will open.
Parameters: path (str) – The name of the application to execute. Return type: bool Returns: True if the application was executed, otherwise False.
-
c4d.storage.
GeGetMovieInfo
(path)¶ Get information from a movie file.
Parameters: path (Union[str, c4d.storage.MemoryFileStruct]) – The path of the movie file. Return type: dict{frames: int, fps: float} Returns: The number of frames and frames per second.
-
c4d.storage.
GeIdentifyFile
(name, probe, recognition)¶ Identify the file in name.
Parameters: - name (Union[str, c4d.storage.MemoryFileStruct]) – The file to check.
- probe (buffer) – The start of a small chunk of data from the start of the file for testing this file type. Usually the probe size is 1024 bytes.
- recognition (int) –
Identification flags:
IDENTIFYFILE_NONE None. IDENTIFYFILE_SCENE Scene file. IDENTIFYFILE_IMAGE Image file. IDENTIFYFILE_MOVIE Movie file. IDENTIFYFILE_SKIPQUICKTIME Skip files that require Quicktime. IDENTIFYFILE_SCRIPT Script file. IDENTIFYFILE_SOUND Sound file. IDENTIFYFILE_LAYOUT Layout file. IDENTIFYFILE_PYTHON Python file.
Return type: tuple(int,
BasePlugin
)Returns: The result and, for image formats, the image loader that was identified.
IDENTIFYFILE_NONE None. IDENTIFYFILE_SCENE Scene file. IDENTIFYFILE_IMAGE Image file. IDENTIFYFILE_MOVIE Movie file. IDENTIFYFILE_SKIPQUICKTIME Skip files that require Quicktime. IDENTIFYFILE_SCRIPT Script file. IDENTIFYFILE_SOUND Sound file. IDENTIFYFILE_LAYOUT Layout file. IDENTIFYFILE_PYTHON Python file.