DynamoVisualProgramming.ZeroTouchLibrary by Autodesk

<PackageReference Include="DynamoVisualProgramming.ZeroTouchLibrary" Version="4.2.0-beta5387" />

 Cuboid

public class Cuboid : Solid
using Autodesk.DesignScript.Interfaces; using Autodesk.DesignScript.Runtime; using ProtoGeometryGenerator; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Autodesk.DesignScript.Geometry { [GenerateFromInterface(typeof(ICuboidEntity), typeof(IGeometryFactory), new Type[] { })] public class Cuboid : Solid { internal ICuboidEntity CuboidEntity => HostImpl as ICuboidEntity; [Scaling()] public double Length { get { return CuboidEntity.get_Length() * DesignScriptEntity.scaleFactor; } } [Scaling()] public double Width { get { return CuboidEntity.get_Width() * DesignScriptEntity.scaleFactor; } } [Scaling()] public double Height { get { return CuboidEntity.get_Height() * DesignScriptEntity.scaleFactor; } } internal Cuboid(ICuboidEntity host) : base(host) { } internal new static void InitType() { Geometry.RegisterHostType(typeof(ICuboidEntity), (IGeometryEntity host) => new Cuboid(host as ICuboidEntity)); } public static Cuboid ByLengths([Scaling()] double width = 1, [Scaling()] double length = 1, [Scaling()] double height = 1) { DesignScriptEntity.CheckArgsForAsmExtents(width, length, height); return Wrap(HostFactory.Factory.CuboidByLengths(width / DesignScriptEntity.scaleFactor, length / DesignScriptEntity.scaleFactor, height / DesignScriptEntity.scaleFactor)); } public static Cuboid ByLengths([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point origin, [Scaling()] double width = 1, [Scaling()] double length = 1, [Scaling()] double height = 1) { DesignScriptEntity.CheckArgsForAsmExtents(width, length, height); return Wrap(HostFactory.Factory.CuboidByLengths(Point.Unwrap(origin), width / DesignScriptEntity.scaleFactor, length / DesignScriptEntity.scaleFactor, height / DesignScriptEntity.scaleFactor)); } public static Cuboid ByLengths([DefaultArgument("Autodesk.DesignScript.Geometry.CoordinateSystem.ByOrigin(0, 0, 0)")] CoordinateSystem coordinateSystem, [Scaling()] double width = 1, [Scaling()] double length = 1, [Scaling()] double height = 1) { DesignScriptEntity.CheckArgsForAsmExtents(width, length, height); return Wrap(HostFactory.Factory.CuboidByLengths(CoordinateSystem.Unwrap(coordinateSystem), width / DesignScriptEntity.scaleFactor, length / DesignScriptEntity.scaleFactor, height / DesignScriptEntity.scaleFactor)); } public static Cuboid ByCorners([DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(0, 0, 0)")] Point lowPoint, [DefaultArgument("Autodesk.DesignScript.Geometry.Point.ByCoordinates(1, 1, 1)")] Point highPoint) { return Wrap(HostFactory.Factory.CuboidByCorners(Point.Unwrap(lowPoint), Point.Unwrap(highPoint))); } internal static Cuboid Wrap(ICuboidEntity host) { if (host != null) return new Cuboid(host); return null; } internal static Cuboid[] Wrap(ICuboidEntity[] hosts) { return hosts.Select(Wrap).ToArray(); } internal static Cuboid[][] Wrap(ICuboidEntity[][] hosts) { return hosts.Select(Wrap).ToArray(); } internal static ICuboidEntity Unwrap(Cuboid o) { return o.CuboidEntity; } internal static ICuboidEntity[] Unwrap(IEnumerable<Cuboid> o) { return o.Select(Unwrap).ToArray(); } internal static ICuboidEntity[] Unwrap(Cuboid[] o) { return o.Select(Unwrap).ToArray(); } internal static ICuboidEntity[][] Unwrap(Cuboid[][] o) { return o.Select(Unwrap).ToArray(); } public override string ToString() { StringBuilder builder = DesignScriptEntity.GetBuilder(); AppendTo(builder); return builder.ToString(); } internal override void AppendTo(StringBuilder builder) { builder.Add("Cuboid(Length = ", Length).Add(", Width = ", Width).Add(", Height = ", Height) .Append(")"); } } }