private Transform AddTransform(Transform tran1, Transform tran2)
{
Autodesk.Revit.DB.XYZ xyz = new Autodesk.Revit.DB.XYZ (0, 0, 0);
Transform result = Transform.get_Translation(xyz);
result.Origin = MathUtil.AddXYZ(tran1.Origin, tran2.Origin);
Autodesk.Revit.DB.XYZ[] left = new Autodesk.Revit.DB.XYZ[3];
Autodesk.Revit.DB.XYZ[] right = new Autodesk.Revit.DB.XYZ[3];
for (int i = 0; i < 3; i++)
{
left[i] = tran1.get_Basis(i);
right[i] = tran2.get_Basis(i);
}
Autodesk.Revit.DB.XYZ[] temp = MathUtil.MultiCross(left, right);
for (int i = 0; i < 3; i++)
{
result.set_Basis(i, temp[i]);
}
return result;
}