Spaces:
Paused
Paused
File size: 1,581 Bytes
ada93da |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# render_ldr.py
import bpy, sys, os
# -------- 参数(按需改) --------
ldr_path = "/public/home/wangshuo/gap/assembly/data/blue classic car/modified_blue classic car.ldr"
output_png = "./output.png"
# 可选:LDraw零件库位置(很多插件会在首选项里配置;这里仅演示)
ldraw_dir = "/public/home/wangshuo/gap/assembly/data/LDRAW/ldraw" # 含 /parts /p 等子文件夹
# --------------------------------
# 确保插件已启用(名称以你安装的插件为准,常见 io_scene_ldraw)
try:
bpy.ops.import_scene.ldraw # 如果没报错,说明有这个 operator
except AttributeError:
raise RuntimeError("请先在 Blender 中安装并启用 LDraw 导入插件(ImportLDraw)。")
# 清空默认场景
bpy.ops.wm.read_factory_settings(use_empty=True)
# 导入 LDraw
# 具体参数名可能随插件版本不同,最常见的是 filepath / ldraw_path
kwargs = {"filepath": ldr_path}
if os.path.isdir(ldraw_dir):
kwargs["ldraw_path"] = ldraw_dir
bpy.ops.import_scene.ldraw(**kwargs)
# 简单放置一个相机与灯光
scene = bpy.context.scene
if not scene.camera:
bpy.ops.object.camera_add(location=(0, -8, 5), rotation=(1.1, 0, 0))
scene.camera = bpy.context.object
# 太阳光
bpy.ops.object.light_add(type='SUN', location=(5, -5, 10))
# 渲染设置
scene.render.engine = "CYCLES" # 或 "BLENDER_EEVEE"
scene.cycles.samples = 64
scene.render.resolution_x = 1024
scene.render.resolution_y = 1024
scene.render.filepath = output_png
# 渲染
bpy.ops.render.render(write_still=True)
print("Saved:", output_png)
|