LoginSignup
0

More than 3 years have passed since last update.

Blender 2.9 Python 押し出し extrude

Posted at

今日の課題は押し出し機能です。 "extrude blender 2.8 python"などで検索してみても、英語日本語とも、blender 2.8 (2.9)でのextrude を使ったコードが今は少ないような印象です。数少ない資料がsuzulang資料「Blender 2.8 pythonで矢印を作る」。これをじっくり読解。「Blender 2.8 pythonで矢印を作る」の中の step 1 oshidashi部分まで流し読み extrude_region_move(TRANSFORM_OT_translate={"value":[1.0 , 0.0 , 3.0]} )のように数字入れたらなんとかなる、と解釈して、そこから試行錯誤してなんとか、
Cubeの一面を押し出し繰り返すことに成功しました。
bpy_extrude1.png

import bpy
import math
import bmesh
bpy.ops.mesh.primitive_cube_add(location=(1,0,3), size = 2) # === create a cube
# 編集モードに切り替え.
bpy.ops.object.mode_set(mode='EDIT')
# 全てのメッシュを非選択状態にする.
bpy.ops.mesh.select_all(action='DESELECT')
'''面モードにし, 一つの面を...oshidashi '''
# 面モードに設定.
bpy.ops.mesh.select_mode(type="FACE")

# bmesh オブジェクトのインスタンス化.
b_mesh = bmesh.from_edit_mesh(bpy.context.object.data)
b_mesh.faces.ensure_lookup_table()
b_mesh.faces[3].select = True # ===  face number (3) south face 

bpy.ops.mesh.extrude_region_move(TRANSFORM_OT_translate={"value":[ -0.5 , -1.0 , 0.5]} )
bpy.ops.mesh.extrude_region_move(TRANSFORM_OT_translate={"value":[ -0.5 , -1.0 , -0.5]} )
bpy.ops.mesh.extrude_region_move(TRANSFORM_OT_translate={"value":[ -0.5 , -1.0 , 0.5]} )
bpy.ops.mesh.extrude_region_move(TRANSFORM_OT_translate={"value":[ -0.5 , -1.0 , -0.5]} )

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0