« C4D Python R12 テスト:前回諦めてしまった、スプラインのセグメントをSetSegment()で再設定する | トップページ | C4D Python R12 テスト:子オブジェクトを乱数を使って5割の確立で選択するよ。 »

C4D Python R12 テスト:スプラインのポイントを選択したポイントから6個おきに選択するよ。

確か、スプラインのポイントをn個置きに選択するプラグインが、あったよね…

今回は、スプラインのポイントを6個おきに選択するテストです。

選択ポイントの先頭を基準に6個おきに…
選択ポイントが無ければ最初のポイントが基準になります。

用意するものは、歯車スプラインを編集可能の状態にしたもの。
だから今回の記事では、6個おきに選択するんだけど。

Splinepointstepselection_01

この選択したポイントから6個おきに選択するとこんな具合。

Splinepointstepselection_02

Python
'''
スプラインのポイントを6個おきに選択
'''


import c4d

def main():
    if not isinstance(op, c4d.SplineObject):return

    sel_steps = 6

    sel_pnt = op.GetPointS()

    #選択ポイントの先頭の取得
    for offset in xrange(op.GetPointCount()):
        if sel_pnt.IsSelected(offset):break
    else:
        offset = 0
   
    #ポイントの選択
    sel_pnt.DeselectAll()
    for id in xrange(op.GetPointCount()):
        if ((id - offset) % sel_steps) == 0:sel_pnt.Select(id)


if __name__=='__main__':
    main()
    c4d.EventAdd()

後は、ダイアログでも付けてステップ数を入力させてみてください。

|

« C4D Python R12 テスト:前回諦めてしまった、スプラインのセグメントをSetSegment()で再設定する | トップページ | C4D Python R12 テスト:子オブジェクトを乱数を使って5割の確立で選択するよ。 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« C4D Python R12 テスト:前回諦めてしまった、スプラインのセグメントをSetSegment()で再設定する | トップページ | C4D Python R12 テスト:子オブジェクトを乱数を使って5割の確立で選択するよ。 »