首先
如果你不知道你的点是mesh还是pointcloud就打开
左上角

# 获取当前选中的对象(确保仅选中 1 个 PLY 对象)
obj = bpy.context.active_object
# 判断是否为 Mesh 类型(核心命令)
is_mesh = isinstance(obj.data, bpy.types.Mesh)
# 输出结果(True 表示是 Mesh,False 表示不是)
print(f"当前选中对象是否为 Mesh: {is_mesh}")
# 额外:查看对象类型和名称(确认是否是导入的 PLY)
print(f"对象名称: {obj.name}")
print(f"对象数据类型: {type(obj.data)}")

然后知道它的范围
if obj and is_mesh: vertices = obj.data.vertices; coords = [v.co for v in vertices]; min_x, max_x = min(c.x for c in coords), max(c.x for c in coords); min_y, max_y = min(c.y for c in coords), max(c.y for c in coords); min_z, max_z = min(c.z for c in coords), max(c.z for c in coords); print("\n本地坐标范围:"); print(f"X: [{min_x:.4f}, {max_x:.4f}]"); print(f"Y: [{min_y:.4f}, {max_y:.4f}]"); print(f"Z: [{min_z:.4f}, {max_z:.4f}]"); print(f"顶点总数: {len(vertices)}")

接下来干四个事情:1.创建material 2.GeometryNodes将mesh转为pointcloud从而可以设置点的材料和颜色3.在Shader Editor中将坐标映射成颜色分布4.调整渲染模式
1.
2.
3.
4.