Esempio n. 1
0
        public override Value Evaluate(FSharpList <Value> args)
        {
            var curveRef = ((Value.Container)args[0]).Item as Reference;

            Curve curve = null;

            var el = ((Value.Container)args[0]).Item as CurveElement;

            if (el != null)
            {
                var crvEl = el;
                curve = crvEl.GeometryCurve;
            }
            else
            {
                curve = curveRef == null
                              ? (Curve)((Value.Container)args[0]).Item
                              : (Curve)
                        dynRevitSettings.Doc.Document.GetElement(curveRef.ElementId)
                        .GetGeometryObjectFromReference(curveRef);
            }


            var start = curve.get_EndParameter(0);
            var end   = curve.get_EndParameter(1);

            return(Value.NewContainer(DSCoreNodes.Domain.ByMinimumAndMaximum(start, end)));
        }