如何从Blender选中对象列表中提取Sphere后缀数字并导出到记事本
实现方法
你可以直接通过Python字符串拆分逻辑提取对应后缀,两种方案可选:
方案1:控制台输出后手动复制
运行以下代码,Blender控制台会逐行打印所有提取到的数字,直接选中复制即可粘贴到记事本:
import bpy selected_objs = bpy.context.selected_objects # 筛选Sphere开头的对象,提取后缀 num_list = [obj.name.split('.')[1] for obj in selected_objs if obj.name.startswith('Sphere.')] # 逐行打印结果 print('\n'.join(num_list))
方案2:自动写入系统剪贴板
运行以下代码后直接打开记事本按Ctrl+V即可粘贴所有结果,无需手动从控制台复制:
import bpy selected_objs = bpy.context.selected_objects num_list = [obj.name.split('.')[1] for obj in selected_objs if obj.name.startswith('Sphere.')] # 直接写入系统剪贴板 bpy.context.window_manager.clipboard = '\n'.join(num_list)
逻辑说明
- Blender中每个对象的名称存储在
obj.name属性中,格式为Sphere.001 - 用
split('.')按小数点拆分字符串,取下标为1的片段即可得到小数点后的数字部分 - 代码中加入
startswith('Sphere.')判断,避免选中其他命名规则的对象时触发报错 - 如果对象名称存在多个小数点、需要取第一个小数点后的所有内容,把拆分逻辑改成
obj.name.split('.', 1)[1]即可
内容的提问来源于stack exchange,提问作者김현우
相关产品推荐
相关产品推荐

