# Connect outer top ring to inner ring for i in range(segments): i_next = (i + 1) % segments bm.faces.new((verts_top[i], verts_top[i_next], inner_verts[i_next], inner_verts[i]))
import bpy import bmesh import math from mathutils import Vector optima interior
# Optional: Add thickness? Actually this is a thin shell, but the prompt "solid piece" suggests a volumetric form. # Let's add thickness by extruding the entire shape downward, but that duplicates geometry. Instead, we create a true solid by adding a bottom layer. # Better: create a thicker base by extruding bottom ring down. # Connect outer top ring to inner ring