Table of Contents

Class SoftNcRunner

Namespace
Hi.NcParsers
Assembly
HiMech.dll

Configurable NC Runner.

public class SoftNcRunner : IControlRunner, IMakeXmlSource
Inheritance
SoftNcRunner
Implements
Inherited Members
Extension Methods

Constructors

SoftNcRunner()

public SoftNcRunner()

SoftNcRunner(XElement, string, string, IProgress<object>, object[])

public SoftNcRunner(XElement src, string baseDirectory, string relFile, IProgress<object> progress, object[] res = null)

Parameters

src XElement
baseDirectory string
relFile string
progress IProgress<object>
res object[]

Properties

FanucNcRunner

public static SoftNcRunner FanucNcRunner { get; }

Property Value

SoftNcRunner

FileIndexOnRunCommand

Gets the current file index for run commands.

public int FileIndexOnRunCommand { get; }

Property Value

int

HeidenhainNcRunner

public static SoftNcRunner HeidenhainNcRunner { get; }

Property Value

SoftNcRunner

MazakNcRunner

public static SoftNcRunner MazakNcRunner { get; }

Property Value

SoftNcRunner

NcDependencyList

public List<INcDependency> NcDependencyList { get; set; }

Property Value

List<INcDependency>

NcInitializationList

public List<INcInitializer> NcInitializationList { get; set; }

Property Value

List<INcInitializer>

NcSemanticList

public List<INcSemantic> NcSemanticList { get; set; }

Property Value

List<INcSemantic>

NcSyntaxList

public List<INcSyntax> NcSyntaxList { get; set; }

Property Value

List<INcSyntax>

Segmenter

public ISegmenter Segmenter { get; set; }

Property Value

ISegmenter

SiemensNcRunner

public static SoftNcRunner SiemensNcRunner { get; }

Property Value

SoftNcRunner

SyntecNcRunner

public static SoftNcRunner SyntecNcRunner { get; }

Property Value

SoftNcRunner

XName

public static string XName { get; }

Property Value

string

Methods

ConfigureByMachiningChain(IMachiningChain)

Configures this SoftNcRunner to match the kinematic chain of a machine tool. Registers every axis present on the chain into the IMachineAxisConfig in NcDependencyList (linear or rotary, derived from whether the chain's transformer implements IDynamicRotation). When the chain carries any rotary axis, a NcKinematicsDependency is appended so that downstream syntaxes / semantics (e.g. G53.1, G68.2, McLinearMotionSemantic) can resolve orientation; its KinematicsProvider is intentionally left null — the owning project service wires it up after the solver instance is available (see LocalProjectService.BuildCoordinateConverter).

public void ConfigureByMachiningChain(IMachiningChain chain)

Parameters

chain IMachiningChain

The machining chain whose axes and kinematics the runner should match. No-op when null.

FromLegacyNcEnvXml(XElement, IMachiningChain)

Creates a SoftNcRunner from legacy HardNcEnv XML. Picks the brand-specific runner by the CncBrand element and populates dependencies from the legacy XML values. When a chain is provided, also calls ConfigureByMachiningChain(IMachiningChain) so the runner's axis configuration and kinematics dependency reflect the machine tool loaded alongside the legacy project. Remove this region when HardNcEnv is fully replaced.

public static SoftNcRunner FromLegacyNcEnvXml(XElement ncEnvXml, IMachiningChain chain = null)

Parameters

ncEnvXml XElement

The inner XML element of the legacy HardNcEnv.

chain IMachiningChain

Optional machining chain for axis/kinematics configuration.

Returns

SoftNcRunner

A configured SoftNcRunner.

GetFullSyntaxPieceLinkedList(string, IEnumerable<string>, NcDiagnosticProgress, CancellationToken)

public LazyLinkedList<SyntaxPiece> GetFullSyntaxPieceLinkedList(string relFilePath, IEnumerable<string> lines, NcDiagnosticProgress ncDiagnosticProgress, CancellationToken cancellationToken)

Parameters

relFilePath string
lines IEnumerable<string>
ncDiagnosticProgress NcDiagnosticProgress
cancellationToken CancellationToken

Returns

LazyLinkedList<SyntaxPiece>

GetSourcedActEntrys(LazyLinkedList<SyntaxPiece>, NcDiagnosticProgress, CancellationToken)

public IEnumerable<SourcedActEntry> GetSourcedActEntrys(LazyLinkedList<SyntaxPiece> syntaxPieceLinkedList, NcDiagnosticProgress ncDiagnosticProgress, CancellationToken cancellationToken)

Parameters

syntaxPieceLinkedList LazyLinkedList<SyntaxPiece>
ncDiagnosticProgress NcDiagnosticProgress
cancellationToken CancellationToken

Returns

IEnumerable<SourcedActEntry>

MakeXmlSource(string, string, bool)

Creates an XML representation of the object. This method may also generate additional resources such as related files.

public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly)

Parameters

baseDirectory string

The base directory for resolving relative paths

relFile string

The relative file path for the XML source

exhibitionOnly bool

if true, the extended file creation is suppressed.

Returns

XElement

An XML element representing the object's state

Remarks

For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file.

ResetFileIndex()

Resets the file index to zero.

public void ResetFileIndex()

RunControlLines(string, IEnumerable<string>, SessionProgress, CancellationToken)

Runs raw Control lines and yields source sentence and Act pairs.

public IEnumerable<SourcedActEntry> RunControlLines(string relFilePath, IEnumerable<string> lines, SessionProgress sessionProgress, CancellationToken cancellationToken)

Parameters

relFilePath string

The relative path of the control file

lines IEnumerable<string>

The enumerable collection of command (control code) lines

sessionProgress SessionProgress
cancellationToken CancellationToken

Cancellation token to cancel the operation

Returns

IEnumerable<SourcedActEntry>

Enumerable of source sentence and Act pairs