Python Programming Tag Manual¶
Introduction¶
The Python Progarmming Tag is used to write and execute Python code. It can be found in the scripting part of the Tag Menu.
See also
The important Threading Manual below.
A Python Tag is implemented through a TagData
plugin.
Functions¶
-
main
() Override - It corresponds to the
Execute
method of the Python Tag. It can be called multiple time per frame.
-
message
(id, data) Override - It corresponds to the
Message
method of the Python Tag. Called when a tag receives messages.- Parameters
id (int) – The message type.
data (any) – The message data.
- Return type
bool
- Returns
Depends on the message type.
-
draw
(bd) Override - It corresponds to the
Draw
method of the Python Tag. Called to display some visual element in the viewport.- Parameters
bd (c4d.BaseDraw) – The editor’s view.
- Return type
bool
- Returns
Success of drawing into the editor view.
Variables¶
- The following variables are defined in a Python Tag scope (in all functions even yours):
doc:
BaseDocument
: The document hosting the tag.op:
BaseTag
: The Python Tag.flags:
int
: A combination of the following flags:EXECUTIONFLAGS_NONE
None.
EXECUTIONFLAGS_ANIMATION
Animation is calculated.
EXECUTIONFLAGS_EXPRESSION
Expressions are calculated.
EXECUTIONFLAGS_CACHEBUILDING
Cache building is done.
EXECUTIONFLAGS_CAMERAONLY
Only camera dependent expressions shall be executed.
EXECUTIONFLAGS_INDRAG
Pipeline is done within scrubbing.
EXECUTIONFLAGS_INMOVE
Pipeline is done within moving.
EXECUTIONFLAGS_RENDER
The external renderer (Picture Viewer) is running.
EXECUTIONFLAGS_ALLOW_PRIORITYSHIFT
New in version R18: Allow to shift the priority with the priority shift tag. Private.
priority:
int
: One of the following flags:EXECUTIONPRIORITY_INITIAL
Initial.
EXECUTIONPRIORITY_ANIMATION
Animation.
EXECUTIONPRIORITY_ANIMATION_NLA
NLA.
EXECUTIONPRIORITY_EXPRESSION
Expression.
EXECUTIONPRIORITY_DYNAMICS
Dynamics.
EXECUTIONPRIORITY_GENERATOR
Generators.
EXECUTIONPRIORITY_SCENENODE
Scene nodes.
EXECUTIONPRIORITY_FORCE
Highest priority that will ensure execution even if the execution pipeline is cancelled before. Only use this to e.g. release locks or do super-fast non-blocking operations.
tp:
TP_MasterSystem
: The Thinking Particle Master system of the document.