UFUN中用于实体变换矩阵的函数为:
UF_MODL_transform_entities
NXOPEN中用于装配组件变换矩阵的类为:
ComponentNetwork
它们的变换矩阵方式是不同的,前者为动态变换,后者为静态变换。
动态变换求法:
var invert = Current.Inverse();
var trans = invert.Multiply(position);
静态变换求法(先旋转后平移):
var cur = Current;
cur.Transpose();//转置
var pos = position;
pos.Transpose();//转置
var trans = cur.Inverse().Multiply(pos);
var rotation = trans.UpperLeft.ToMatrix3x3();
trans.Transpose();
var translation = trans.Translation.ToVector3d();
分享下我的两个移动相关的类(部分相关类没有提供):
public class MoveObjectBuilder
{
#region Conductor
protected MoveObjectBuilder() { }
public static Mo