You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 0f1aa81
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/src/code/code-notes.adoc
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1312,8 +1312,7 @@ settings.tool_offset::
1312
1312
+
1313
1313
* Used to compute position in various places.
1314
1314
* Sent to Motion via the +EMCMOT_SET_OFFSET+ message.
1315
-
All motion does with the offsets is export them to the HAL pins +motion.0.tooloffset.[xyzabcuvw]+.
1316
-
FIXME: export these from someplace closer to the tool table (io or interp, probably) and remove the EMCMOT_SET_OFFSET message.
1315
+
Motion exports the offsets to the HAL pins +motion.0.tooloffset.[xyzabcuvw]+ and hands them to the kinematics module through +kinematicsSetTool()+, for a module whose maths needs the tool length.
1317
1316
1318
1317
settings.pockets_max::
1319
1318
Used interchangeably with +CANON_POCKETS_MAX+ (a #defined constant, set to 1000 as of April 2020).
Copy file name to clipboardExpand all lines: docs/src/motion/5-axis-kinematics.adoc
+8-13Lines changed: 8 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -317,23 +317,17 @@ See the simulation INI files for details of the HAL connections used for the vis
317
317
318
318
=== Tool-Length Compensation
319
319
320
-
In order to use tools from a tool table sequentially with tool-length compensation applied automatically, a further Z-offset is required. For a tool that is longer than the "master" tool, which typically has a tool length of zero, LinuxCNC has a variable called "motion.tooloffset.z". If this variable is passed on to the kinematic component (and vismach python script), then the necessary additional Z-offset for a new tool can be accounted for by adding the component statement, for example:
320
+
In order to use tools from a tool table sequentially with tool-length compensation applied automatically, a further Z-offset is required. For a tool that is longer than the "master" tool, which typically has a tool length of zero, the kinematics accounts for the tool length in effect, for example:
Motion hands the tool offset in effect (G43, G49) to the kinematics module directly, so the module sees the tool from the tool table with no HAL connection. The module's tool-offset pin (xyzac-trt-kins.tool-offset) remains for a configuration that connects it, and is read only until motion has sent an offset; a value set on it that disagrees with the tool table is reported once and not used.
325
325
326
-
[source,hal]
327
-
----
328
-
net :tool-offset motion.tooloffset.z xyzac-trt-kins.tool-offset
329
-
----
330
-
331
-
where:
326
+
Motion also publishes the offset on the HAL pin "motion.tooloffset.z", which is what a vismach python script reads to draw the tool:
332
327
328
+
[source,hal]
333
329
----
334
-
:tool-offset ---------------- signal name
335
-
motion.tooloffset.z --------- output HAL pin from LinuxCNC motion module
336
-
xyzac-trt-kins.tool-offset -- input HAL pin to xyzac-trt-kins
330
+
net :tool-offset motion.tooloffset.z xyzac-trt-gui.tool-offset
337
331
----
338
332
339
333
== Custom Kinematics Components
@@ -383,17 +377,18 @@ KINEMATICS = kinsname
383
377
384
378
where "kinsname" is the name of your kins program.
385
379
Additional HAL pins may be created by the module for variable configuration items
386
-
such as the D~x~, D~y~, D~z~, tool-offset used in the xyzac-trt kinematics module.
380
+
such as the D~x~, D~y~, D~z~ used in the xyzac-trt kinematics module.
387
381
These pins can be connected to a signal for dynamic control or set once with HAL connections like:
388
382
389
383
[source,hal]
390
384
----
391
385
# set offset parameters
392
-
net :tool-offset motion.tooloffset.z xyzac-trt-kins.tool-offset
393
386
setp xyzac-trt-kins.y-offset 0
394
387
setp xyzac-trt-kins.z-offset 20
395
388
----
396
389
390
+
The tool length is not among them: motion hands it to the module from the tool table.
0 commit comments