44 lines
1.7 KiB
C#
44 lines
1.7 KiB
C#
using Hi.Geom;
|
|
using Hi.Mech.Topo;
|
|
using Hi.NcMech.Xyzabc;
|
|
using Hi.Numerical.Xyzabc;
|
|
|
|
namespace Sample.MachineTool
|
|
{
|
|
/// <summary>
|
|
/// Demo Build Machine Tool without gemetries setting.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// ## Source Code
|
|
///
|
|
/// [!code-csharp[SampleCode](~/../Hi.Sample/MachineTool/DemoBuildMachineToolWithoutGeometrys.cs)]
|
|
/// </remarks>
|
|
public static class DemoBuildMachineToolWithoutGeometrys
|
|
{
|
|
/// <summary>
|
|
/// Generates an empty machine tool with basic configuration.
|
|
/// </summary>
|
|
/// <returns>A configured but empty machine tool without solids.</returns>
|
|
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;
|
|
}
|
|
/// <summary>
|
|
/// Generates and saves an empty machine tool URI to a file.
|
|
/// </summary>
|
|
/// <param name="baseDirectory">The base directory to save the machine tool file.</param>
|
|
/// <returns>The machine tool URI object that was created and saved.</returns>
|
|
public static CodeXyzabcMachineToolUri GenEmptyMachineToolUri(string baseDirectory)
|
|
{
|
|
CodeXyzabcMachineToolUri machineToolUri = new CodeXyzabcMachineToolUri(@"Samples/EmpytMachineTool.mt",
|
|
GenEmptyMachineTool());
|
|
machineToolUri.SaveToUri(baseDirectory);
|
|
return machineToolUri;
|
|
}
|
|
}
|
|
}
|