Table of Contents

Namespace Hi.NcOpt

Classes

CuttingVelocityOptLimit

Represents optimization limits for cutting velocity parameters.

FixedFeedPerCycleOptLimit

Represents fixed feed-per-cycle optimization limits. Provides implementation for feed-per-cycle optimization with fixed minimum and maximum values.

FixedFeedPerToothOptLimit

Represents fixed feed-per-tooth optimization limits. Provides implementation for feed-per-tooth optimization with fixed minimum and maximum values.

MillingCutterOptOption

Represents NC optimization option for milling cutters.

MonoPiecePack

Mono raw piece optimization package: one optimizable piece adjusted as a whole.

NcOptOption

Represents the optimization options for NC operations.

NcOptPieceClassifier

Classifies the SoftNc final-layer SyntaxPiece stream into the INcOptPiecePack list and the per-step StepOptContext dictionary that the StepFeedSolver consumes: maps each piece to its MachiningStep index segment, runs the tool-change state machine, evaluates the opt-ability criteria and seeds preserved packs with their constraining feedrate.

NcOptProc

Provides functionality for optimizing NC programs by modifying feed rates and tool paths.

NcOptSplitionFragmentPlan

Planned text rewrite of one re-interpolation fragment of a splition piece: everything the writeback converter needs to turn a copy of the source BlockText into the fragment's NC line. Computed entirely by the orchestrator walk (SoftNcOptProc); applied dumbly by NcOptMixedPatchConverter.

NcOptSplitionPlan

Complete splition rewrite plan of one source piece: the ordered fragment specs (one per segment step) plus the pack-level modal-token strip list. Keyed by the source piece's SentenceIndex in SplitionPlansBySentenceIndex.

PreservedPiecePack

Mono preserved piece optimization package: a piece whose feedrate is never changed; its StepAdjustment is seeded by the classifier.

ShapeBasedCutterOptLimit

Represents optimization limits based on cutter shape parameters.

SoftNcOptProc

SoftNc NC-optimization orchestrator: classifies the final-layer SyntaxPiece stream (NcOptPieceClassifier), solves the per-step feed adjustments (StepFeedSolver), regenerates the NC text through the mixed patch/splition writeback (NcOptMixedPatchConverter over NcPatchWriter) and writes the optimized files.

SplitionPiecePack

Represents a splition piece optimization package: a re-interpolatable piece carrying one StepAdjustment per step of its segment.

StepAdjustment

Target optimized values of a machining step.

StepAdjustmentLogger

Orders per-step adjustment log lines by step index and writes them to a log file. The logger is seeded with the expected step indexes; as unit logs arrive (possibly out of order from parallel workers), the contiguous ordered prefix is flushed to the underlying ParallelBulkWriter<TData>. Byte-identical log line composition stays the caller's job — this class only orders and writes.

StepFeedSolver

Runner-agnostic per-step feed solver core of the NC optimization process: computes per-step feed adjustments from milling physics (force / yielding / spindle torque / spindle power / thermal yield / custom criteria and relief-face collision), constrains them over extended segments, propagates acceleration limits backward, and builds tool deflection compensation.

StepOptContext

Various (include initial, transient and destination) of step datas for the optimization process.

Interfaces

ICutterOptLimitHost

Interface for hosts that contain cutter optimization limits. Provides access to cutter optimization limit settings.

ICutterOptOption

Interface for cutter optimization limits. Combines feed-per-tooth optimization capabilities with duplication and XML serialization support. Inherits from IMakeXmlSource, IFeedPerToothOptLimit, and IDuplicate.

ICuttingVelocityOptLimit

Interface for cutting velocity optimization limits. Defines methods to get minimum and maximum cutting velocity values. Implements IMakeXmlSource for XML serialization and IDuplicate for object duplication.

IFeedPerToothOptLimit

Interface for feed-per-tooth optimization limits. Defines methods to get minimum and maximum feed per tooth values. Implements IMakeXmlSource for XML serialization and IDuplicate for object duplication.

INcOptPiecePack

Piece pack for optimization: one classified NC piece (block) mapped to its machining step segment, carrying the seams the solver needs (ToolId, SrcFeedrate_mmds, IsArc) without any HardNc dependency.

ISingleAdjustmentPack

A piece pack carrying a single StepAdjustment for its whole segment.

Enums

NcOptFeedrateTextOp

Text operation planned for the F word of one splition fragment.

NcOptimizationEmbeddedLogMode

Embedded log mode for NC optimization.