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.