Spaces:
Sleeping
Sleeping
| # /// script | |
| # dependencies = [ | |
| # "bpy==4.2.0", | |
| # "marimo", | |
| # "numpy==2.1.2", | |
| # ] | |
| # /// | |
| import marimo | |
| __generated_with = "0.9.9" | |
| app = marimo.App(width="medium") | |
| def __(): | |
| import numpy | |
| import bpy | |
| import time | |
| import random | |
| import marimo as mo | |
| import sys | |
| import tempfile | |
| print(sys.version) | |
| return bpy, mo, numpy, random, sys, tempfile, time | |
| def __(mo): | |
| w = mo.ui.file(kind="area") | |
| w | |
| return (w,) | |
| def __(tempfile, w): | |
| file_content = w.contents() | |
| # Create a temporary file to save the content | |
| if file_content: | |
| with tempfile.NamedTemporaryFile(suffix=".blend", delete=False) as temp_file: | |
| temp_file.write(file_content) | |
| temp_file_path = temp_file.name | |
| return file_content, temp_file, temp_file_path | |
| def __(bpy, file_content, mo, temp_file_path, time): | |
| start_time = time.time() | |
| # Load the temporary .blend file into Blender | |
| if file_content: | |
| bpy.ops.wm.open_mainfile(filepath=temp_file_path) | |
| # Set render engine and resolution | |
| bpy.context.scene.render.engine = 'BLENDER_WORKBENCH' | |
| bpy.context.scene.render.resolution_x = 500 | |
| bpy.context.scene.render.resolution_y = 200 | |
| # Render and save the image without any rotation | |
| bpy.ops.render.render() | |
| bpy.data.images["Render Result"].save_render(filepath="test.png") | |
| end_time = time.time() | |
| print(f"Script execution time: {end_time - start_time:.4f} seconds") | |
| # Display the image | |
| mo.image(src="test.png") # Uncomment this line if you have a way to display images | |
| return end_time, start_time | |
| if __name__ == "__main__": | |
| app.run() | |