Types¶
Functions Signatures
Open a load dialog. The look of this dialog depends on the operating system. |
|
Open a save dialog. The look of this dialog depends on the operating system. |
|
Show the file/path in the Finder (OSX) or Explorer (Windows). |
|
Retrieve the path of the current module. |
|
Gets one of the Cinema 4D paths. |
|
Returns the complete path of the host application (Cinema 4D, BODYPAINT 3D, NET) of the plugin: |
|
Returns the writeable startup directory. This is the directory where all user data (preferences, libraries etc.) are stored: |
|
Gets Cinema 4D memory statistics. |
|
Get the estimated free physical memory. |
|
Writes a single list node to disk as a hyper file. |
|
Reads a single list node from a hyper file on disk. The read data replaces the data in node. |
|
Get the path for the main folder Cinema 4D: |
|
Get the path to the site folder in the user folder. |
|
Calculate the free space on a volume. |
|
Executes an application. |
|
Executes a file. |
|
Get information from a movie file. |
|
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.
-
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.
-
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
- 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.