I actually always get the message, regardless of whether the tool used in the program has already been measured or not. In addition, it is inconvenient if I always have to click away a dialog box, since I actually use a hardware start button that is not bound to the monitor.
Therefore, I changed today on good luck - I am no coder - a small thing at the code. Now limit violations of the Z-axis are ignored in the function. In X&Y the check still works. Since the tool length does not change exactly predictably with every tool change anyway, I can accept that I have to take a look at it myself.
Here the original definition (from an older 2.8 master version)
Code:
def run_warn():
warnings = []
if o.canon:
machine_limit_min, machine_limit_max = soft_limits()
for i in range(3): # Does not enforce angle limits
if not(s.axis_mask & (1<<i)): continue
if o.canon.min_extents_notool[i] < machine_limit_min[i]:
warnings.append(_("Program exceeds machine minimum on axis %s")
% "XYZABCUVW"[i])
if o.canon.max_extents_notool[i] > machine_limit_max[i]:
warnings.append(_("Program exceeds machine maximum on axis %s")
% "XYZABCUVW"[i])
if warnings:
text = "\n".join(warnings)
return int(root_window.tk.call("nf_dialog", ".error",
_("Program exceeds machine limits"),
text,
"warning",
1, _("Run Anyway"), _("Cancel")))
return 0
The only line I changed is this:
Code:
for i in range(2): # check only for x & y violations
Best wishes
Jan