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)