blender 3.4.1 python 10x10 の平面 作る
c
togetter.com/t/c2022meetzionad
togetter.com/t/b2022meetzionad
twitter 新着検索 Dürer & 測距儀
aaa
bbb
ccc twitter zionadchat
twitter に追い出されたら 連絡先は Gettr https://gettr.com/user/zionadchat
twitter サブアカウント https://twitter.com/2022zionad
old page いいい
new page いいい
目次 2022の目次 単純トリック hatena zionadchat
いいいいいいいい
Blenderを使用して、10x10の平面を作成するには、次の手順に従います。
Blenderを開きます。
3D Viewportエディターを選択します。
メッシュを作成するための追加オプションを表示するため、Shift + Aキーを押します。
「Mesh」を選択し、「Plane」をクリックします。
3D Viewportエディター上に、10x10の平面が表示されます。
平面を選択したまま、Nキーを押してサイドバーを開き、サイズを10に設定します。
平面を選択したまま、Tabキーを押して、編集モードに入ります。
選択モードを有効にするには、2キーを押します。
平面の4つの角を選択し、Sキーを押してスケールします。
平面を選択したまま、Tabキーを再び押して、オブジェクトモードに戻ります。
これで、Blenderで10x10の平面が作成されました。
import math 追加
import bpy
import math
# 平面を作成
bpy.ops.mesh.primitive_plane_add(size=10)
# オブジェクトを選択
obj = bpy.context.active_object
# サイズを設定
obj.scale = (10, 10, 1)
中心に 半径1の円で 穴を空けて
Blenderで中心に半径1の円で穴を空けた平面を作成するには、以下の手順を実行します。
Blenderを開きます。
3D Viewportエディターを選択します。
メッシュを作成するための追加オプションを表示するため、Shift + Aキーを押します。
「Mesh」を選択し、「Plane」をクリックします。
3D Viewportエディター上に、平面が表示されます。
平面を選択したまま、Nキーを押してサイドバーを開き、サイズを10に設定します。
平面を選択したまま、Tabキーを押して、編集モードに入ります。
選択モードを有効にするには、2キーを押します。
平面の4つの角を選択し、Sキーを押してスケールします。
平面を選択したまま、Tabキーを再び押して、オブジェクトモードに戻ります。
「Add Modifier」をクリックし、メニューから「Solidify」を選択します。
Solidify Modifierの厚みを1に設定します。
「Add Modifier」を再度クリックし、メニューから「Boolean」を選択します。
Boolean Modifierの「Operation」を「Difference」に設定します。
「Object」フィールドに「Empty」を設定します。
穴を空けたい場所にEmptyオブジェクトを追加します。これは、円を配置する場所に相当します。
「Object Data Properties」タブに移動し、「Add Object」をクリックします。
「Circle」を選択し、半径1の円を作成します。
穴を空けたい場所に円を移動します。
穴を空けるために、円を選択した状態で「Object」フィールドにEmptyオブジェクトを設定します。
Boolean Modifierが適用され、平面に半径1の穴が作成されます。
以上の手順で、Blenderで中心に半径1の円で穴を空けた平面を作成することができます。これをPythonで行う場合、上記の手順12〜21を以下のように書き換えることができます。
冒頭に import math を追加し、平面から半径1の円をくり抜くPythonスクリプトは以下のようになります。
import bpy
import math
# 平面を作成
bpy.ops.mesh.primitive_plane_add(size=10)
# オブジェクトを選択
obj = bpy.context.active_object
# Solidify Modifierを追加し、厚みを設定
solidify_mod = obj.modifiers.new(name="Solidify", type='SOLIDIFY')
solidify_mod.thickness = 0.1
# Emptyオブジェクトを作成
empty = bpy.data.objects.new("Empty", None)
bpy.context.scene.collection.objects.link(empty)
# 円を作成
circle = bpy.data.meshes.new("Circle")
verts = []
edges = []
faces = []
angle = 0
num_segments = 32
radius = 1
for i in range(num_segments):
x = math.cos(angle) * radius
y = math.sin(angle) * radius
angle += 2 * math.pi / num_segments
verts.append((x, y, 0))
if i < num_segments - 1:
edges.append((i, i + 1))
else:
edges.append((i, 0))
faces.append(list(range(num_segments)))
circle.from_pydata(verts, edges, faces)
circle.update()
# Emptyオブジェクトに円を割り当て
circle_obj = bpy.data.objects.new("Circle", circle)
empty.instance_collection = bpy.data.collections.new("Circle_Collection")
empty.instance_collection.objects.link(circle_obj)
# 円を平面に適用
bool_mod = obj.modifiers.new(name="Boolean", type="BOOLEAN")
bool_mod.operation = 'DIFFERENCE'
bool_mod.object = empty
c
bbb
c
togetter.com/t/c2022meetzionad
togetter.com/t/b2022meetzionad
twitter 新着検索 Dürer & 測距儀
aaa
bbb
ccc twitter zionadchat
twitter に追い出されたら 連絡先は Gettr https://gettr.com/user/zionadchat
twitter サブアカウント https://twitter.com/2022zionad
old page いいい
new page いいい
目次 2022の目次 単純トリック hatena zionadchat
いいいいいいいい