Hey #b3d peeps!!
Blenderのインタラクティブコンソールを使っている時に、クラスや関数などが「どのようなものか」というのを知りたいことがあります。
ただ、APIドキュメントを引いてもそのメンバーや関数を見つけるのに時間がかかることがあります。そういう場合に。
あとは単純にブラウザ開くのが億劫な時とかに。
オートコンプリート
[Ctrl]+[Space]または Autocomplete ボタンによる補完で、候補となるクラスやメンバの名前を一覧で出すことが出来ます。
>>> bpy.context.object.data. animation_data animation_data_clear( animation_data_create( as_pointer( auto_smooth_angle auto_texspace bl_rna calc_normals( calc_normals_split( calc_smooth_groups( calc_tangents( calc_tessface(
dir()関数は上記の補完時にでてくる候補の一覧を出すコマンドと理解してもらえればいいでしょう。
>>> dir(bpy.context.object.data.update)
['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
help()関数は、クラスや関数などを指定すると、コンソール上に指定したオブジェクト、関数のヘルプ文を表示します。この文はAPIドキュメントに書かれているものと同じです。
>>> help(bpy.context.object.data.update) Help on bpy_func object: class bpy_func(object) | Methods defined here: | | __call__(self, /, *args, **kwargs) | Call self as a function. | | __repr__(self, /) | Return repr(self).
どんなクラスなのか、クラスの種類を確認したい時はtype()関数。(Add−onで、メッシュやカーブといったオブジェクトタイプ判別する時はこちらではなく、メンバ変数を参照します。)
>>> type(bpy.context.object.data.update) <class 'bpy_func'> >>> type(bpy.context.object.data) <class 'bpy_types.Mesh'> >>> type(bpy.context.object) <class 'bpy_types.Object'> >>> type(bpy.context) <class 'bpy_types.Context'>
使用しているモジュールのファイルはどこにあるのかは、モジュール名を直接コンソールに。
>>> bpy <module 'bpy' from '/Applications/blender/blender.app/Contents/MacOS/../Resources/2.75/scripts/modules/bpy/__init__.py'>
パス情報は"bpy.__file__"でも取得出来ます。
help()関数実行時に、表示する行数を確保しておきましょう
help()実行時に表示されるテキストの行数が多くて、表示可能な行に入りきらないことがあります。
そのような場合には、表示行を増やす設定を行います。User Preference の Systemタブ、Console Scrollback に 1024 程度を指定しておきましょう(デフォルトは256)。