Перейти до основного вмісту

raygeo.ops.assembly.adaptive.resume

Functions

emit_resume_travel()

emit_resume_travel(
ops: ops.Ops,
to_pt: tuple[float, float],
pocket_boundary: Sequence[tuple[float, float]],
islands: Sequence[Sequence[tuple[float, float]]] = [],
radius: float = 3,
cut_z: float = -5,
cleared: ops.cut.cleared_area.ClearedArea | None = None,
) -> None

Emit a resume travel to to_pt using the routing strategies.

ParameterTypeDescription
opsops.Ops
to_pttuple[float, float]
pocket_boundarySequence[tuple[float, float]]
islandsSequence[Sequence[tuple[float, float]]] = []
radiusfloat = 3
cut_zfloat = -5
clearedops.cut.cleared_area.ClearedArea | None = None
ReturnsNone

smooth_travel_path()

smooth_travel_path(
from_pt: tuple[float, float],
raw: Sequence[tuple[float, float]],
obstacles: Sequence[Sequence[tuple[float, float]]] = [],
clearance: float = 1,
) -> list[tuple[float, float]]

Smooth and shorten a cleared-territory travel path.

ParameterTypeDescription
from_pttuple[float, float]
rawSequence[tuple[float, float]]
obstaclesSequence[Sequence[tuple[float, float]]] = []
clearancefloat = 1
Returnslist[tuple[float, float]]

try_resume()

try_resume(
cleared: ops.cut.cleared_area.ClearedArea,
ops: ops.Ops,
tool: ops.assembly.adaptive.tool.Tool,
pocket_boundary: Sequence[tuple[float, float]],
islands: Sequence[Sequence[tuple[float, float]]] = [],
radius: float = 3,
step_length: float = 0.6,
advance: float = 1.5,
cut_z: float = -5,
max_deflection_deg: float = 30,
valid_tool_area: Sequence[Sequence[tuple[float, float]]] = [],
axis: geo.algo.medial_axis.MedialAxis | None = None,
last_resume_area: float = -1,
cut_direction: str = 'ccw',
segment_start: tuple[float, float] = (0, 0),
segment_heading: float = 0,
) -> bool

Try to recover after the tool stalls or is detected as stuck.

ParameterTypeDescription
clearedops.cut.cleared_area.ClearedArea
opsops.Ops
toolops.assembly.adaptive.tool.Tool
pocket_boundarySequence[tuple[float, float]]
islandsSequence[Sequence[tuple[float, float]]] = []
radiusfloat = 3
step_lengthfloat = 0.6
advancefloat = 1.5
cut_zfloat = -5
max_deflection_degfloat = 30
valid_tool_areaSequence[Sequence[tuple[float, float]]] = []
axisgeo.algo.medial_axis.MedialAxis | None = None
last_resume_areafloat = -1
cut_directionstr = 'ccw'"cw" or "ccw".
segment_starttuple[float, float] = (0, 0)
segment_headingfloat = 0
Returnsbool