public void ByCurveAndEqualDivisions_ValidArgs() { // create spline var pts = new[] { Point.ByCoordinates(0, 0, 0), Point.ByCoordinates(1, 0, 0), Point.ByCoordinates(3, 0, 0), Point.ByCoordinates(10, 0, 0), Point.ByCoordinates(12, 0, 0) }; var spline = NurbsCurve.ByControlPoints(pts, 3); Assert.NotNull(spline); // build model curve from spline var modCurve = ModelCurve.ByCurve(spline); Assert.NotNull(modCurve); // build dividedPath var divPath = DividedPath.ByCurveAndDivisions(modCurve.ElementCurveReference, 5); Assert.NotNull(divPath); }
public void ByPointsOnCurve_ValidInput() { // create spline var pts = new Autodesk.DesignScript.Geometry.Point[] { Point.ByCoordinates(0, 0, 0), Point.ByCoordinates(1, 0, 0), Point.ByCoordinates(3, 0, 0), Point.ByCoordinates(10, 0, 0), Point.ByCoordinates(12, 0, 0), }; var spline = NurbsCurve.ByControlPoints(pts, 3); Assert.NotNull(spline); // build model curve from spline var modCurve = ModelCurve.ByCurve(spline); Assert.NotNull(modCurve); // obtain the family from the document var fs = FamilySymbol.ByName("3PointAC"); // build the AC var parms = new double[] { 0, 0.5, 1 }; var ac = AdaptiveComponent.ByParametersOnCurveReference(parms, modCurve.ElementCurveReference, fs); Assert.NotNull(ac); }
public void Points() { // create spline var pts = new[] { Point.ByCoordinates(0, 0, 0), Point.ByCoordinates(1, 0, 0), Point.ByCoordinates(3, 0, 0), Point.ByCoordinates(10, 0, 0), Point.ByCoordinates(12, 0, 0) }; var spline = NurbsCurve.ByControlPoints(pts, 3); Assert.NotNull(spline); // build model curve from spline var modCurve = ModelCurve.ByCurve(spline); Assert.NotNull(modCurve); // build dividedPath var divPath = DividedPath.ByCurveAndDivisions(modCurve.ElementCurveReference, 5); Assert.NotNull(divPath); foreach (var pt in divPath.Points) { Assert.IsTrue(pts.Any(x => x.ShouldBeApproximately(pt))); } }
public void ByParameterOnCurveReference_ValidInput() { var l = Line.ByStartPointEndPoint(Point.ByCoordinates(0, 0, 0), Point.ByCoordinates(1, 0, 0)); var modelCurve = ModelCurve.ByCurve(l); var pt = ReferencePoint.ByParameterOnCurveReference(modelCurve.ElementCurveReference, 0.5); Assert.NotNull(pt); Assert.AreEqual(0.5, pt.X); Assert.AreEqual(0, pt.Y); Assert.AreEqual(0, pt.Z); }
public void ByCurve_ValidArgs() { var line = Line.ByStartPointEndPoint(Point.ByCoordinates(0, 0, 0), Point.ByCoordinates(1, 1, 1)); Assert.NotNull(line); var modelCurve = ModelCurve.ByCurve(line); Assert.NotNull(line); var curveRef = modelCurve.ElementCurveReference; Assert.NotNull(curveRef); }
public void ByCurve_Curve_AcceptsStraightDegree3NurbsCurve() { var points = Enumerable.Range(0, 10) .Select(x => Autodesk.DesignScript.Geometry.Point.ByCoordinates(x, 0)); var nurbsCurve = NurbsCurve.ByPoints(points, 3); var modelCurve = ModelCurve.ByCurve(nurbsCurve); Assert.NotNull(nurbsCurve); modelCurve.Curve.Length.ShouldBeApproximately(9); modelCurve.Curve.StartPoint.ShouldBeApproximately(Point.Origin()); modelCurve.Curve.EndPoint.ShouldBeApproximately(Point.ByCoordinates(9, 0, 0)); }
public void ByCurve_ValidArgs() { var line = Line.ByStartPointEndPoint(Point.ByCoordinates(0, 0, 0), Point.ByCoordinates(1, 1, 1)); Assert.NotNull(line); var modelCurve = ModelCurve.ByCurve(line); Assert.NotNull(line); var curveRef = modelCurve.ElementCurveReference; Assert.NotNull(curveRef); var curve = modelCurve.Curve; curve.Length.ShouldBeApproximately(Math.Sqrt(3.0)); }
public void Create_ValidArgs() { var line1 = Line.ByStartPointEndPoint(Point.ByCoordinates(0, 0, 0), Point.ByCoordinates(0, 6, 0)); ModelCurve mc1 = ModelCurve.ByCurve(line1); var line2 = Line.ByStartPointEndPoint(Point.ByCoordinates(2, 0, 0), Point.ByCoordinates(2, 6, 0)); ModelCurve mc2 = ModelCurve.ByCurve(line2); System.Collections.Generic.List <Element> elements = new System.Collections.Generic.List <Element>() { mc1, mc2 }; var line3 = Line.ByStartPointEndPoint(Point.ByCoordinates(0, 3, 0), Point.ByCoordinates(2, 3, 0)); var dim = Dimension.ByElements(Revit.Application.Document.Current.ActiveView, elements, line3); Assert.NotNull(dim); dim.InternalRevitElement.Value.Value.ShouldBeApproximately(2.0); }
public void ByCurveAndEqualDivisions_InvalidDivisions() { // create spline var pts = new[] { Point.ByCoordinates(0, 0, 0), Point.ByCoordinates(1, 0, 0), Point.ByCoordinates(3, 0, 0), Point.ByCoordinates(10, 0, 0), Point.ByCoordinates(12, 0, 0) }; var spline = NurbsCurve.ByControlPoints(pts, 3); Assert.NotNull(spline); // build model curve from spline var modCurve = ModelCurve.ByCurve(spline); Assert.NotNull(modCurve); // build dividedPath Assert.Throws(typeof(Exception), () => DividedPath.ByCurveAndDivisions(modCurve.ElementCurveReference, 0)); }
public void Points() { // create spline var pts = new[] { Point.ByCoordinates(0, 0, 0), Point.ByCoordinates(1, 0, 0), Point.ByCoordinates(3, 0, 0), Point.ByCoordinates(10, 0, 0), Point.ByCoordinates(12, 0, 0) }; var spline = NurbsCurve.ByControlPoints(pts, 3); Assert.NotNull(spline); // build model curve from spline var modCurve = ModelCurve.ByCurve(spline); Assert.NotNull(modCurve); // build dividedPath var divPath = DividedPath.ByCurveAndDivisions(modCurve.ElementCurveReference, 5); Assert.NotNull(divPath); var divPathPts = divPath.Points; Assert.AreEqual(5, divPathPts.Count()); foreach (var pt in divPathPts) { // all of the points should be along the curve spline.DistanceTo(pt).ShouldBeApproximately(0); } }