Нужно повернуть меш во FreeCAD

Есть меш, который я подгружаю из файла. Мне нужно повернуть его так, чтоб нормаль совпадала с вектором N = (x,y,z). Изначальная нормаль = (0,0,1). Я пытался найти эйлеровы углы поворота между векторами

import FreeCAD as App
from scipy.spatial.transform import Rotation as R

def get_rotation(vec2, vec1=np.array([0, 0, 1])):
    vec1 = np.reshape(vec1, (1, -1))
    vec2 = np.reshape(vec2, (1, -1))
    r = R.align_vectors(vec2, vec1)
    return r[0].as_euler('zyx', degrees=True)

angles = get_rotation(normalized_N)
point.Placement = App.Placement(pos,  App.Rotation(angles[0], angles[1], angles[2]))

но меш не поворачивается как мне нужно. Какой порядок поворотов я бы не ставил, это не помогает (xyz, zyx, и тд). Я как-то неправильно нахожу углы? И есть ли способ повернуть меш без нахождения углов?


Ответы (0 шт):