public void BasePoint_Valid() { var basepoint = Coordinates.BasePoint(); Assert.IsNotNull(basepoint); Assert.IsTrue(basepoint.Equals(Autodesk.DesignScript.Geometry.Point.Origin())); }
public void CanTransformElement() { // Arrange var delta = 0.001; var originPoint = Coordinates.BasePoint(); var fromCS = CoordinateSystem.ByOrigin(originPoint); var translatedOriginPoint = originPoint.Translate(Vector.XAxis(), 10000) as Autodesk.DesignScript.Geometry.Point; var contextCS = CoordinateSystem.ByOrigin(translatedOriginPoint).Rotate(translatedOriginPoint, Vector.ZAxis(), 25); var wall = ElementSelector.ByElementId(316150) as Revit.Elements.FamilyInstance; var rectangularColumn = ElementSelector.ByElementId(318266) as Revit.Elements.FamilyInstance; var steelColumn = ElementSelector.ByElementId(316180) as Revit.Elements.FamilyInstance; var lineBasedFamily = ElementSelector.ByElementId(317296) as Revit.Elements.FamilyInstance; var expectedRectangularColumnLocation = Autodesk.DesignScript.Geometry.Point.ByCoordinates(4665.007, -2577.392, 0); var expectedLineBasedFamilyLocation = Autodesk.DesignScript.Geometry.Line.ByStartPointEndPoint(Autodesk.DesignScript.Geometry.Point.ByCoordinates(6030.576, -1719.941, 0), Autodesk.DesignScript.Geometry.Point.ByCoordinates(7059.036, -494.270, 0)); var originalRectangularColumnLocation = Autodesk.DesignScript.Geometry.Point.ByCoordinates(-5924.398, -81.245, 0);; var originalLineBasedFamilyLocation = Autodesk.DesignScript.Geometry.Line.ByStartPointEndPoint(Autodesk.DesignScript.Geometry.Point.ByCoordinates(-4324.398, 118.755, 0), Autodesk.DesignScript.Geometry.Point.ByCoordinates(-2724.398, 118.755, 0)); // Act var transformlineBasedFamily = lineBasedFamily.Transform(fromCS, contextCS); var transformedlineBasedFamilyLocation = transformlineBasedFamily.GetLocation() as Autodesk.DesignScript.Geometry.Line; var transformRectangularColumn = rectangularColumn.Transform(fromCS, contextCS); var transformedRectangularColumnLocation = transformRectangularColumn.GetLocation() as Autodesk.DesignScript.Geometry.Point; var wallEx = Assert.Throws <System.NullReferenceException>(() => wall.Transform(fromCS, contextCS)); var steelColumnEx = Assert.Throws <System.NullReferenceException>(() => steelColumn.Transform(fromCS, contextCS)); // Assert - Elements have moved Assert.AreNotEqual(originalRectangularColumnLocation.X, transformedRectangularColumnLocation.X); Assert.AreNotEqual(originalRectangularColumnLocation.Y, transformedRectangularColumnLocation.Y); Assert.AreNotEqual(originalLineBasedFamilyLocation.StartPoint.X, transformedlineBasedFamilyLocation.StartPoint.X); Assert.AreNotEqual(originalLineBasedFamilyLocation.StartPoint.Y, transformedlineBasedFamilyLocation.StartPoint.Y); // Assert - Elements are in correct position Assert.AreEqual(expectedRectangularColumnLocation.X, transformedRectangularColumnLocation.X, delta); Assert.AreEqual(expectedRectangularColumnLocation.Y, transformedRectangularColumnLocation.Y, delta); Assert.AreEqual(expectedLineBasedFamilyLocation.StartPoint.X, transformedlineBasedFamilyLocation.StartPoint.X, delta); Assert.AreEqual(expectedLineBasedFamilyLocation.StartPoint.Y, transformedlineBasedFamilyLocation.StartPoint.Y, delta); }