3DOBJ / generate_3d_object.py
Doubleupai's picture
Update generate_3d_object.py
a4cbfaf verified
import trimesh
import gradio as gr
import os
def generate_3d_object(shape_type, radius, width, height):
if shape_type == "Sphere":
mesh = trimesh.creation.icosphere(radius=radius)
elif shape_type == "Box":
mesh = trimesh.creation.box(extents=[width, height, radius])
else:
raise ValueError("Unsupported shape type")
# Save the mesh to a file
output_file = "generated_object.obj"
mesh.export(output_file)
return output_file
# Create the Gradio interface
iface = gr.Interface(
fn=generate_3d_object,
inputs=[
gr.Dropdown(choices=["Sphere", "Box"], label="Shape Type"),
gr.Number(label="Radius"),
gr.Number(label="Width (for Box)"),
gr.Number(label="Height (for Box)")
],
outputs=gr.Model3D(label="Generated 3D Object"),
title="3D Object Generator",
description="Generate 3D objects like spheres and boxes.",
flagging_dir=os.path.join(os.getcwd(), "flagged") # Specify the flagging directory
)
# Launch the interface
iface.launch()