#[non_exhaustive]pub enum Strategy {
Show 42 variants
Face(FaceParams),
Pocket2D(Pocket2dParams),
Contour2D(Contour2dParams),
Adaptive2D(Adaptive2dParams),
Slot(SlotParams),
Trace(TraceParams),
Chamfer2D(Chamfer2dParams),
Engrave(EngraveParams),
Bore(BoreParams),
Circular(CircularParams),
ThreadMill(ThreadMillParams),
Drill(DrillParams),
Adaptive3D(Adaptive3dParams),
Pocket3D(Pocket3dParams),
Parallel(ParallelParams),
Contour3D(Contour3dParams),
Scallop(ScallopParams),
Pencil(PencilParams),
SteepShallow(SteepShallowParams),
Radial(RadialParams),
Spiral(SpiralParams),
MorphedSpiral(MorphedSpiralParams),
Horizontal(HorizontalParams),
Ramp(RampFinishParams),
Project(ProjectParams),
Flow(FlowParams),
Morph(MorphParams),
RestFinish(RestFinishParams),
ProbeWcs(ProbeWcsParams),
ProbeGeometry(ProbeGeometryParams),
Pattern(PatternParams),
ManualNc(ManualNcParams),
Swarf(SwarfParams),
MultiAxisContour(MultiAxisContourParams),
RotaryWrap(RotaryWrapParams),
RotaryFinish(RotaryFinishParams),
MultiAxisFinish(MultiAxisFinishParams),
TurnFace(TurnFaceParams),
TurnProfile(TurnProfileParams),
TurnGroove(TurnGrooveParams),
TurnThread(TurnThreadParams),
TurnPartOff(TurnPartOffParams),
}Expand description
The strategy and its parameters. Variants beyond the 3D-finishing core start with the parameters a first implementation needs; lanes extend them.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Face(FaceParams)
Pocket2D(Pocket2dParams)
Contour2D(Contour2dParams)
Adaptive2D(Adaptive2dParams)
Slot(SlotParams)
Trace(TraceParams)
Chamfer2D(Chamfer2dParams)
Engrave(EngraveParams)
Bore(BoreParams)
Circular(CircularParams)
ThreadMill(ThreadMillParams)
Drill(DrillParams)
Adaptive3D(Adaptive3dParams)
Pocket3D(Pocket3dParams)
Parallel(ParallelParams)
Contour3D(Contour3dParams)
Scallop(ScallopParams)
Pencil(PencilParams)
SteepShallow(SteepShallowParams)
Radial(RadialParams)
Spiral(SpiralParams)
MorphedSpiral(MorphedSpiralParams)
Horizontal(HorizontalParams)
Ramp(RampFinishParams)
Project(ProjectParams)
Flow(FlowParams)
Morph(MorphParams)
RestFinish(RestFinishParams)
ProbeWcs(ProbeWcsParams)
Probing a work offset (lane C14).
ProbeGeometry(ProbeGeometryParams)
Probing geometry for inspection (lane C14).
Pattern(PatternParams)
Pattern of other enabled operations: linear, circular, mirror or WCS offsets (lane C15).
ManualNc(ManualNcParams)
A manual NC entry: stop, dwell, comment, pass-through text or tool change (lane C15).
Swarf(SwarfParams)
MultiAxisContour(MultiAxisContourParams)
RotaryWrap(RotaryWrapParams)
RotaryFinish(RotaryFinishParams)
Rotary finishing: the tool axis radial to a 4th axis, line or spiral passes (lane C10).
MultiAxisFinish(MultiAxisFinishParams)
Multi-axis finishing over an inner 3-axis finishing operation (lane C10b).
TurnFace(TurnFaceParams)
TurnProfile(TurnProfileParams)
TurnGroove(TurnGrooveParams)
TurnThread(TurnThreadParams)
TurnPartOff(TurnPartOffParams)
Implementations§
Source§impl Strategy
impl Strategy
Sourcepub const KINDS: &'static [&'static str]
pub const KINDS: &'static [&'static str]
Every strategy’s kind name (the serde tag), in declaration order. The
contract the application lists strategies from; kind_name reads it.
Sourcepub fn kind_index(&self) -> usize
pub fn kind_index(&self) -> usize
Position of this variant in Strategy::KINDS.
Sourcepub fn enum_choices(kind: &str) -> &'static [EnumChoice]
pub fn enum_choices(kind: &str) -> &'static [EnumChoice]
Enum-valued fields of the strategy kind kind: the dotted JSON path of
every string-tagged field and the names it may take. Variant-dependent
payload fields are listed too where a nested tag selects them.
Sourcepub fn default_of(kind: &str) -> Option<Strategy>
pub fn default_of(kind: &str) -> Option<Strategy>
The default parameters of the strategy named kind, or None for an
unknown name. The returned value may still fail validate where a
strategy needs user input (morph curves, a reference tool).
Sourcepub fn is_targetless(&self) -> bool
pub fn is_targetless(&self) -> bool
Strategies that machine nothing themselves and need no target body: patterns of other operations and manual NC entries.