À propos de l'environnement Cinema4D Python et du module c4d J'ai essayé de plonger paresseusement C'est également une extension du livre de copie C4D Python précédemment distribué lors de l'événement. Sentiment une continuation de ceci ...?
Cinema4D, options de ligne de commande sous OSX, etc. http://qiita.com/it_ks/items/5c052366fb8d1c9952b0
Ici, le nom du module sera un peu déroutant, donc En parlant de "** c4d **", ** module Python **. L'application est abrégée en Cinema 4D. La plupart.
OSX 10.10.5、Cinema4D R14。
python
print c4d.GetC4DVersion()
14042
Il est retourné avec un entier à 5 chiffres. En regardant la boîte de dialogue à propos, elle est divisée en 14 et 042.
À propos, la version de l'API est (▼)
python
print c4d.GetAPIVersion()
(1, 1, 2406)
#Est-ce que c'est comme ça?
L'environnement Python pour Cinema4D R14 est 2.6.4.
python
print sys.version_info
(2, 6, 4, 'final', 0)
Je vais essayer d'obtenir la version du système d'exploitation via Python.
python
import platform
print platform.mac_ver()
('10.10.5', ('', '', ''), 'i386')
Version Type Cinema4D a différentes qualités telles que Broadcast et Prime under Studio qui sont toutes incluses. En termes d'API, ces classifications semblent s'appeler "** type de version **".
python
print c4d.GeGetVersionType()
4
Le type de version de Cinema 4D que nous utilisons est "** 4 **". 4, qu'est-ce que ...? Selon ce https://developers.maxon.net/docs/Cinema4DPythonSDK/html/modules/c4d/index.html#c4d.GeGetVersionType Compter à partir de 0, 4 correspond à "Cinema 4D Broadcast". Bonne réponse!
python
print c4d.VERSIONTYPE_BROADCAST
4
Dir () sans rien mettre à l'intérieur. Vérifiez les outils posés à plat.
python
import c4d
from c4d import gui
#Welcome to the world of Python
print dir()
['__builtins__', '__file__', '__name__', '__package__', 'c4d', 'doc', 'gui', 'op']
C'est comme quelque chose qui peut être placé sans rien faire, un équipement de base.
c4d
python
print type( c4d )
<type 'module'>
help( c4d )
python
Help on module c4d:
NAME
c4d - Common module for the most required classes and functions.
FILE
(built-in)
SUBMODULES
bitmaps
documents
gui
internals
modules
plugins
storage
threading
utils
CLASSES
__builtin__.object
BaseContainer
BaseSelect
BaseTime
C4DAtom
GeListNode
BaseList2D
BaseMaterial
BaseObject
CameraObject
PointObject
LineObject
PolygonObject
SplineObject
BaseShader
BaseTag
SelectionTag
TextureTag
VariableTag
NormalTag
PointTag
PolygonTag
SegmentTag
TangentTag
UVWTag
BaseView
BaseDraw
CCurve
CTrack
CKey
CPolygon
CustomDataType
DateTimeData
FontData
Gradient
InExcludeData
LayerSet
MatAssignData
PLAData
PriorityData
SplineData
UnitScaleData
DescID
DescLevel
HandleInfo
Matrix
Vector
class BaseContainer(__builtin__.object)
| A container for individual values.
|
| Methods defined here:
|
| CopyTo(...)
| Copy to another BaseContainer.
|
(Omis)
dir( c4d ) Une énorme quantité a été retournée et je ne pouvais pas tout voir sur la console Cinema 4D
Regardons le nombre d'articles.
python
print len(dir(c4d))
17828
fort
doc
python
print type( doc )
<type 'c4d.documents.BaseDocument'>
Le «document de base» dans c4d.documents semble être la véritable identité. D'autres amis ...
python
print dir( c4d.documents )
['AddMarker', 'BaseDocument', 'BatchRender', 'CloseAllDocuments', 'GetActiveDocument', 'GetBatchRender', 'GetFirstDocument', 'GetFirstMarker', 'InsertBaseDocument', 'InteractiveModeling_Restart', 'IsolateObjects', 'KillDocument', 'LayerObject', 'LoadDocument', 'LoadFile', 'MergeDocument', 'RenderData', 'RenderDocument', 'RunAnimation', 'SaveDocument', 'SetActiveDocument', 'SetDocumentTime', 'StopExternalRenderer', '__doc__', '__name__', '__package__']
Il ressemble à un module de gestion des fichiers (fichiers de scène) gérés par Cinema4D, c4d.documents.
help( doc )
python
Help on BaseDocument object:
class BaseDocument(c4d.BaseList2D)
| Represents a document.
|
| Method resolution order:
| BaseDocument
| c4d.BaseList2D
| c4d.GeListNode
| c4d.C4DAtom
| __builtin__.object
|
| Methods defined here:
|
| AddUndo(...)
| Perform a redo on this document (undo the last undo).
|
| AnimateObject(...)
| Animate a node in this document.
|
| DoRedo(...)
| Perform a redo on this document (undo the last undo).
|
| DoUndo(...)
| Perform an undo operation.
|
| EndUndo(...)
| End the building of multiple undo actions into a single user undo.
(Omis)
dir( doc ) Cette personne a pu s'exhiber jusqu'au bout.
print dir( doc )
python
['AddUndo', 'AddUserData', 'AnimateObject', 'ChangeNBit', 'CheckType', 'ClearKeyframeSelection', 'CopyTo', 'DelBit', 'DoRedo', 'DoUndo', 'Edit', 'EndUndo', 'ExecutePasses', 'FindCTrack', 'FindKeyframeSelection', 'FindSceneHook', 'FindUndoPtr', 'Flush', 'FlushUndoBuffer', 'ForceCreateBaseDraw', 'GetAction', 'GetActiveBaseDraw', 'GetActiveMaterial', 'GetActiveMaterials', 'GetActiveObject', 'GetActiveObjects', 'GetActiveObjectsFilter', 'GetActiveRenderData', 'GetActiveTag', 'GetActiveTags', 'GetActiveToolData
', 'GetAllBits', 'GetAllTextures', 'GetBaseDraw', 'GetBaseDrawCount', 'GetBit', 'GetBubbleHelp', 'GetCTrackRoot', 'GetCTracks', 'GetChanged', 'GetChildren', 'GetClassification', 'GetClone', 'GetData', 'GetDataInstance', 'GetDirty', 'GetDocument', 'GetDocumentName', 'GetDocumentPath', 'GetDown', 'GetDownLast', 'GetDrawTime', 'GetFirstCTrack', 'GetFirstMaterial', 'GetFirstObject', 'GetFirstRenderData', 'GetFirstShader', 'GetFps', 'GetHelperAxis', 'GetHighest', 'GetIcon', 'GetInfo', 'GetLOD', 'GetLayerData',
'GetLayerObject', 'GetLayerObjectRoot', 'GetListHead', 'GetLoopMaxTime', 'GetLoopMinTime', 'GetMain', 'GetMaterials', 'GetMaxTime', 'GetMinTime', 'GetMode', 'GetNBit', 'GetNLARoot', 'GetName', 'GetNext', 'GetNodeData', 'GetObjects', 'GetOrderedActiveObjects', 'GetParticleSystem', 'GetPred', 'GetRenderBaseDraw', 'GetRenderLod', 'GetSelection', 'GetSettingsInstance', 'GetSplinePlane', 'GetTime', 'GetType', 'GetTypeName', 'GetUndoPtr', 'GetUp', 'GetUserDataContainer', 'InsertAfter', 'InsertBefore', 'InsertMat
erial', 'InsertObject', 'InsertRenderData', 'InsertRenderDataLast', 'InsertShader', 'InsertTrackSorted', 'InsertUnder', 'InsertUnderLast', 'IsAlive', 'IsAxisEnabled', 'IsDocumentRelated', 'IsEditMode', 'IsInstanceOf', 'KeyframeSelectionContent', 'Message', 'MultiMessage', 'Polygonize', 'Read', 'ReadObject', 'Remove', 'RemoveUserData', 'Scale', 'SearchMaterial', 'SearchMaterialInc', 'SearchObject', 'SearchObjectInc', 'SendInfo', 'SetAction', 'SetActiveMaterial', 'SetActiveObject', 'SetActiveRenderData', 'Se
tActiveTag', 'SetAllBits', 'SetBit', 'SetChanged', 'SetData', 'SetDirty', 'SetDocumentName', 'SetDocumentPath', 'SetFps', 'SetKeyframeSelection', 'SetLOD', 'SetLayerData', 'SetLayerObject', 'SetLoopMaxTime', 'SetLoopMinTime', 'SetMaxTime', 'SetMinTime', 'SetMode', 'SetName', 'SetRenderLod', 'SetRewind', 'SetSelection', 'SetTime', 'SetUserDataContainer', 'StartUndo', 'ToggleBit', 'TransferGoal', 'Write', 'WriteObject', '__call__', '__class__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__',
'__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__']
Le nombre d'articles pour le moment.
python
print len(dir( doc ))
182
Au fait, toutes les lettres initiales sont en majuscules, mais puis-je penser que tout cela est une classe?
python
for i in dir(doc):
print i,':',eval('type(doc.'+i+')')
python
AddUndo : <type 'builtin_function_or_method'>
AddUserData : <type 'builtin_function_or_method'>
AnimateObject : <type 'builtin_function_or_method'>
ChangeNBit : <type 'builtin_function_or_method'>
CheckType : <type 'builtin_function_or_method'>
ClearKeyframeSelection : <type 'builtin_function_or_method'>
CopyTo : <type 'builtin_function_or_method'>
DelBit : <type 'builtin_function_or_method'>
DoRedo : <type 'builtin_function_or_method'>
DoUndo : <type 'builtin_function_or_method'>
Edit : <type 'builtin_function_or_method'>
EndUndo : <type 'builtin_function_or_method'>
ExecutePasses : <type 'builtin_function_or_method'>
FindCTrack : <type 'builtin_function_or_method'>
FindKeyframeSelection : <type 'builtin_function_or_method'>
FindSceneHook : <type 'builtin_function_or_method'>
FindUndoPtr : <type 'builtin_function_or_method'>
Flush : <type 'builtin_function_or_method'>
FlushUndoBuffer : <type 'builtin_function_or_method'>
ForceCreateBaseDraw : <type 'builtin_function_or_method'>
GetAction : <type 'builtin_function_or_method'>
GetActiveBaseDraw : <type 'builtin_function_or_method'>
GetActiveMaterial : <type 'builtin_function_or_method'>
GetActiveMaterials : <type 'builtin_function_or_method'>
GetActiveObject : <type 'builtin_function_or_method'>
GetActiveObjects : <type 'builtin_function_or_method'>
GetActiveObjectsFilter : <type 'builtin_function_or_method'>
GetActiveRenderData : <type 'builtin_function_or_method'>
GetActiveTag : <type 'builtin_function_or_method'>
GetActiveTags : <type 'builtin_function_or_method'>
GetActiveToolData : <type 'builtin_function_or_method'>
GetAllBits : <type 'builtin_function_or_method'>
GetAllTextures : <type 'builtin_function_or_method'>
GetBaseDraw : <type 'builtin_function_or_method'>
GetBaseDrawCount : <type 'builtin_function_or_method'>
GetBit : <type 'builtin_function_or_method'>
GetBubbleHelp : <type 'builtin_function_or_method'>
GetCTrackRoot : <type 'builtin_function_or_method'>
GetCTracks : <type 'builtin_function_or_method'>
GetChanged : <type 'builtin_function_or_method'>
GetChildren : <type 'builtin_function_or_method'>
GetClassification : <type 'builtin_function_or_method'>
GetClone : <type 'builtin_function_or_method'>
GetData : <type 'builtin_function_or_method'>
GetDataInstance : <type 'builtin_function_or_method'>
GetDirty : <type 'builtin_function_or_method'>
GetDocument : <type 'builtin_function_or_method'>
GetDocumentName : <type 'builtin_function_or_method'>
GetDocumentPath : <type 'builtin_function_or_method'>
GetDown : <type 'builtin_function_or_method'>
GetDownLast : <type 'builtin_function_or_method'>
GetDrawTime : <type 'builtin_function_or_method'>
GetFirstCTrack : <type 'builtin_function_or_method'>
GetFirstMaterial : <type 'builtin_function_or_method'>
GetFirstObject : <type 'builtin_function_or_method'>
GetFirstRenderData : <type 'builtin_function_or_method'>
GetFirstShader : <type 'builtin_function_or_method'>
GetFps : <type 'builtin_function_or_method'>
GetHelperAxis : <type 'builtin_function_or_method'>
GetHighest : <type 'builtin_function_or_method'>
GetIcon : <type 'builtin_function_or_method'>
GetInfo : <type 'builtin_function_or_method'>
GetLOD : <type 'builtin_function_or_method'>
GetLayerData : <type 'builtin_function_or_method'>
GetLayerObject : <type 'builtin_function_or_method'>
GetLayerObjectRoot : <type 'builtin_function_or_method'>
GetListHead : <type 'builtin_function_or_method'>
GetLoopMaxTime : <type 'builtin_function_or_method'>
GetLoopMinTime : <type 'builtin_function_or_method'>
GetMain : <type 'builtin_function_or_method'>
GetMaterials : <type 'builtin_function_or_method'>
GetMaxTime : <type 'builtin_function_or_method'>
GetMinTime : <type 'builtin_function_or_method'>
GetMode : <type 'builtin_function_or_method'>
GetNBit : <type 'builtin_function_or_method'>
GetNLARoot : <type 'builtin_function_or_method'>
GetName : <type 'builtin_function_or_method'>
GetNext : <type 'builtin_function_or_method'>
GetNodeData : <type 'builtin_function_or_method'>
GetObjects : <type 'builtin_function_or_method'>
GetOrderedActiveObjects : <type 'builtin_function_or_method'>
GetParticleSystem : <type 'builtin_function_or_method'>
GetPred : <type 'builtin_function_or_method'>
GetRenderBaseDraw : <type 'builtin_function_or_method'>
GetRenderLod : <type 'builtin_function_or_method'>
GetSelection : <type 'builtin_function_or_method'>
GetSettingsInstance : <type 'builtin_function_or_method'>
GetSplinePlane : <type 'builtin_function_or_method'>
GetTime : <type 'builtin_function_or_method'>
GetType : <type 'builtin_function_or_method'>
GetTypeName : <type 'builtin_function_or_method'>
GetUndoPtr : <type 'builtin_function_or_method'>
GetUp : <type 'builtin_function_or_method'>
GetUserDataContainer : <type 'builtin_function_or_method'>
InsertAfter : <type 'builtin_function_or_method'>
InsertBefore : <type 'builtin_function_or_method'>
InsertMaterial : <type 'builtin_function_or_method'>
InsertObject : <type 'builtin_function_or_method'>
InsertRenderData : <type 'builtin_function_or_method'>
InsertRenderDataLast : <type 'builtin_function_or_method'>
InsertShader : <type 'builtin_function_or_method'>
InsertTrackSorted : <type 'builtin_function_or_method'>
InsertUnder : <type 'builtin_function_or_method'>
InsertUnderLast : <type 'builtin_function_or_method'>
IsAlive : <type 'builtin_function_or_method'>
IsAxisEnabled : <type 'builtin_function_or_method'>
IsDocumentRelated : <type 'builtin_function_or_method'>
IsEditMode : <type 'builtin_function_or_method'>
IsInstanceOf : <type 'builtin_function_or_method'>
KeyframeSelectionContent : <type 'builtin_function_or_method'>
Message : <type 'builtin_function_or_method'>
MultiMessage : <type 'builtin_function_or_method'>
Polygonize : <type 'builtin_function_or_method'>
Read : <type 'builtin_function_or_method'>
ReadObject : <type 'builtin_function_or_method'>
Remove : <type 'builtin_function_or_method'>
RemoveUserData : <type 'builtin_function_or_method'>
Scale : <type 'builtin_function_or_method'>
SearchMaterial : <type 'builtin_function_or_method'>
SearchMaterialInc : <type 'builtin_function_or_method'>
SearchObject : <type 'builtin_function_or_method'>
SearchObjectInc : <type 'builtin_function_or_method'>
SendInfo : <type 'builtin_function_or_method'>
SetAction : <type 'builtin_function_or_method'>
SetActiveMaterial : <type 'builtin_function_or_method'>
SetActiveObject : <type 'builtin_function_or_method'>
SetActiveRenderData : <type 'builtin_function_or_method'>
SetActiveTag : <type 'builtin_function_or_method'>
SetAllBits : <type 'builtin_function_or_method'>
SetBit : <type 'builtin_function_or_method'>
SetChanged : <type 'builtin_function_or_method'>
SetData : <type 'builtin_function_or_method'>
SetDirty : <type 'builtin_function_or_method'>
SetDocumentName : <type 'builtin_function_or_method'>
SetDocumentPath : <type 'builtin_function_or_method'>
SetFps : <type 'builtin_function_or_method'>
SetKeyframeSelection : <type 'builtin_function_or_method'>
SetLOD : <type 'builtin_function_or_method'>
SetLayerData : <type 'builtin_function_or_method'>
SetLayerObject : <type 'builtin_function_or_method'>
SetLoopMaxTime : <type 'builtin_function_or_method'>
SetLoopMinTime : <type 'builtin_function_or_method'>
SetMaxTime : <type 'builtin_function_or_method'>
SetMinTime : <type 'builtin_function_or_method'>
SetMode : <type 'builtin_function_or_method'>
SetName : <type 'builtin_function_or_method'>
SetRenderLod : <type 'builtin_function_or_method'>
SetRewind : <type 'builtin_function_or_method'>
SetSelection : <type 'builtin_function_or_method'>
SetTime : <type 'builtin_function_or_method'>
SetUserDataContainer : <type 'builtin_function_or_method'>
StartUndo : <type 'builtin_function_or_method'>
ToggleBit : <type 'builtin_function_or_method'>
TransferGoal : <type 'builtin_function_or_method'>
Write : <type 'builtin_function_or_method'>
WriteObject : <type 'builtin_function_or_method'>
__call__ : <type 'method-wrapper'>
__class__ : <type 'type'>
__delattr__ : <type 'method-wrapper'>
__delitem__ : <type 'method-wrapper'>
__doc__ : <type 'str'>
__eq__ : <type 'method-wrapper'>
__format__ : <type 'builtin_function_or_method'>
__ge__ : <type 'method-wrapper'>
__getattribute__ : <type 'method-wrapper'>
__getitem__ : <type 'method-wrapper'>
__gt__ : <type 'method-wrapper'>
__hash__ : <type 'method-wrapper'>
__init__ : <type 'method-wrapper'>
__le__ : <type 'method-wrapper'>
__len__ : <type 'method-wrapper'>
__lt__ : <type 'method-wrapper'>
__ne__ : <type 'method-wrapper'>
__new__ : <type 'builtin_function_or_method'>
__reduce__ : <type 'builtin_function_or_method'>
__reduce_ex__ : <type 'builtin_function_or_method'>
__repr__ : <type 'method-wrapper'>
__setattr__ : <type 'method-wrapper'>
__setitem__ : <type 'method-wrapper'>
__sizeof__ : <type 'builtin_function_or_method'>
__str__ : <type 'method-wrapper'>
__subclasshook__ : <type 'builtin_function_or_method'>
Toutes les fonctions. Il y a des jours comme ça.
op
python
print type(op)
<type 'NoneType'>
C'est un mystère.
help( op )
python
Welcome to Python 2.6! This is the online help utility.
If this is your first time using Python, you should definitely check out
the tutorial on the Internet at http://docs.python.org/tutorial/.
Enter the name of any module, keyword, or topic to get help on writing
Python programs and using Python modules. To quit this help utility and
return to the interpreter, just type "quit".
To get a list of available modules, keywords, or topics, type "modules",
"keywords", or "topics". Each module also comes with a one-line summary
of what it does; to list the modules whose summaries contain a given word
such as "spam", type "modules spam".
help>
You are now leaving help and returning to the Python interpreter.
If you want to ask for help on a particular object directly from the
interpreter, you can type "help(object)". Executing "help('string')"
has the same effect as typing a particular string at the help> prompt.
???
Différent de la normale help (None)
……
python
#Aide sur le terminal(None)
>>> help(None)
Help on NoneType object:
class NoneType(object)
| Methods defined here:
|
| __hash__(...)
| x.__hash__() <==> hash(x)
|
| __repr__(...)
| x.__repr__() <==> repr(x)
(END)
Il semble que Python dans Cinema4D soit tombé une fois et redémarre. Qu'est-ce que c'est
BaseObject En fait, op sera rempli de ** lorsque vous sélectionnez un objet.
Fabriquez un cube puis demandez
c4d.CallCommand(5159) #cube
print type(op)
<type 'c4d.BaseObject'>
Cela ressemble à une instance de c4d.BaseObject.
python
help(op)
Help on BaseObject object:
class BaseObject(BaseList2D)
| Object base class.
|
| Method resolution order:
| BaseObject
| BaseList2D
| GeListNode
| C4DAtom
| __builtin__.object
|
| Methods defined here:
|
| AddDependence(...)
| Add a child object to the dependence list.
|
| CheckCache(...)
| Check if cache is built.
|
| CompareDependenceList(...)
| Compares if anything in the dependence list has changed.
|
| CopyMatrixTo(...)
| Copy the matrix of the object to another.
|
| CopyTagsTo(...)
| Copy the tags of the object to another.
(Omis)
dir( op )
Quand j'ai essayé dir, cette personne a également constaté que le contenu était en majuscules et toutes les fonctions.
python
print len( dir(op) )
168
sys
python
import sys
print sys.modules.keys()
['MacOS', 'subprocess', 'gc', 'c4d.modules', 'c4d.modules.particles', 'encodings.encodings', 'struct', 'c4d.modules.character.builder', 'c4dPyHelper', 'imp', 'c4d.utils', 'collections', 'zipimport', 'string', 'repr', 'signal', 'c4d.internals', 'pydoc', 'token', 'shlex', 'macostools', 'dis', 'cStringIO', 'encodings', 'abc', 're', 'UserDict', 'fcntl', 'c4d.utils.noise', 'inspect', 'exceptions', 'Carbon.Res', 'codecs', 'pkgutil', 'traceback', '_Res', 'itertools', 'opcode', 'os', 'marshal', '_collections', '_s
re', '__builtin__', 'operator', 'c4d.storage', 'select', 'c4d.modules.character', 'posixpath', 'errno', 'binascii', 'sre_constants', 'c4d', 'os.path', 'c4d.gui', 'c4d.modules.snap', 'Carbon', 'c4d.modules.onlinehelp', '_warnings', 'Carbon.Files', 'encodings.__builtin__', '_codecs', 'tokenize', 'c4d.plugins', 'webbrowser', 'Carbon.File', '_struct', 'keyword', '_File', 'posix', 'encodings.aliases', 'Carbon._Res', 'c4d.modules.hair', 'sre_parse', 'pickle', 'copy_reg', 'sre_compile', 'site', '__main__', 'c4d.m
odules.bodypaint', 'ic', 'strop', 'c4d.threading', 'encodings.codecs', 'Carbon._File', '_abcoll', 'c4d.documents', 'c4d.bitmaps', 'c4d.modules.thinkingparticles', 'genericpath', 'stat', 'warnings', 'encodings.ascii', 'time', 'sys', 'types', 'icglue', 'c4d.modules.render', 'c4d.modules.graphview', 'c4d.modules.mograph', 'linecache', 'Carbon.warnings']
Je lis beaucoup de ** ci-dessous ** c4d.
python
print sys.getdefaultencoding()
ascii
Encoder, ascii?
python
#Regardons également le système de fichiers.
print sys.getfilesystemencoding()
utf-8
Depuis le terminal
>>> sys.getfilesystemencoding()
'utf-8'
Attitude qui change du codage système.
python
print sys.argv
['']
python
print sys.stdin
print sys.stdout
print sys.stderr
<__main__.StdCatcher instance at 0x11b7191b8>
<__main__.StdCatcher instance at 0x11b7191b8>
<__main__.StdErrCatcher instance at 0x11b719170>
StdCatcher。。。
python
help( sys.stdin )
Help on instance of StdCatcher in module __main__:
class StdCatcher
| Methods defined here:
|
| flush(self)
|
| readline(self)
|
| write(self, st)
python
print sys.exec_prefix
/Applications/MAXON/CINEMA 4D R14/resource/modules/python/res/Python.osx.framework
print sys.prefix
/Applications/MAXON/CINEMA 4D R14/resource/modules/python/res/Python.osx.framework
python
print sys.executable
/Applications/MAXON/CINEMA 4D R14/CINEMA 4D.app/Contents/MacOS/CINEMA 4D
python
print sys.flags
sys.flags(debug=0, py3k_warning=0, division_warning=0, division_new=0, inspect=0, interactive=0, optimize=0, dont_write_bytecode=1, no_user_site=0, no_site=0, ignore_environment=0, tabcheck=0, verbose=0, unicode=0, bytes_warning=0)
dont_write_bytecode = 1
,
Ne génère pas de .pyc ou .pyo.
Gestionnaires de commandes.
ID=5159
#Par exemple, pour l'ID 5159
c4d.CallCommand(5159) #cube
print c4d.GetCommandName(5159)
cube
print c4d.GetCommandHelp(5159)
Ajouter un objet cubique
python
help(c4d.CallCommand)
Help on built-in function CallCommand in module c4d:
CallCommand(...)
Call Command
...... Est-il faux d'attendre quelque chose de la commande help?
Tournez avec pour et essayez de vous renseigner d'un bout. Cependant, seuls ceux qui commencent par "ID".
python
for i in dir(c4d):
if i.startswith('ID'):
tmpID = c4d.__dict__[i]
if c4d.GetCommandName(tmpID):
print i,tmpID,c4d.GetCommandName(tmpID)
résultat
IDM_CM_CLOSEWINDOW 12097 Fermer
IDM_COPIE 12107 copie
IDM_CUT 12106 coupe
IDM_SUPPRIMER 12109 Effacer
IDM_INVERSION 12374 Tout inverser
IDM_KEY_LAST 12415 Passer à la clé précédente
IDM_KEY_SUIVANT 12416 Passer à la clé suivante
IDM_PÂTE 12108 pâte
IDM_Redémarrer REDO 12297
IDM_SELECTALL 12112 Tout sélectionner
IDM_SELECTNONE 12113 Tout désélectionner
IDM_UNDO 12105 Annuler
ID_BASECURVE 1015549 courbe IGES
ID_BASEGROUP 1015545 Groupe IGES
ID_BASESURFACE 1015548 IGES surface
ID_CAMERA_LOCK_PIVOT 440000104 Verrouiller le pivot de la caméra
ID_CAMERA_Zoom film MAGNIFY 1016008
ID_CAMERA_MOVE 1016007 Déplacer le film
ID_CAMERA_SET_PIVOT 1021420 Régler le pivot de la caméra
ID_CAMERA_ZOOM 1016009 Mise à l'échelle du film
ID_CAMERA_ZOOM_IN 1016010 Zoom avant
ID_CAMERA_ZOOM_OUT 1016011 Zoom arrière
ID_CA_CONSTRAINT_TAG_CLAMP_TARGET_COUNT 50000 paramètres de rendu
ID_CA_CONSTRAINT_TAG_MIRROR_TARGET_Afficher le filtre COUNT 70000
ID_CA_CONSTRAINT_TAG_SPRING_TARGET_COUNT 60000 filtre d'exportation
ID_CA_PAINT_TOOL_DISPLAY_COULEUR 12002 Stop
ID_CONVERT_SELECTION_TOOL 1011181 Convertir la sélection
ID_LASTTOOL_END 1021392 -
ID_LASTTOOL_START 1021385 Déplacer
ID_MAPPEDCURVE 1015547 IGES Courbe mappée
ID_MEASURE_OUTIL 1011182 Travaux de mesure
ID_MODELING_ARRANGE_OUTIL 200000068 Organiser
ID_MODELING_ARRAY_Baie TOOL 450000045
ID_MODELING_BEVEL_TOOL 450000005 biseau
ID_MODELING_BRIDGE_Pont TOOL 450000008
ID_MODELING_BRUSH_Brosse TOOL 1016202
ID_MODELING_CENTER_OUTIL 200000071 Centrage
ID_MODELING_CLONE_TOOL 450000042 Clone
ID_MODELING_CLOSEHOLE_OUTIL 450000010 Fermer le trou du polygone
ID_MODELING_COLLAPSE_COMMANDE 1015924 Écraser
ID_MODELING_DUPLICATE_OUTIL 200000067 Dupliquer
ID_MODELING_EDGECUT_OUTIL 1009661 Coupe de bord
ID_MODELING_EDGE_SPLINE_COMMANDE 1009671 Sélection d'arête à spline
ID_MODELING_EXTRUDE_INNER_OUTIL 450000004 Extrudé dans le plan
ID_MODELING_EXTRUDE_OUTIL 1011183 Extrusion
ID_MODELING_FILL_SELECTION_TOOL 1011178 Découvrez la sélection
ID_MODELING_FREESELECTION 200000085 Sélection de la corde de projection
ID_MODELING_IRON_OUTIL 450000014 Fer
ID_MODELING_KNIFE_Couteau TOOL 1016030
ID_MODELING_LIVESELECTION 200000083 Sélection en direct
ID_MODELING_LOOP_OUTIL 1011192 Sélection de boucle
ID_MODELING_MAGNET_Aimant TOOL 1016185
ID_MODELING_MATRIX_EXTRUDE_OUTIL 1011126 Extrusion de matrice
ID_MODELING_MELT_COMMAND 1010136 Fondre
ID_MODELING_MOVE 200000088 déplacer
ID_MODELING_NORMALMOVE_OUTIL 450000000 Déplacement normal
ID_MODELING_NORMALROTATE_OUTIL 450000002 Rotation selon la normale
ID_MODELING_NORMALSCALE_OUTIL 450000001 Échelle selon la normale
ID_MODELING_OM_SELECT_HIDE 1016208 Masquer l'objet
ID_MODELING_OM_SELECT_INVERT 1016207 Inverser la sélection d'objet
ID_MODELING_OM_SELECT_AFFICHER 1016209 Afficher l'objet
ID_MODELING_OUTLINE_SELECTION_OUTIL 1011179 Sélection de contour
ID_MODELING_POINT_ADD_OUTIL 450000007 Créer des points
ID_MODELING_POLYGON_CREATE_OUTIL 450000006 Créer un polygone
ID_MODELING_POLYSELECTION 200000086 Sélection de polygones
ID_MODELING_RANDOMIZE_OUTIL 200000070 Randomiser
ID_MODELING_RECTSELECTION 200000084 Sélection rectangulaire
ID_MODELING_RING_TOOL 1011180 Sélection de bague
ID_MODELING_ROTATION 200000090 rotation
ID_MODELING_SCALE 200000089 échelle
ID_MODELING_SETVALUE_OUTIL 200000065 Aligner les valeurs de points
ID_MODELING_SHORTCUT_SELECTVISIBLE 1016757 Interrupteur uniquement éléments visibles
ID_MODELING_SLIDE_OUTIL 450000012 Coulissant
ID_MODELING_SMOOTH_SHIFT_OUTIL 450000003 Changement de vitesse en douceur
ID_MODELING_SPLINE_CHAMFER_OUTIL 450000043 Chanfreinage
ID_MODELING_SPLINE_PROJECT_OUTIL 450000046 Projection
ID_MODELING_SPLINE_ROUND_OUTIL 450000039 Rond
ID_MODELING_STITCHANDSEW_OUTIL 450000011 Couture
ID_MODELING_TRANSFER_Transfert TOOL 200000069
ID_MODELING_WELD_TOOL 450000009 Rejoindre
ID_NGON_FORCERETRI_MENU 1016173 N-Mettre à jour à l'intérieur de gon
ID_NGON_REMOVE_MENU 1016174 N-Supprimer les gons
ID_NGON_RETRI_MENU 1016160 N-Toujours mettre à jour à l'intérieur de gon
ID_OBJECTHANDLES_ONOFF_MENU 1016176 Afficher l'axe
ID_OPERATORPOOL_PLUGIN 1001138 XPresso piscine
ID_SCALEDOCUMENT_Projet d'échelle CMD 200000277...
ID_SDS_DEC_MENU 1016178 Réduction du nombre de divisions de Hyper NURBS
ID_SDS_INC_MENU 1016177 Augmentation du nombre de divisions de Hyper NURBS
ID_SDS_ONFFF_MENU 1016179 Isoline Modifier
ID_TREEVIEW_PLUGIN 1001145 XPresso Manager
ID_TRIMMEDSURFACE 1015546 IGES Surface ajustée
Il y a des choses comme, oh, je pense que c'était une pièce d'identité qui entre ici. Ou plutôt, il semble que la correspondance entre l'ID et le contenu soit écrite quelque part.
Je suis tellement fatigué par ici
C'est un SDK donc ce n'est pas si convivial (biais
Au fait, une fois Tout en expliquant l'environnement Python de Cinema 4D En fait, je pense qu'il y avait un article rock sur Python (et la culture open source). Et à propos de ça (yeux lointains) Python était-il vraiment mauvais? ?? ?? ?? ?? ?? ?? ?? ??
N'y a-t-il pas de document qui mentionne explicitement ce qu'est «op»? recherchons.
Il arrive souvent que vous demandiez un id ou une valeur numérique comme argument, Quel genre de nombre dois-je entrer! Je me sens comme.
Généralement, il y a un tableau juste en dessous, et il semble que vous pouvez obtenir un identifiant en ajoutant «c4d». Au nom de l'élément. (Idem pour c4d.VERSIONTYPE_BROADCAST au début)
Par exemple, gui.MessageDialog
.
python
def main():
gui.MessageDialog('Hello World!')
gui.MessageDialog('Hello World!',c4d.GEMB_YESNOCANCEL)
print c4d.GEMB_YESNOCANCEL # -> 3
gui.MessageDialog( str(c4d.GEMB_YESNOCANCEL),3 )
J'ai ajouté 3 lignes à la fonction écrite lorsque j'en ai créé une nouvelle dans le gestionnaire de scripts. La figure est l'endroit où la troisième boîte de dialogue est affichée.
C'est bien d'écrire un nouveau code dans le gestionnaire de scripts, Si tel est le cas, le script exécuté ne sera pas sorti sur la console. (Bien que cela puisse être souhaitable)
Lorsqu'il est exécuté à partir de la ligne de commande, le contenu exécuté est également sorti sur la console. [OK] est attaché à la tête.
Au fait, le gestionnaire de scripts ne fonctionne pas? N'est-ce pas un démon?
c4d module https://developers.maxon.net/docs/Cinema4DPythonSDK/html/modules/c4d/index.html
c4d.GetC4DVersion https://developers.maxon.net/docs/Cinema4DPythonSDK/html/modules/c4d/index.html#c4d.GetC4DVersion
c4d.documents.BaseDocument (= doc) https://developers.maxon.net/docs/Cinema4DPythonSDK/html/modules/c4d.documents/BaseDocument/index.html#c4d.documents.BaseDocument
c4d.BaseObject (= op) https://developers.maxon.net/docs/Cinema4DPythonSDK/html/modules/c4d/C4DAtom/GeListNode/BaseList2D/BaseObject/index.html#c4d.BaseObject
Command Handler https://developers.maxon.net/docs/Cinema4DPythonSDK/html/modules/c4d/index.html#command-handler
c4d.gui.MessageDialog https://developers.maxon.net/docs/Cinema4DPythonSDK/html/modules/c4d.gui/index.html#c4d.gui.MessageDialog
cookbook https://developers.maxon.net/docs/Cinema4DPythonSDK/html/misc/cookbook.html Il y a deux exemples de phrases
Examples https://github.com/PluginCafe/cinema4d_py_sdk Des exemples sont disponibles sur github.
Recommended Posts