Blenderで芳香環に面を張るやつ
こんなやつです。 手作業でやると思いのほかめんどくさかったので、少し楽にしようとしました。 方針としては、 ・手作業で原子を選択する ・選択されている原子の中心座標を頂点として面を生成する ・ついでにマテリアルも設定しておく という感じです。 以下スクリプトです。 import bpy name = "plane" color = (0,0.7,0.95,1) emit = 15 ma = bpy.data.materials.new(name) ma.use_nodes = True bsdf = ma.node_tree.nodes["Principled BSDF"] bsdf.inputs[0].default_value = color bsdf.inputs[4].default_value = 0.2 bsdf.inputs[7].default_value = 0.3 bsdf.inputs[18].default_value = emit ma.diffuse_color = color if(len(bpy.context.selected_objects))>2: verts=[] face=[] idx=0 for o in bpy.context.selected_objects: verts.append(o.location) face.append(idx) idx+=1 o.select_set(False) faces=[face] mesh = bpy.data.meshes.new(name) obj = bpy.data.objects.new(name,mesh) bpy.context.collection.objects.link(obj) mesh.from_pydata(verts,[],faces) mesh.update bpy.context.view_layer.objects.active = obj bpy.ops.object.mode_set(mode