If it is not possible to get the matrices from the blender, could you help me with the normal orientation matrix? To begin with, where should we take normals? With the selected vertices or faces normal link?

```
#object matrix
ob = position_matrix()
#print(bpy.context.scene.transform_orientation_slots[0].custom_orientation.matrix.to_4x4())
orig_loc, orig_rot, orig_scale = ob.decompose()
orig_scale_mat = Matrix.Scale(orig_scale[0], 4, (1, 0, 0)) @ Matrix.Scale(orig_scale[1], 4, (0, 1, 0)) @ Matrix.Scale(orig_scale[2], 4, (0, 0, 1))
uniques = bpy.context.objects_in_mode_unique_data
# Selected Object(EDIT_MODE)
bms = {}
for obj in uniques:
bms[obj] = bmesh.from_edit_mesh(obj.data)
# Selected Vertex
verts = []
for obj in bms:
verts.extend([v for v in bms[obj].verts if v.select])
# Get Faces Normal
faces_normal = []
for vert in verts:
faces_normal.extend([f.normal for f in vert.link_faces])
verts_normal = []
for obj in bms:
verts_normal.extend([v.normal for v in bms[obj].verts if v.select])
to_Sort = del_duplicate(verts_normal)
# I don't think I'm calculating the median vector correctly
mw = Vector(sum(to_Sort, Vector()) / len(to_Sort)).normalized().to_track_quat('Z', 'X').to_matrix().to_4x4()
matrix_new = orig_rot.to_matrix().to_4x4() @ orig_scale_mat.normalized() @ mw
```