« C4D Python R12 テスト:ポリゴンのポイントのグローバル座標 | トップページ | C4D Python R13 テスト:ローカル座標からグローバル座標へ、更に違うローカル座標へ »

C4D Python R12 テスト:現在の編集モードを取得

あれ?以前に書かなかったけか…
ポイントモードとかポリゴンモード、オブジェクトモードとか取得するの…
C.O.F.F.E.E.だったけか?

現在の編集モードの取得は…
BaseDocument.GetMode()

編集モードの変更は、
BaseDocument.SetMode()

Mcamera カメラモード
Mobject オブジェクトモード
Mtexture テクスチャモード
Mtextureaxis テクスチャ軸モード
Mpoints ポイントモード
Medges エッジモード
Mpolygons ポリゴンモード
Manimation アニメーションモード
Mkinematic インバースキネマティクスモード
Mmodel モデルモード
Mpaint 3Dペイントモード
Muvpoints UVポイント編集モード
Muvpolygons UVポリゴン編集モード
Mdrag
Mpolyedgepoint

最下2つは、よくわかりません…

C4D R12までは、オブジェクト軸モードが単独のモードだったけど、R13からは単独のモードではなくなったので、Maxisが削除されたようだね…
C4D Python SDK DocumentにはMaxisが、まだ残っていますが…
そりゃそうか…SDKは、まだR12だったね…

あれっ…もしかして、SDK 13がアップされているかなぁ…
後で確認…

とりあえず、適当な編集モード(ポイントモード以外)を選択して…
オブジェクトは、要らないけどね。

Editmode_01

以下のテストスクリプトを実行…

Python
'''
編集モードの取得と変更
'''

import c4d
   
   
def main():
    E_mode = doc.GetMode()

    if E_mode == c4d.Mcamera:
        print 'カメラモード'
    elif E_mode == c4d.Mobject:
        print 'オブジェクトモード'
    elif E_mode == c4d.Mtexture:
        print 'テクスチャモード'
    elif E_mode == c4d.Mtextureaxis:
        print 'テクスチャ軸モード'
    elif E_mode == c4d.Mpoints:
        print 'ポイントモード'
    elif E_mode == c4d.Medges:
        print 'エッジモード'
    elif E_mode == c4d.Mpolygons:
        print 'ポリゴンモード'
    elif E_mode == c4d.Manimation:
        print 'アニメーションモード'
    elif E_mode == c4d.Mkinematic:
        print 'インバースキネマティクスモード'
    elif E_mode == c4d.Mmodel:
        print 'モデルモード'
    elif E_mode == c4d.Mpaint:
        print '3Dペイントモード'
    elif E_mode == c4d.Muvpoints:
        print 'UVポイント編集モード'
    elif E_mode == c4d.Muvpolygons:
        print 'UVポリゴン編集モード'
   
    doc.SetMode(c4d.Mpoints)
   
   
if __name__=='__main__':
    main()
ポリゴンモード

実行すると現在の編集モードがコンソールに表示され、編集モードはポイントモードへ変更されます。

|

« C4D Python R12 テスト:ポリゴンのポイントのグローバル座標 | トップページ | C4D Python R13 テスト:ローカル座標からグローバル座標へ、更に違うローカル座標へ »