Import LinuxCNC source tree

This commit is contained in:
Wang Dequan
2026-08-20 06:17:39 +08:00
commit 2c814634c3
9429 changed files with 10556013 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
ngcgui -- Create tabs in the axis gui for subroutines.
pyngcgui -- python, gladevcp implementation of ngcgui that can be embedded in guis like touchy, gscreen gmoccapy
In the packaged version of LinuxCNC, ngcgui_lib is created as a symbolic link to a system directory owned by root:
/usr/share/linuxcnc/ncfiles/ngcgui_lib
This library is not ordinarily changed by the user. To modify a library .ngc file, copy the .ngc file to the [DISPLAY]PROGRAM_PREFIX directory or to a directory that is included in the path specified by [RS274NGC]SUBROUTINE_PATH and (optionally) change the filename.
The search path for LinuxCNC and ngcgui is:
[DISPLAY]PROGRAM_PREFIX
followed in order by all the colon (:) separated directories listed in:
[RS274NGC]SUBROUTINE_PATH
The search for subroutine files uses the first file found with a matching name.
See the examples and the documentation for configuring ngcgui in the startup ini file.

View File

@@ -0,0 +1,14 @@
# user command file to increase default axis gui size
# invoke with the ini file item:
# [DISPLAY]USER_COMMAND_FILE = axis_resize.py
maxgeo=root_window.tk.call("wm","maxsize",".")
# custom size (to accommodate bigger gladevcp panels)
newsize = '800' + 'x' + '680'
# for fullsize: uncomment this
# newsize=fullsize
root_window.tk.call("wm","geometry",".",newsize)

View File

@@ -0,0 +1,31 @@
#-----------------------------------------------------------------------
# Copyright: 2013
# Author: Dewey Garrett <dgarrett@panix.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#-----------------------------------------------------------------------
# Expand to fullscreen
# for axis gui, include ini item:
# Usage (in ini file):
# [DISPLAY]USER_COMMAND_FILE = fullscreen.py
maxgeo=root_window.tk.call("wm","maxsize",".")
if type(maxgeo) is type(''):
fullsize=maxgeo.split(' ')[0] + 'x' + maxgeo.split(' ')[1]
else:
fullsize=str(maxgeo[0]) + 'x' + str(maxgeo[1])
root_window.tk.call("wm","geometry",".",fullsize)

View File

@@ -0,0 +1 @@
../../gremlin_view.ui

View File

@@ -0,0 +1 @@
../../lathe.tbl

View File

@@ -0,0 +1,157 @@
[EMC]
VERSION = 1.1
MACHINE = Ngcgui-demo
DEBUG = 0
[DISPLAY]
PROGRAM_PREFIX = ../../nc_files
TKPKG = Ngcgui 1.0
TKPKG = Ngcguittt 1.0
# Ngcgui must precede Ngcguittt
NGCGUI_FONT = Helvetica -12 normal
# for startup NGCGUI_PREAMBLE, NGCGUI_SUBFILE, NGCGUI_POSTAMBLE, TTT_PREAMBLE
# items, specifly:
# a) absolute filename (start with /)
# b) relative filename: search directories specified by
# [DISPLAY]PROGRAM_PREFIX and [RS274NGC]SUBROUTINE_PATH
NGCGUI_PREAMBLE = in_std.ngc
NGCGUI_SUBFILE = xyz.ngc
NGCGUI_SUBFILE = iquad.ngc
NGCGUI_SUBFILE = db25.ngc
NGCGUI_SUBFILE = qpocket.ngc
NGCGUI_SUBFILE = qpex.ngc
NGCGUI_SUBFILE = arc2.ngc
NGCGUI_SUBFILE = ihex.ngc
NGCGUI_SUBFILE = gosper.ngc
# specify "" for a custom tab page
NGCGUI_SUBFILE = ""
NGCGUI_OPTIONS =
#NGCGUI_OPTIONS = opt1 opt2 ...
# opt items:
# nonew -- disallow making new tab page
# noremove -- disallow removing any tab page
# noauto -- no autosend (makeFile, then manually send)
# noiframe -- no internal image, image on separate toplevel
# nom2 -- no m2 terminator (use %)
TTT = truetype-tracer
TTT_PREAMBLE = in_std.ngc
DISPLAY = axis
CYCLE_TIME = 0.100
HELP_FILE = doc/help.txt
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.0
MAX_SPINDLE_OVERRIDE = 1.0
MAX_LINEAR_VELOCITY = 1.2
DEFAULT_LINEAR_VELOCITY = .25
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 1
EDITOR = gedit
# use tooltable columns for diam and z only:
TOOL_EDITOR = tooledit diam z
INCREMENTS = 1 in, 0.1 in, 10 mil, 1 mil, 1mm, .1mm, 1/8000 in
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[RS274NGC]
PARAMETER_FILE = sim.var
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 0
SERVO_PERIOD = 1000000
[TASK]
TASK = milltask
CYCLE_TIME = 0.001
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
[TRAJ]
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 1.2
MAX_LINEAR_VELOCITY = 1.2
[EMCIO]
TOOL_TABLE = sim.tbl
TOOL_CHANGE_POSITION = 0 0 2
[KINS]
KINEMATICS = trivkins
JOINTS = 3
[AXIS_X]
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
HOME = 0.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1
[AXIS_Y]
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_1]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
HOME = 0.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1
[AXIS_Z]
MIN_LIMIT = -800.0
MAX_LIMIT = 100.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_2]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -800.0
MAX_LIMIT = 100.0
HOME = 0.0
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0

View File

@@ -0,0 +1 @@
ngcgui -- comprehensive example

View File

@@ -0,0 +1 @@
ngcgui -- ejemplo completo

View File

@@ -0,0 +1,159 @@
[EMC]
VERSION = 1.1
MACHINE = Ngcgui-gcmc-demo
DEBUG = 0
[DISPLAY]
PROGRAM_PREFIX = ../../nc_files
TKPKG = Ngcgui 1.0
TKPKG = Ngcguittt 1.0
# Ngcgui must precede Ngcguittt
NGCGUI_FONT = Helvetica -12 normal
# for startup NGCGUI_PREAMBLE, NGCGUI_SUBFILE, NGCGUI_POSTAMBLE, TTT_PREAMBLE
# items, specifly:
# a) absolute filename (start with /)
# b) relative filename: search directories specified by
# [DISPLAY]PROGRAM_PREFIX and [RS274NGC]SUBROUTINE_PATH
NGCGUI_PREAMBLE = in_std.ngc
NGCGUI_SUBFILE = rectangle.gcmc
NGCGUI_SUBFILE = drill.gcmc
NGCGUI_SUBFILE = involute-gear.gcmc
NGCGUI_SUBFILE = trochoid-path.gcmc
NGCGUI_SUBFILE = cpocket.gcmc
NGCGUI_SUBFILE = star.gcmc
NGCGUI_SUBFILE = wheels.gcmc
NGCGUI_SUBFILE = xyz.ngc
# specify "" for a custom tab page
NGCGUI_SUBFILE = ""
NGCGUI_OPTIONS =
#NGCGUI_OPTIONS = opt1 opt2 ...
# opt items:
# nonew -- disallow making new tab page
# noremove -- disallow removing any tab page
# noauto -- no autosend (makeFile, then manually send)
# noiframe -- no internal image, image on separate toplevel
# nom2 -- no m2 terminator (use %)
# example for gcmc includes: separate dirnames with colons:
# GCMC_INCLUDE_PATH = dir1:dir2:...
GCMC_INCLUDE_PATH = ../../nc_files/gcmc_lib
TTT = truetype-tracer
TTT_PREAMBLE = in_std.ngc
DISPLAY = axis
CYCLE_TIME = 0.100
HELP_FILE = doc/help.txt
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.0
MAX_SPINDLE_OVERRIDE = 1.0
MAX_LINEAR_VELOCITY = 1.2
DEFAULT_LINEAR_VELOCITY = .25
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 1
EDITOR = gedit
# use tooltable columns for diam and z only:
TOOL_EDITOR = tooledit diam z
INCREMENTS = 1 in, 0.1 in, 10 mil, 1 mil, 1mm, .1mm, 1/8000 in
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[RS274NGC]
PARAMETER_FILE = sim.var
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/gcmc_lib:../../nc_files/ngcgui_lib/utilitysubs
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 0
SERVO_PERIOD = 1000000
[TASK]
TASK = milltask
CYCLE_TIME = 0.001
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
[TRAJ]
COORDINATES = X Y Z
NO_FORCE_HOMING = 1
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 1.2
MAX_LINEAR_VELOCITY = 1.2
[EMCIO]
TOOL_TABLE = sim.tbl
TOOL_CHANGE_POSITION = 0 0 2
[KINS]
KINEMATICS = trivkins
JOINTS = 3
[AXIS_X]
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
HOME = 0.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_SEQUENCE = 1
[AXIS_Y]
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_1]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
HOME = 0.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_SEQUENCE = 1
[AXIS_Z]
MIN_LIMIT = -800.0
MAX_LIMIT = 100.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_2]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -800.0
MAX_LIMIT = 100.0
HOME = 0.0
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_SEQUENCE = 0

View File

@@ -0,0 +1,15 @@
ngcgui embedded as axis tab
with support for .gcmc (G-Code Meta Compiler) files
The .ngc and .gcmc files can be intermixed with
ini file lines like:
NGCGUI_SUBFILE = drill.gcmc
NGCGUI_SUBFILE = wheels.gcmc
NGCGUI_SUBFILE = star.gcmc
NGCGUI_SUBFILE = simp.ngc
NGCGUI_SUBFILE = ""
See the ini file for example details

View File

@@ -0,0 +1,15 @@
ngcgui incrustado como pestaña de Axis
con soporte para archivos .gcmc (G-Code Meta Compiler)
Los archivos .ngc y .gcmc se pueden mezclar con
líneas de archivo ini como:
NGCGUI_SUBFILE = drill.gcmc
NGCGUI_SUBFILE = wheels.gcmc
NGCGUI_SUBFILE = star.gcmc
NGCGUI_SUBFILE = simp.ngc
NGCGUI_SUBFILE = ""
Ver el archivo ini para detalles de ejemplo

View File

@@ -0,0 +1,127 @@
[EMC]
VERSION = 1.1
MACHINE = ngcgui-lathe
[DISPLAY]
PROGRAM_PREFIX = ../../nc_files
TKPKG = Ngcgui 1.0
NGCGUI_FONT = Helvetica -12 normal
# for startup NGCGUI_PREAMBLE, NGCGUI_SUBFILE, NGCGUI_POSTAMBLE, TTT_PREAMBLE
# items, specifly:
# a) absolute filename (start with /)
# b) relative filename: search directories specified by
# [DISPLAY]PROGRAM_PREFIX and [RS274NGC]SUBROUTINE_PATH
NGCGUI_PREAMBLE = lathe_std.ngc
NGCGUI_SUBFILE = id.ngc
NGCGUI_SUBFILE = od.ngc
NGCGUI_SUBFILE = taper-od.ngc
NGCGUI_SUBFILE = g76base.ngc
NGCGUI_SUBFILE = g76diam.ngc
# specify "" for a custom tab page
NGCGUI_SUBFILE = ""
#NGCGUI_OPTIONS = opt1 opt2 ...
# opt items:
# nonew -- disallow making new tab page
# noremove -- disallow removing any tab page
# noauto -- no autosend (makeFile, then manually send)
# noiframe -- no internal image, image on separate toplevel
# nom2 -- no m2 terminator (use %)
DISPLAY = axis
LATHE = 1
EDITOR = gedit
# use tooltable columns for: diam front back orien
TOOL_EDITOR = tooledit diam front back orien
CYCLE_TIME = 0.100
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
MAX_SPINDLE_OVERRIDE = 1.0
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[RS274NGC]
PARAMETER_FILE = sim-lathe.var
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib/lathe:../../nc_files/ngcgui_lib/utilitysubs
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 50000
SERVO_PERIOD = 1000000
[TASK]
TASK = milltask
CYCLE_TIME = 0.001
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
[TRAJ]
COORDINATES = X Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 1.0
MAX_LINEAR_VELOCITY = 3.333334
DEFAULT_LINEAR_ACCELERATION = 20.0
MAX_LINEAR_ACCELERATION = 20.0
[EMCIO]
TOOL_TABLE = lathe.tbl
TOOL_CHANGE_POSITION = 1 0 1
TOOL_CHANGE_WITH_SPINDLE_ON = 1
[KINS]
KINEMATICS = trivkins coordinates=xz
JOINTS = 2
[AXIS_X]
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 3.333334
MAX_ACCELERATION = 20.0
[AXIS_Z]
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
MAX_VELOCITY = 3.333334
MAX_ACCELERATION = 20.0
[JOINT_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 3.333334
MAX_ACCELERATION = 20.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 5.0
HOME_LATCH_VEL = 1.0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 3.333334
MAX_ACCELERATION = 20.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 5.0
HOME_LATCH_VEL = 1.0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1

View File

@@ -0,0 +1 @@
ngcgui example with lathe subroutines

View File

@@ -0,0 +1 @@
Ejemplo ngcgui con subrutinas para torno

View File

@@ -0,0 +1,145 @@
[EMC]
VERSION = 1.1
MACHINE = Ngcgui-demo
DEBUG = 0
[DISPLAY]
PROGRAM_PREFIX = ../../nc_files
# Note: TKPKG (one or more) specifies tcl/tk apps to embed in axis tab pages
TKPKG = Ngcgui 1.0
# for startup NGCGUI_PREAMBLE, NGCGUI_SUBFILE, NGCGUI_POSTAMBLE, TTT_PREAMBLE
# items, specifly:
# a) absolute filename (start with /)
# b) relative filename: search directories specified by
# [DISPLAY]PROGRAM_PREFIX and [RS274NGC]SUBROUTINE_PATH
NGCGUI_PREAMBLE = in_std.ngc
NGCGUI_SUBFILE = simp.ngc
NGCGUI_SUBFILE = xyz.ngc
NGCGUI_FONT = Helvetica -12 normal
NGCGUI_OPTIONS = nonew noremove
#NGCGUI_OPTIONS = opt1 opt2 ...
# opt items:
# nonew -- disallow making new tab page
# noremove -- disallow removing any tab page
# noauto -- no autosend (makeFile, then manually send)
# noiframe -- no internal image, image on separate toplevel
# nom2 -- no m2 terminator (use %)
DISPLAY = axis
CYCLE_TIME = 0.100
HELP_FILE = doc/help.txt
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.0
MAX_SPINDLE_OVERRIDE = 1.0
MAX_LINEAR_VELOCITY = 1.2
DEFAULT_LINEAR_VELOCITY = .25
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 1
EDITOR = gedit
TOOL_EDITOR = tooledit
INCREMENTS = 1 in, 0.1 in, 10 mil, 1 mil, 1mm, .1mm, 1/8000 in
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[RS274NGC]
PARAMETER_FILE = sim.var
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 0
SERVO_PERIOD = 1000000
[TASK]
TASK = milltask
CYCLE_TIME = 0.001
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
[TRAJ]
COORDINATES = X Y Z
#NO_FORCE_HOMING = 1
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 1.2
MAX_LINEAR_VELOCITY = 1.2
[EMCIO]
TOOL_TABLE = sim.tbl
TOOL_CHANGE_POSITION = 0 0 2
[KINS]
KINEMATICS = trivkins
JOINTS = 3
[AXIS_X]
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
HOME = 0.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1
[AXIS_Y]
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_1]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
HOME = 0.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1
[AXIS_Z]
MIN_LIMIT = -800.0
MAX_LIMIT = 100.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_2]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -800.0
MAX_LIMIT = 100.0
HOME = 0.0
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0

View File

@@ -0,0 +1 @@
ngcgui -- simple example subroutines

View File

@@ -0,0 +1 @@
ngcgui -- ejemplo simple de subrutinas

View File

@@ -0,0 +1,158 @@
[EMC]
VERSION = 1.1
MACHINE = pyngcgui-axis demo
DEBUG = 0
[DISPLAY]
PROGRAM_PREFIX = ../../nc_files
USER_COMMAND_FILE = ./fullscreen.py
EMBED_TAB_NAME = Pyngcgui
EMBED_TAB_COMMAND = gladevcp -x {XID} pyngcgui_axis.ui
EMBED_TAB_NAME = Gremlinview
EMBED_TAB_COMMAND = gladevcp -x {XID} gremlin_view.ui
NGCGUI_FONT = Helvetica -12 normal
# for startup NGCGUI_PREAMBLE, NGCGUI_SUBFILE, NGCGUI_POSTAMBLE
# items, specifly:
# a) absolute filename (start with /)
# b) relative filename: search directories specified by
# [DISPLAY]PROGRAM_PREFIX and [RS274NGC]SUBROUTINE_PATH
NGCGUI_PREAMBLE = in_std.ngc
NGCGUI_SUBFILE = simp.ngc
NGCGUI_SUBFILE = db25.ngc
NGCGUI_SUBFILE = gosper.ngc
NGCGUI_SUBFILE = xyz.ngc
NGCGUI_SUBFILE = iquad.ngc
NGCGUI_SUBFILE = qpocket.ngc
NGCGUI_SUBFILE = arc2.ngc
NGCGUI_SUBFILE = ihex.ngc
# specify "" for a custom tab page
NGCGUI_SUBFILE = ""
NGCGUI_OPTIONS =
#NGCGUI_OPTIONS = opt1 opt2 ...
# opt items:
# nonew -- disallow making new tab page
# noremove -- disallow removing any tab page
# noauto -- no autosend (makeFile, then manually send)
# noiframe -- no internal image, image on separate toplevel
# nom2 -- no m2 terminator (use %)
DISPLAY = axis
CYCLE_TIME = 0.100
HELP_FILE = doc/help.txt
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.0
MAX_SPINDLE_OVERRIDE = 1.0
MAX_LINEAR_VELOCITY = 1.2
DEFAULT_LINEAR_VELOCITY = .25
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 1
EDITOR = gedit
# use tooltable columns for diam and z only:
TOOL_EDITOR = tooledit diam z
INCREMENTS = 1 in, 0.1 in, 10 mil, 1 mil, 1mm, .1mm, 1/8000 in
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python3
[RS274NGC]
PARAMETER_FILE = sim.var
SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_lib/utilitysubs
USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
BASE_PERIOD = 0
SERVO_PERIOD = 1000000
[TASK]
TASK = milltask
CYCLE_TIME = 0.001
[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
[TRAJ]
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 1.2
MAX_LINEAR_VELOCITY = 1.2
[EMCIO]
TOOL_TABLE = sim.tbl
TOOL_CHANGE_POSITION = 0 0 2
[KINS]
KINEMATICS = trivkins
JOINTS = 3
[AXIS_X]
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
HOME = 0.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1
[AXIS_Y]
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_1]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -400.0
MAX_LIMIT = 400.0
HOME = 0.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1
[AXIS_Z]
MIN_LIMIT = -800.0
MAX_LIMIT = 100.0
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
[JOINT_2]
TYPE = LINEAR
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -800.0
MAX_LIMIT = 100.0
HOME = 0.0
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0

View File

@@ -0,0 +1,5 @@
pyngcgui_axis
Demonstrates pyngcgui as gladevcp app in axis gui
The original ngcgui may be better integrated in the axis gui

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkWindow" id="window1">
<property name="can_focus">False</property>
<property name="resizable">False</property>
<property name="default_width">712</property>
<property name="default_height">200</property>
<child>
<object class="PyNgcGui" id="pyngcgui1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="use_keyboard">False</property>
<property name="debug">False</property>
<property name="verbose">False</property>
<property name="send_function_name">send_to_axis</property>
<property name="send_to_dir"></property>
<property name="control_font_name"></property>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,5 @@
pyngcgui_axis
Demuestra pyngcgui como aplicación gladevcp en gui Axis
El ngcgui original puede integrarse mejor en la interfaz Axis

View File

@@ -0,0 +1 @@
../../pyngcgui_popupkeyboard.ui

View File

@@ -0,0 +1 @@
../../sim.tbl