DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="0.9.0-beta" />

 Helix

public class Helix : Curve
using Autodesk.DesignScript.Interfaces; using Autodesk.DesignScript.Runtime; using System.Collections.Generic; using System.Globalization; using System.Linq; namespace Autodesk.DesignScript.Geometry { public class Helix : Curve { internal IHelixEntity HelixEntity => HostImpl as IHelixEntity; public double Angle => HelixEntity.Angle; public double Pitch => HelixEntity.Pitch; public double Radius => HelixEntity.Radius; public Vector AxisDirection => Vector.Wrap(HelixEntity.AxisDirection, true); public Point AxisPoint => Point.Wrap(HelixEntity.AxisPoint, true); internal Helix(IHelixEntity host, bool persist) : base(host, persist) { } public override string ToString() { return "Helix(Angle = " + Angle.ToString(GeometryExtension.DoublePrintFormat, CultureInfo.InvariantCulture) + ", Pitch = " + Pitch.ToString(GeometryExtension.DoublePrintFormat, CultureInfo.InvariantCulture) + ", Radius = " + Radius.ToString(GeometryExtension.DoublePrintFormat, CultureInfo.InvariantCulture) + ", AxisDirection = " + AxisDirection + ", AxisPoint = " + AxisPoint + ")"; } internal new static void InitType() { Geometry.RegisterHostType(typeof(IHelixEntity), (IGeometryEntity host, bool persist) => new Helix(host as IHelixEntity, persist)); } internal static Helix Wrap(IHelixEntity host, bool persist = true) { return Geometry.Wrap(host, false, null) as Helix; } internal static Helix[] Wrap(IHelixEntity[] hosts, bool persist = true) { return (from x in hosts select Wrap(x, persist)).ToArray(); } internal static Helix[][] Wrap(IHelixEntity[][] hosts, bool persist = true) { return (from x in hosts select Wrap(x, persist)).ToArray(); } internal static IHelixEntity[][] Unwrap(Helix[][] o) { return (from x in o select Unwrap(x)).ToArray(); } internal static IHelixEntity[] Unwrap(Helix[] o) { return (from x in o select Unwrap(x)).ToArray(); } internal static IHelixEntity[] Unwrap(IEnumerable<Helix> o) { return (from x in o select Unwrap(x)).ToArray(); } internal static IHelixEntity Unwrap(Helix o) { return o.HelixEntity; } public static Helix ByAxis([DefaultArgument("Point.ByCoordinates(0, 0, 0)")] Point axisPoint, [DefaultArgument("Vector.ByCoordinates(0, 0, 1)")] Vector axisDirection, [DefaultArgument("Point.ByCoordinates(1, 0, 0)")] Point startPoint, double pitch = 1, double angleTurns = 360) { return Wrap(HostFactory.Factory.HelixByAxis(Point.Unwrap(axisPoint), Vector.Unwrap(axisDirection), Point.Unwrap(startPoint), pitch, angleTurns), true); } } }