using System.Collections.Generic; using Hi.Geom; using Hi.Mech.Topo; namespace Sample.Geom { /// /// Demonstrates the creation and manipulation of geometric objects in HiAPI. /// Shows how to create and transform various geometry types including boxes, cylindroids, and STL files. /// /// /// ### Source Code /// [!code-csharp[SampleCode](~/../Hi.Sample/Geom/DemoBuildGeom.cs)] /// public static class DemoBuildGeom { /// /// Generates a collection of geometric objects for demonstration purposes. /// Creates various geometry types including boxes, cylindroids, STL files, and transformed geometries. /// /// A list of geometries implementing the IGetStl interface public static List GenGeoms() { Box3d box = new Box3d(0, 0, -50, 70, 50, 0); Cylindroid cylindroid = new Cylindroid() { PairZrs = new List([ new PairZr(0,12),new PairZr(20,12), new PairZr(20,16),new PairZr(30,16)]), LongitudeNum = 30 }; Stl stl = new Stl("geom.stl"); TransformationGeom transformationGeom = new TransformationGeom() { Transformer = new GeneralTransform(1, new StaticRotation(new Vec3d(0, 0, 1), MathUtil.ToRad(15), new Vec3d(0, 0, 0)), new StaticTranslation(new Vec3d(0, 0, 0))), Geom = stl }; return new List([box, cylindroid, stl, transformationGeom]); } } }