<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">From 56106524a7a202a035f14ff0d054e33672893006 Mon Sep 17 00:00:00 2001
From: Dewey Garrett &lt;dgarrett@panix.com&gt;
Date: Sun, 21 Dec 2014 18:57:59 -0700
Subject: [PATCH] inifile: [RS274NGC]TOLERANCE_INCH,TOLERANCE_MM

---
 src/emc/rs274ngc/interp_convert.cc  |    8 +++++---
 src/emc/rs274ngc/interp_internal.hh |    2 ++
 src/emc/rs274ngc/rs274ngc_pre.cc    |    5 +++++
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/emc/rs274ngc/interp_convert.cc b/src/emc/rs274ngc/interp_convert.cc
index 83613f3..3e58c55 100644
--- a/src/emc/rs274ngc/interp_convert.cc
+++ b/src/emc/rs274ngc/interp_convert.cc
@@ -564,7 +564,7 @@ int Interp::convert_arc2(int move,       //!&lt; either G_2 (cw arc) or G_3 (ccw ar
   int plane = settings-&gt;plane;
 
   tolerance = (settings-&gt;length_units == CANON_UNITS_INCHES) ?
-    TOLERANCE_INCH : TOLERANCE_MM;
+    settings-&gt;tolerance_inch : settings-&gt;tolerance_mm;
 
   if (block-&gt;r_flag) {
       CHP(arc_data_r(move, plane, *current1, *current2, end1, end2,
@@ -644,7 +644,9 @@ int Interp::convert_arc_comp1(int move,  //!&lt; either G_2 (cw arc) or G_3 (ccw ar
 
     side = settings-&gt;cutter_comp_side;
     tool_radius = settings-&gt;cutter_comp_radius;   /* always is positive */
-    tolerance = (settings-&gt;length_units == CANON_UNITS_INCHES) ? TOLERANCE_INCH : TOLERANCE_MM;
+
+    tolerance = (settings-&gt;length_units == CANON_UNITS_INCHES) ?
+          settings-&gt;tolerance_inch : settings-&gt;tolerance_mm;
 
     comp_get_current(settings, &amp;cx, &amp;cy, &amp;cz);
 
@@ -806,7 +808,7 @@ int Interp::convert_arc_comp2(int move,  //!&lt; either G_2 (cw arc) or G_3 (ccw ar
     comp_get_current(settings, &amp;cx, &amp;cy, &amp;cz);
 
     tolerance = (settings-&gt;length_units == CANON_UNITS_INCHES) ?
-        TOLERANCE_INCH : TOLERANCE_MM;
+        settings-&gt;tolerance_inch : settings-&gt;tolerance_mm;
 
     if (block-&gt;r_flag) {
         CHP(arc_data_r(move, plane, opx, opy, end_x, end_y,
diff --git a/src/emc/rs274ngc/interp_internal.hh b/src/emc/rs274ngc/interp_internal.hh
index aaf464e..752914a 100644
--- a/src/emc/rs274ngc/interp_internal.hh
+++ b/src/emc/rs274ngc/interp_internal.hh
@@ -663,6 +663,8 @@ typedef struct setup_struct
   FILE *file_pointer;           // file pointer for open NC code file
   bool flood;                 // whether flood coolant is on
   CANON_UNITS length_units;     // millimeters or inches
+  double tolerance_inch;        // modify with ini setting
+  double tolerance_mm;          // modify with ini setting
   int line_length;              // length of line last read
   char linetext[LINELEN];       // text of most recent line read
   bool mist;                  // whether mist coolant is on
diff --git a/src/emc/rs274ngc/rs274ngc_pre.cc b/src/emc/rs274ngc/rs274ngc_pre.cc
index f8b20ad..50240e7 100644
--- a/src/emc/rs274ngc/rs274ngc_pre.cc
+++ b/src/emc/rs274ngc/rs274ngc_pre.cc
@@ -966,6 +966,11 @@ int Interp::init()
 	      n++;
 	  }
 
+          _setup.tolerance_inch = TOLERANCE_INCH;
+          _setup.tolerance_mm   = TOLERANCE_INCH;
+          inifile.Find(&amp;_setup.tolerance_inch, "TOLERANCE_INCH", "RS274NGC");
+          inifile.Find(&amp;_setup.tolerance_mm,   "TOLERANCE_MM",   "RS274NGC");
+
           // close it
           inifile.Close();
       }
-- 
1.7.10.4

</pre></body></html>