def TransformPoint(point, transform):
x = point.X
y = point.Y
z = point.Z
b0 = transform.get_Basis(0)
b1 = transform.get_Basis(1)
b2 = transform.get_Basis(2)
origin = transform.Origin
xTemp = x * b0.X + y * b1.X + z * b2.X + origin.X
yTemp = x * b0.Y + y * b1.Y + z * b2.Y + origin.Y
zTemp = x * b0.Z + y * b1.Z + z * b2.Z + origin.Z
return XYZ(xTemp, yTemp, zTemp)
def ActiveProjectLocation():
projPos = doc.ActiveProjectLocation.GetProjectPosition(XYZ(0,0,0))
if projPos == None:
return ""
else:
return XYZ(projPos.EastWest*-1,projPos.NorthSouth*-1,0)
transform = Transform(Transform.CreateTranslation(ActiveProjectLocation()))
sourceFamilyLocation = XYZ(pointFromNavis.X,pointFromNavis.Y,pointFromNavis.Z)
familyLocation = TransformPoint(sourceFamilyLocation, transform)
familyInstance = doc.Create.NewFamilyInstance(familyLocation, familyType, Structure.StructuralType.NonStructural)