three / app.py
sudo-soldier's picture
Update app.py
704e4c9 verified
raw
history blame
1.12 kB
import gradio as gr
import os
def load_mesh_with_info(mesh_file):
if not mesh_file:
return None, "No file selected"
file_size = os.path.getsize(mesh_file) / 1024
return mesh_file, f"File: {os.path.basename(mesh_file)}, Size: {file_size:.2f} KB"
with gr.Blocks() as demo:
gr.Markdown(
"""
# [Three](https://huggingface.co/spaces/sudo-soldier/three)
"""
)
with gr.Row():
model_input = gr.Model3D(label="Upload a 3D Model")
file_info = gr.Text(label="File Info")
model_output = gr.Model3D(clear_color=[0.1, 0.1, 0.1, 1.0], label="Preview Model")
model_input.change(load_mesh_with_info, inputs=model_input, outputs=[model_output, file_info])
examples = [
[os.path.join(os.path.dirname(__file__), "files/model1.glb")],
[os.path.join(os.path.dirname(__file__), "files/model2.glb")],
[os.path.join(os.path.dirname(__file__), "files/model3.glb")],
[os.path.join(os.path.dirname(__file__), "files/model4.glb")],
]
demo.examples = examples
if __name__ == "__main__":
demo.launch()