orient.rules¶
toolpath_engine.orient.rules.to_normal(surface)
¶
Orient tool axis to surface normal at the closest point.
Source code in utde_v0.1.0/toolpath_engine/orient/rules.py
toolpath_engine.orient.rules.fixed(i=0, j=0, k=-1)
¶
Fixed orientation for all points (e.g. 3-axis: tool Z-down).
Source code in utde_v0.1.0/toolpath_engine/orient/rules.py
toolpath_engine.orient.rules.lead(angle_deg)
¶
Tilt the tool forward (in travel direction) by the specified angle.
Requires context with 'prev' or 'next' point to determine travel direction. Modifies the existing orientation rather than replacing it.
Source code in utde_v0.1.0/toolpath_engine/orient/rules.py
toolpath_engine.orient.rules.lag(angle_deg)
¶
toolpath_engine.orient.rules.side_tilt(angle_deg)
¶
Tilt the tool sideways (perpendicular to travel and current tool axis).
Source code in utde_v0.1.0/toolpath_engine/orient/rules.py
toolpath_engine.orient.rules.blend(rule_a, rule_b, over=10.0)
¶
Smoothly blend between two orient rules over a distance (mm).
Starts with rule_a, transitions to rule_b over the specified distance from the start of the toolpath.
Source code in utde_v0.1.0/toolpath_engine/orient/rules.py
toolpath_engine.orient.rules.avoid_collision(machine=None, max_tilt=20.0)
¶
Adjust orientation to avoid collisions, up to max_tilt degrees from the current orientation.
This is a placeholder for the full collision-avoidance system. In the full implementation, this checks the tool assembly against workpiece/fixture geometry at each point and adjusts minimally.
For now, it ensures tool axis doesn't go past a maximum tilt from Z.