update ISO coordinate rendering for 3+2axis machine.
This commit is contained in:
parent
809a250c44
commit
96eb6ad050
@ -3,25 +3,25 @@ using System.Threading.Tasks;
|
|||||||
using Hi.Common;
|
using Hi.Common;
|
||||||
using Hi.Common.Messages;
|
using Hi.Common.Messages;
|
||||||
|
|
||||||
namespace Sample.Common
|
namespace Sample.Common;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Demonstrates common message and exception handling patterns in HiAPI applications
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// ### Source Code
|
||||||
|
/// [!code-csharp[SampleCode](~/../Hi.Sample/Common/DemoMessageAndExceptionHandling.cs)]
|
||||||
|
/// </remarks>
|
||||||
|
public static class DemoMessageAndExceptionHandling
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Demonstrates common message and exception handling patterns in HiAPI applications
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// ### Source Code
|
|
||||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Common/DemoMessageAndExceptionHandling.cs)]
|
|
||||||
/// </remarks>
|
|
||||||
public static class DemoMessageAndExceptionHandling
|
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Demonstrates normal message handling
|
/// Demonstrates normal message handling
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static void DemoNormalMessages()
|
internal static void DemoNormalMessages()
|
||||||
{
|
{
|
||||||
#region Normal_Messages
|
#region Normal_Messages
|
||||||
MessageHost.ReportMessage("Operation completed successfully.");
|
MessageUtil.ReportMessage("Operation completed successfully.");
|
||||||
MessageHost.ReportWarning("Please check your input.");
|
MessageUtil.ReportWarning("Please check your input.");
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -54,5 +54,4 @@ namespace Sample.Common
|
|||||||
}).ShowIfCatched(null);
|
}).ShowIfCatched(null);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@ -13,23 +13,23 @@ using Hi.Mech;
|
|||||||
using Hi.Mech.Topo;
|
using Hi.Mech.Topo;
|
||||||
using Hi.Numerical;
|
using Hi.Numerical;
|
||||||
|
|
||||||
namespace Sample.Common
|
namespace Sample.Common;
|
||||||
|
|
||||||
|
/// <remarks>
|
||||||
|
/// ### Source Code
|
||||||
|
/// [!code-csharp[SampleCode](~/../Hi.Sample/Common/DemoSessionMessage.cs)]
|
||||||
|
/// </remarks>
|
||||||
|
public static class DemoSessionMessage
|
||||||
{
|
{
|
||||||
/// <remarks>
|
|
||||||
/// ### Source Code
|
|
||||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Common/DemoSessionMessage.cs)]
|
|
||||||
/// </remarks>
|
|
||||||
public static class DemoSessionMessage
|
|
||||||
{
|
|
||||||
#region Demo_UseSessionMessageHost
|
#region Demo_UseSessionMessageHost
|
||||||
internal static void DemoUseSessionMessageHost(LocalProjectService localProjectService)
|
internal static void DemoUseSessionMessageHost(LocalProjectService localProjectService)
|
||||||
{
|
{
|
||||||
SessionMessageHost sessionMessageHost = localProjectService.SessionMessageHost;
|
SessionProgress sessionMessageHost = localProjectService.SessionProgress;
|
||||||
|
|
||||||
SessionMessageHost.FilterFlag filterFlags =
|
SessionProgress.FilterFlag filterFlags =
|
||||||
SessionMessageHost.FilterFlag.NC |
|
SessionProgress.FilterFlag.NC |
|
||||||
SessionMessageHost.FilterFlag.Progress |
|
SessionProgress.FilterFlag.Progress |
|
||||||
SessionMessageHost.FilterFlag.Error;
|
SessionProgress.FilterFlag.Error;
|
||||||
string filterText = null;
|
string filterText = null;
|
||||||
var filteredSessionMessageList = sessionMessageHost
|
var filteredSessionMessageList = sessionMessageHost
|
||||||
.GetFliteredList(filterFlags, filterText);
|
.GetFliteredList(filterFlags, filterText);
|
||||||
@ -60,7 +60,7 @@ namespace Sample.Common
|
|||||||
|
|
||||||
internal static void DemoUseSessionMessageHost2(LocalProjectService localProjectService)
|
internal static void DemoUseSessionMessageHost2(LocalProjectService localProjectService)
|
||||||
{
|
{
|
||||||
SessionMessageHost sessionMessageHost = localProjectService.SessionMessageHost;
|
SessionProgress sessionMessageHost = localProjectService.SessionProgress;
|
||||||
IMachiningChain machiningChain = localProjectService.MachiningChain;
|
IMachiningChain machiningChain = localProjectService.MachiningChain;
|
||||||
|
|
||||||
PresentAttribute mrrPresent = typeof(MachiningStep).GetProperty(nameof(MachiningStep.Mrr_mm3ds)).GetCustomAttribute<PresentAttribute>();
|
PresentAttribute mrrPresent = typeof(MachiningStep).GetProperty(nameof(MachiningStep.Mrr_mm3ds)).GetCustomAttribute<PresentAttribute>();
|
||||||
@ -70,11 +70,11 @@ namespace Sample.Common
|
|||||||
string torqueUnit = torquePresent?.TailUnitString;
|
string torqueUnit = torquePresent?.TailUnitString;
|
||||||
string torqueFormat = torquePresent?.DataFormatString;
|
string torqueFormat = torquePresent?.DataFormatString;
|
||||||
|
|
||||||
SessionMessageHost.FilterFlag filterFlags =
|
SessionProgress.FilterFlag filterFlags =
|
||||||
SessionMessageHost.FilterFlag.Step |
|
SessionProgress.FilterFlag.Step |
|
||||||
SessionMessageHost.FilterFlag.NC |
|
SessionProgress.FilterFlag.NC |
|
||||||
SessionMessageHost.FilterFlag.Progress |
|
SessionProgress.FilterFlag.Progress |
|
||||||
SessionMessageHost.FilterFlag.Error;
|
SessionProgress.FilterFlag.Error;
|
||||||
string filterText = null;
|
string filterText = null;
|
||||||
var filteredSessionMessageList = sessionMessageHost
|
var filteredSessionMessageList = sessionMessageHost
|
||||||
.GetFliteredList(filterFlags, filterText);
|
.GetFliteredList(filterFlags, filterText);
|
||||||
@ -144,5 +144,4 @@ namespace Sample.Common
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@ -3,18 +3,18 @@ using System.Collections.Generic;
|
|||||||
using Hi.Geom;
|
using Hi.Geom;
|
||||||
using Hi.Mech.Topo;
|
using Hi.Mech.Topo;
|
||||||
|
|
||||||
namespace Sample.Geom
|
namespace Sample.Geom;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 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.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// ### Source Code
|
||||||
|
/// [!code-csharp[SampleCode](~/../Hi.Sample/Geom/DemoBuildGeom.cs)]
|
||||||
|
/// </remarks>
|
||||||
|
public static class DemoBuildGeom
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// 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.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// ### Source Code
|
|
||||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Geom/DemoBuildGeom.cs)]
|
|
||||||
/// </remarks>
|
|
||||||
public static class DemoBuildGeom
|
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Generates a collection of geometric objects for demonstration purposes.
|
/// Generates a collection of geometric objects for demonstration purposes.
|
||||||
/// Creates various geometry types including boxes, cylindroids, STL files, and transformed geometries.
|
/// Creates various geometry types including boxes, cylindroids, STL files, and transformed geometries.
|
||||||
@ -37,6 +37,4 @@ namespace Sample.Geom
|
|||||||
GeomCombination geomCombination = new GeomCombination(stlFile, transformationGeom);
|
GeomCombination geomCombination = new GeomCombination(stlFile, transformationGeom);
|
||||||
return new List<IGetStl>([box, cylindroid, stl, stlFile, transformationGeom]);
|
return new List<IGetStl>([box, cylindroid, stl, stlFile, transformationGeom]);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,18 +1,18 @@
|
|||||||
using Hi.Geom;
|
using Hi.Geom;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Sample.Geom
|
namespace Sample.Geom;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Demonstrates how to create and calculate bounding boxes for different geometric objects.
|
||||||
|
/// Shows the use of Box3d to encompass multiple geometric elements with a single boundary.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// ### Source Code
|
||||||
|
/// [!code-csharp[SampleCode](~/../Hi.Sample/Geom/DemoIExpandToBox3d.cs)]
|
||||||
|
/// </remarks>
|
||||||
|
public static class DemoIExpandToBox3d
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Demonstrates how to create and calculate bounding boxes for different geometric objects.
|
|
||||||
/// Shows the use of Box3d to encompass multiple geometric elements with a single boundary.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// ### Source Code
|
|
||||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Geom/DemoIExpandToBox3d.cs)]
|
|
||||||
/// </remarks>
|
|
||||||
public static class DemoIExpandToBox3d
|
|
||||||
{
|
|
||||||
static void Main()
|
static void Main()
|
||||||
{
|
{
|
||||||
#region DocSite.CountBoundingBox
|
#region DocSite.CountBoundingBox
|
||||||
@ -24,5 +24,4 @@ namespace Sample.Geom
|
|||||||
Console.WriteLine("boundingbox: " + boundingbox);
|
Console.WriteLine("boundingbox: " + boundingbox);
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,8 +34,5 @@
|
|||||||
<ItemGroup Condition="'$(Configuration)'=='Release'">
|
<ItemGroup Condition="'$(Configuration)'=='Release'">
|
||||||
<PackageReference Include="HiNc" Version="3.1.*" />
|
<PackageReference Include="HiNc" Version="3.1.*" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="Coloring\" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
@ -3,17 +3,17 @@ using Hi.Mech.Topo;
|
|||||||
using Hi.NcMech.Xyzabc;
|
using Hi.NcMech.Xyzabc;
|
||||||
using Hi.Numerical.Xyzabc;
|
using Hi.Numerical.Xyzabc;
|
||||||
|
|
||||||
namespace Sample.MachineTool
|
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>
|
|
||||||
/// 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>
|
/// <summary>
|
||||||
/// Generates an empty machine tool with basic configuration.
|
/// Generates an empty machine tool with basic configuration.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -26,5 +26,4 @@ namespace Sample.MachineTool
|
|||||||
CodeXyzabcMachineTool xyzabcMachineTool = new CodeXyzabcMachineTool(chain);
|
CodeXyzabcMachineTool xyzabcMachineTool = new CodeXyzabcMachineTool(chain);
|
||||||
return xyzabcMachineTool;
|
return xyzabcMachineTool;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,20 +15,20 @@ using Hi.Machining;
|
|||||||
using Hi.HiNcKits;
|
using Hi.HiNcKits;
|
||||||
using Hi.Milling.MillingTools;
|
using Hi.Milling.MillingTools;
|
||||||
|
|
||||||
namespace Sample.Machining
|
namespace Sample.Machining;
|
||||||
|
|
||||||
|
/// <remarks>
|
||||||
|
/// ### Source Code
|
||||||
|
/// [!code-csharp[SampleCode](~/../Hi.Sample/Machining/DemoBuildGeomOnlyMachiningProject.cs)]
|
||||||
|
/// </remarks>
|
||||||
|
public static class DemoBuildGeomOnlyMachiningProject
|
||||||
{
|
{
|
||||||
/// <remarks>
|
|
||||||
/// ### Source Code
|
|
||||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Machining/DemoBuildGeomOnlyMachiningProject.cs)]
|
|
||||||
/// </remarks>
|
|
||||||
public static class DemoBuildGeomOnlyMachiningProject
|
|
||||||
{
|
|
||||||
internal static MillingCutter CreateGeomOnlyMillingCutter()
|
internal static MillingCutter CreateGeomOnlyMillingCutter()
|
||||||
{
|
{
|
||||||
MillingCutter millingCutter = new MillingCutter()
|
MillingCutter millingCutter = new MillingCutter()
|
||||||
{
|
{
|
||||||
UpperBeamGeom = new Cylindroid(
|
UpperBeamGeom = new Cylindroid(
|
||||||
[new PairZr(40,6), new PairZr(90,6)]),
|
[new PairZr(40, 6), new PairZr(90, 6)]),
|
||||||
ShaperProfile = new AptProfile(
|
ShaperProfile = new AptProfile(
|
||||||
new ColumnApt()
|
new ColumnApt()
|
||||||
{
|
{
|
||||||
@ -93,5 +93,4 @@ namespace Sample.Machining
|
|||||||
LocalApp.AppEnd();
|
LocalApp.AppEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,20 +18,20 @@ using System.IO;
|
|||||||
using Hi.HiNcKits;
|
using Hi.HiNcKits;
|
||||||
using Hi.Milling.MillingTools;
|
using Hi.Milling.MillingTools;
|
||||||
|
|
||||||
namespace Sample.Machining
|
namespace Sample.Machining;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Demonstrates how to create and configure a <see cref="MachiningProject"/> programmatically.
|
||||||
|
/// This sample shows how to set up <see cref="MillingCutter"/>, <see cref="CylindroidHolder"/>,
|
||||||
|
/// <see cref="MillingTool"/>, <see cref="Fixture"/>, <see cref="Workpiece"/>,
|
||||||
|
/// and save the project configuration to a file.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// ### Source Code
|
||||||
|
/// [!code-csharp[SampleCode](~/../Hi.Sample/Machining/DemoBuildMachiningProject.cs)]
|
||||||
|
/// </remarks>
|
||||||
|
public static class DemoBuildMachiningProject
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Demonstrates how to create and configure a <see cref="MachiningProject"/> programmatically.
|
|
||||||
/// This sample shows how to set up <see cref="MillingCutter"/>, <see cref="CylindroidHolder"/>,
|
|
||||||
/// <see cref="MillingTool"/>, <see cref="Fixture"/>, <see cref="Workpiece"/>,
|
|
||||||
/// and save the project configuration to a file.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// ### Source Code
|
|
||||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Machining/DemoBuildMachiningProject.cs)]
|
|
||||||
/// </remarks>
|
|
||||||
public static class DemoBuildMachiningProject
|
|
||||||
{
|
|
||||||
internal static CylindroidHolder CreateCylindroidHolder()
|
internal static CylindroidHolder CreateCylindroidHolder()
|
||||||
{
|
{
|
||||||
#region ConfigureHolder
|
#region ConfigureHolder
|
||||||
@ -212,5 +212,4 @@ namespace Sample.Machining
|
|||||||
LocalApp.AppEnd();
|
LocalApp.AppEnd();
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,20 +5,20 @@ using Hi.MachiningProcs;
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
namespace Sample.Machining
|
namespace Sample.Machining;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Demonstrates how to load and use an existing <see cref="MachiningProject"/> instance.
|
||||||
|
/// This sample shows how to set up event handlers for messages and machining step objects,
|
||||||
|
/// execute NC files, and properly manage project resources using
|
||||||
|
/// <see cref="IDisposable.Dispose"/>.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// ### Source Code
|
||||||
|
/// [!code-csharp[SampleCode](~/../Hi.Sample/Machining/DemoUseMachiningProject.cs)]
|
||||||
|
/// </remarks>
|
||||||
|
public static class DemoUseMachiningProject
|
||||||
{
|
{
|
||||||
/// <summary>
|
|
||||||
/// Demonstrates how to load and use an existing <see cref="MachiningProject"/> instance.
|
|
||||||
/// This sample shows how to set up event handlers for messages and machining step objects,
|
|
||||||
/// execute NC files, and properly manage project resources using
|
|
||||||
/// <see cref="IDisposable.Dispose"/>.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// ### Source Code
|
|
||||||
/// [!code-csharp[SampleCode](~/../Hi.Sample/Machining/DemoUseMachiningProject.cs)]
|
|
||||||
/// </remarks>
|
|
||||||
public static class DemoUseMachiningProject
|
|
||||||
{
|
|
||||||
static void Main()
|
static void Main()
|
||||||
{
|
{
|
||||||
LocalApp.AppBegin();
|
LocalApp.AppBegin();
|
||||||
@ -36,7 +36,7 @@ namespace Sample.Machining
|
|||||||
|
|
||||||
using StreamWriter writer = new StreamWriter("msg.txt");
|
using StreamWriter writer = new StreamWriter("msg.txt");
|
||||||
//show message if something abnormal.
|
//show message if something abnormal.
|
||||||
localProjectService.SessionMessageHost.CollectionItemAdded += pack =>
|
localProjectService.SessionProgress.CollectionItemAdded += pack =>
|
||||||
{
|
{
|
||||||
if (pack.Tags.Contains(MessageFlag.Warning.ToString()) ||
|
if (pack.Tags.Contains(MessageFlag.Warning.ToString()) ||
|
||||||
pack.Tags.Contains(MessageFlag.Error.ToString()) ||
|
pack.Tags.Contains(MessageFlag.Error.ToString()) ||
|
||||||
@ -51,8 +51,9 @@ namespace Sample.Machining
|
|||||||
localProjectService.RuntimeApi.MachiningStepBuilt += (preStep, curStep) =>
|
localProjectService.RuntimeApi.MachiningStepBuilt += (preStep, curStep) =>
|
||||||
{
|
{
|
||||||
var sourceCommand = curStep.SourceCommand;
|
var sourceCommand = curStep.SourceCommand;
|
||||||
|
var indexedFileLine=sourceCommand?.GetSentence()?.IndexedFileLine;
|
||||||
if (curStep.Mrr_mm3ds > 500) //show only the step that contains large MRR.
|
if (curStep.Mrr_mm3ds > 500) //show only the step that contains large MRR.
|
||||||
Console.WriteLine($"MRR = {curStep.Mrr_mm3ds} At \"{sourceCommand?.FilePath}\" (Line {sourceCommand?.GetLineNo()}) \"{sourceCommand?.Line}\"");
|
Console.WriteLine($"MRR = {curStep.Mrr_mm3ds} At \"{indexedFileLine?.FilePath}\" (Line {indexedFileLine?.GetLineNo()}) \"{indexedFileLine?.Line}\"");
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -82,5 +83,4 @@ namespace Sample.Machining
|
|||||||
Console.WriteLine($"Program end.");
|
Console.WriteLine($"Program end.");
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user