Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -271,14 +271,16 @@ def run_triposg(image_path: str,
|
|
| 271 |
|
| 272 |
# Merge and color
|
| 273 |
merged = get_colored_mesh_composition(outputs)
|
|
|
|
| 274 |
|
| 275 |
|
| 276 |
-
|
| 277 |
-
merged.export(
|
| 278 |
|
| 279 |
-
|
| 280 |
-
|
| 281 |
-
|
|
|
|
| 282 |
|
| 283 |
def cleanup(request: gr.Request):
|
| 284 |
|
|
@@ -295,7 +297,7 @@ def build_demo():
|
|
| 295 |
css = """
|
| 296 |
#col-container {
|
| 297 |
margin: 0 auto;
|
| 298 |
-
max-width:
|
| 299 |
}
|
| 300 |
"""
|
| 301 |
theme = gr.themes.Ocean()
|
|
@@ -345,6 +347,7 @@ def build_demo():
|
|
| 345 |
)
|
| 346 |
with gr.Row(scale=2):
|
| 347 |
output_model = gr.Model3D(label="Merged 3D Object")
|
|
|
|
| 348 |
output_dir = gr.Textbox(label="Export Directory", visible=False)
|
| 349 |
with gr.Row(scale=1):
|
| 350 |
download_zip = gr.File(label="Download All Parts (zip)")
|
|
@@ -367,7 +370,7 @@ def build_demo():
|
|
| 367 |
|
| 368 |
],
|
| 369 |
inputs=[input_image, num_parts],
|
| 370 |
-
outputs=[output_model, output_dir, download_zip],
|
| 371 |
fn=run_triposg,
|
| 372 |
cache_examples=True,
|
| 373 |
)
|
|
@@ -375,7 +378,7 @@ def build_demo():
|
|
| 375 |
run_button.click(fn=run_triposg,
|
| 376 |
inputs=[input_image, num_parts, seed, num_tokens, num_steps,
|
| 377 |
guidance, flash_decoder, remove_bg, session_state],
|
| 378 |
-
outputs=[output_model, output_dir, download_zip])
|
| 379 |
return demo
|
| 380 |
|
| 381 |
if __name__ == "__main__":
|
|
|
|
| 271 |
|
| 272 |
# Merge and color
|
| 273 |
merged = get_colored_mesh_composition(outputs)
|
| 274 |
+
split_mesh = explode_mesh(merged)
|
| 275 |
|
| 276 |
|
| 277 |
+
merged_path = os.path.join(export_dir, "object.glb")
|
| 278 |
+
merged.export(merged_path)
|
| 279 |
|
| 280 |
+
split_preview_path = os.path.join(export_dir, "object.glb")
|
| 281 |
+
split_mesh.export(split_preview_path)
|
| 282 |
+
|
| 283 |
+
return merged_path, split_preview_path, export_dir, zip_path
|
| 284 |
|
| 285 |
def cleanup(request: gr.Request):
|
| 286 |
|
|
|
|
| 297 |
css = """
|
| 298 |
#col-container {
|
| 299 |
margin: 0 auto;
|
| 300 |
+
max-width: 1280px;
|
| 301 |
}
|
| 302 |
"""
|
| 303 |
theme = gr.themes.Ocean()
|
|
|
|
| 347 |
)
|
| 348 |
with gr.Row(scale=2):
|
| 349 |
output_model = gr.Model3D(label="Merged 3D Object")
|
| 350 |
+
split_model = gr.Model3D(label="Split Preview")
|
| 351 |
output_dir = gr.Textbox(label="Export Directory", visible=False)
|
| 352 |
with gr.Row(scale=1):
|
| 353 |
download_zip = gr.File(label="Download All Parts (zip)")
|
|
|
|
| 370 |
|
| 371 |
],
|
| 372 |
inputs=[input_image, num_parts],
|
| 373 |
+
outputs=[output_model, split_model, output_dir, download_zip],
|
| 374 |
fn=run_triposg,
|
| 375 |
cache_examples=True,
|
| 376 |
)
|
|
|
|
| 378 |
run_button.click(fn=run_triposg,
|
| 379 |
inputs=[input_image, num_parts, seed, num_tokens, num_steps,
|
| 380 |
guidance, flash_decoder, remove_bg, session_state],
|
| 381 |
+
outputs=[output_model, split_model, output_dir, download_zip])
|
| 382 |
return demo
|
| 383 |
|
| 384 |
if __name__ == "__main__":
|