using Hi.Geom; using Hi.Mech.Topo; using Hi.NcMech.Xyzabc; using Hi.Numerical.Xyzabc; namespace Sample.MachineTool { /// /// Demo Build Machine Tool without gemetries setting. /// /// /// ## Source Code /// /// [!code-csharp[SampleCode](~/../Hi.Sample/MachineTool/DemoBuildMachineToolWithoutGeometrys.cs)] /// public static class DemoBuildMachineToolWithoutGeometrys { /// /// Generates an empty machine tool with basic configuration. /// /// A configured but empty machine tool without solids. public static CodeXyzabcMachineTool GenEmptyMachineTool() { CodeXyzabcChain chain = new CodeXyzabcChain("[O][C][w];[O][X][Y][Z][B][S][t]"); if (chain.ToolBuckleTransformer is StaticTranslation st) st.Trans = new Vec3d(-200, 200, 400); CodeXyzabcMachineTool xyzabcMachineTool = new CodeXyzabcMachineTool(chain); return xyzabcMachineTool; } /// /// Generates and saves an empty machine tool URI to a file. /// /// The base directory to save the machine tool file. /// The machine tool URI object that was created and saved. public static CodeXyzabcMachineToolUri GenEmptyMachineToolUri(string baseDirectory) { CodeXyzabcMachineToolUri machineToolUri = new CodeXyzabcMachineToolUri(@"Samples/EmpytMachineTool.mt", GenEmptyMachineTool()); machineToolUri.SaveToUri(baseDirectory); return machineToolUri; } } }