我不是程序员,我陷入了一个问题,也许有人可以帮助我!使用 AI 代码生成,我制作了这个脚本,其中原点跳到所选面的中心。在这一步之后,我只想将原点的 X 方向与选定的面法线方向对齐。到目前为止,我无法从 AI 生成代码。
我将不胜感激任何帮助或指导。
代码在下面!
import bpy
import bmesh
from mathutils import Vector
def set_origin_to_selected_face():
# Ensure the object is in Edit mode
bpy.ops.object.mode_set(mode='EDIT')
# Get the active object
obj = bpy.context.active_object
# Create a BMesh object
bm = bmesh.from_edit_mesh(obj.data)
# Get the selected face
selected_faces = [f for f in bm.faces if f.select]
if not selected_faces:
print("No face selected. Please select a face and try again.")
return
selected_face = selected_faces[0]
# Calculate the center of the selected face
face_center_local = selected_face.calc_center_median()
# Convert the face center from local to world coordinates
face_center_world = obj.matrix_world @ face_center_local
# Store the current cursor location and set the cursor to the face center
cursor_location = bpy.context.scene.cursor.location.copy()
bpy.context.scene.cursor.location = face_center_world
# Set the origin to the 3D cursor
bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.origin_set(type='ORIGIN_CURSOR')
# Restore the cursor location
bpy.context.scene.cursor.location = cursor_location
set_origin_to_selected_face()
希望原点的 X 方向朝向所选面的法线方向。