Blender Python脚本:前视图选择网格左半部分(排除中心顶点)
Blender 自动选择前视图左半网格(排除中心线顶点)脚本
核心修改逻辑非常简单:前视图下网格左右方向对应物体局部坐标系的X轴,中心线上的顶点X坐标为0,原有方案选中中心线顶点是因为判断条件用了「X小于等于0」,只要把判断条件改为X严格小于0(加极小阈值规避浮点误差),就能直接排除中心线顶点,不需要改动其他逻辑。
可直接运行的完整脚本
import bpy import bmesh # 校验当前选中对象为网格类型 active_obj = bpy.context.active_object if not active_obj or active_obj.type != "MESH": raise Exception("请先选中目标网格对象") # 切换到编辑模式,清空已有选择 bpy.ops.object.mode_set(mode="EDIT") bpy.ops.mesh.select_all(action="DESELECT") bm = bmesh.from_edit_mesh(active_obj.data) # 顶点选择核心逻辑 threshold = -1e-6 # 浮点误差容错阈值,可根据需求调整 for vert in bm.verts: # 仅选中X坐标小于阈值的顶点,自动排除X≈0的中心线顶点 if vert.co.x < threshold: vert.select = True # 更新网格选择状态,切换到顶点选择模式 bmesh.update_edit_mesh(active_obj.data) bpy.context.tool_settings.mesh_select_mode = (True, False, False)
使用说明
- 运行脚本前先选中需要操作的网格对象
- 脚本会自动进入编辑模式,清空原有选择后选中所有左半部分顶点
- 阈值参数可以根据自己的建模精度需求调整,数值越大排除的中心线附近顶点范围越宽
注意:脚本中设置
-1e-6的容错阈值,是为了规避Blender建模过程中常见的浮点精度误差,避免把本应属于中心线、实际坐标为0.0000002这类极小值的顶点误选。如果你的模型中心线顶点坐标严格为0,也可以直接将判断条件写为vert.co.x < 0。
内容的提问来源于stack exchange,提问作者axe
相关产品推荐
相关产品推荐

