diff --git a/.gitignore b/.gitignore index 737b8c4c1d464a51ea207812f287c1a930b1627a..49c5a64c20d87031c9f45674086a845171299a8b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,7 @@ linuxcnc.var.bak old/* *.pref tool.tbl - +*.pyc +postion.txt +savestate.* +savestatemacro.* diff --git a/LatheMacro.svg b/LatheMacro.svg new file mode 100755 index 0000000000000000000000000000000000000000..86674ae726d45cfed573bf30c592926596e9e922 --- /dev/null +++ b/LatheMacro.svg @@ -0,0 +1,2995 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Zero + + Radius + Depth + Diameter + To cut + Feed + Angle + + + + + + + + + + + + + + + + + + + + + + + + + + Radius + Depth + Diamater + To cut + Feed + Angle + Zero + + + + + + + + + + + + + + + + + + + + + + + + + Depth + To cut + Feed + Diameter + Zero + + + Angle + + + + + + + + + + + + + + + + + + + + + + + + + Radius + Diameter + Depth + + Zero + + + + + + + + + + + + + + + + + + + + + + + + + + Zero + + Chamfer + Depth + Diameter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Depth + + Diameter + Pitch + + + Zero + + + + + + + + + + + + + + + + + + + + + + + + Zero + + Depth + + Diameter + Peck + Feed + + + + Retract + + diff --git a/lathehandler.py b/lathehandler.py new file mode 100755 index 0000000000000000000000000000000000000000..e15b0a57400829ec68f92d54792df63b9cac7179 --- /dev/null +++ b/lathehandler.py @@ -0,0 +1,277 @@ +#!/usr/bin/env python +# vim: sts=4 sw=4 et +# This is a component of EMC +# savestate.py copyright 2013 Andy Pugh +# based on code from +# probe.py Copyright 2010 Michael Haberler +# +# +# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA'''''' + +import os,sys +from gladevcp.persistence import IniFile,widget_defaults,set_debug,select_widgets +import hal +import hal_glib +import gtk +import glib +import linuxcnc +import rsvg +import cairo +import signal +import pango + +debug = 0 + +class HandlerClass: + active = False + tab_num = 0 + firstpress = 0 + + def on_expose(self,nb,data=None): + tab_num = nb.get_current_page() + tab = nb.get_nth_page(tab_num) + cr = tab.window.cairo_create() + cr.set_operator(cairo.OPERATOR_OVER) + x, y, w, h = tab.allocation + sx, sy, sw, sh = self.svg.get_dimension_data() + cr.translate(0, y) + cr.scale(1.0 *w / sw, 1.0*h/sh) + self.svg.render_cairo(cr = cr, id = '#layer%i' % tab_num) + + # This catches our messages from another program + def event(self,w,event): + print event.message_type,event.data + if event.message_type == 'Gladevcp': + if event.data[:7] == 'Visible': + self.active = True + else: + self.active = False + + # We connect to client-events from the new toplevel widget + def on_map_event(self, widget, data=None): + top = widget.get_toplevel() + print "map event" + top.connect('client-event', self.event) + + def on_destroy(self,obj,data=None): + self.ini.save_state(self) + + def on_restore_defaults(self,button,data=None): + ''' + example callback for 'Reset to defaults' button + currently unused + ''' + self.ini.create_default_ini() + self.ini.restore_state(self) + + def __init__(self, halcomp,builder,useropts): + self.halcomp = halcomp + self.builder = builder + self.ini_filename = 'savestatemacro.sav' + self.defaults = { IniFile.vars: dict(), + IniFile.widgets : widget_defaults(select_widgets(self.builder.get_objects(), hal_only=False,output_only = True)) + } + self.ini = IniFile(self.ini_filename,self.defaults,self.builder) + self.ini.restore_state(self) + + # A pin to use a physical switch to start the cycle + self.cycle_start = hal_glib.GPin(halcomp.newpin('cycle-start', hal.HAL_BIT, hal.HAL_IN)) + self.cycle_start.connect('value-changed', self.cycle_pin) + + # This catches the signal from Touchy to say that the tab is exposed + t = self.builder.get_object('eventbox1') + t.connect('map-event',self.on_map_event) + t.add_events(gtk.gdk.STRUCTURE_MASK) + self.cmd = linuxcnc.command() + + # This conects the expose event to re-draw and scale the SVG frames + t = self.builder.get_object('tabs1') + t.connect_after("expose_event", self.on_expose) + t.connect("destroy", gtk.main_quit) + t.add_events(gtk.gdk.STRUCTURE_MASK) + self.svg = rsvg.Handle(file='LatheMacro.svg', ) + + def show_keyb(self, obj, data=None): + self.active_ctrl = obj + self.keyb = self.builder.get_object('keyboard') + self.entry = self.builder.get_object('entry1') + self.entry.modify_font(pango.FontDescription("courier 42")) + #set text to previous value + self.entry.set_text(self.active_ctrl.get_text()) + self.entry.select_region(0,-1) + #clear text + #self.entry.set_text("") + self.firstpress = 1 + resp = self.keyb.run() + #Add for prevent but if closing the windows without click cancel + self.keyb.hide() + + def keyb_prev_click(self, obj, data=None): + pos = self.entry.get_position() + self.entry.set_text(self.active_ctrl.get_text()) + self.entry.set_position(pos) + + def keyb_number_click(self, obj, data=None): + + dataval = obj.get_label() + entryval = self.entry.get_text() + #do some sanity checking + if '.' in dataval: + if self.firstpress == 0: + tarr = entryval.split('/') + pos = self.entry.get_position() + if len(tarr[0]) >= pos: + #cursor is in the numerator + if '.' in tarr[0]: + return + elif len(tarr) > 1: + if '.' in tarr[1]: + return + if '/' in dataval and '/' in entryval: + return #only one divisor + + self.firstpress = 0 + + #otherwise send the value to the entry box + event = gtk.gdk.Event(gtk.gdk.KEY_PRESS) + data = obj.get_label() + virtkey = int(gtk.gdk.unicode_to_keyval(ord(data[0]))) + event.keyval = virtkey + self.entry.emit('key_press_event', event) + + def process_entry(self): + self.firstpress = 0 + data = self.entry.get_text() + darr = data.split('/') + if len(darr) == 1: + #is a single number + return darr[0] + else: + if float(darr[1]) == 0: + return darr[0] #not really correct for divide by 0 but this should be fine + else: + value = float(darr[0]) / float(darr[1]) + return "%.5f" % value + + def keyb_pm_click(self, obj, data=None): + data = self.process_entry() + if data[0] == '-': + data = data[1:] + else: + data = '-' + data + self.entry.set_text(data) + self.entry.set_position(-1) + + + def keyb_convert_click(self, obj, data=None): + v = float(self.process_entry()) + op = obj.get_label() + if op == 'in->mm': + v = v * 25.4 + elif op == 'mm->in': + v = v / 25.4 + elif op == 'tpi->pitch': + v = 25.4 / v + elif op == 'pitch->tpi': + v = 25.4 / v + self.entry.set_text('%6.4f'%v) + self.entry.set_position(-1) + + def keyb_del_click(self, obj, data=None): + data = self.entry.get_text() + pos = self.entry.get_position() + data = data[:(pos-1)] + data[pos:] + self.entry.set_text(data) + self.entry.set_position(pos-1) + + def keyb_clear_click(self, obj, data=None): + self.entry.set_text("0") + self.entry.select_region(0,-1) + + def keyb_cancel_click(self, obj, data=None): + self.keyb.hide() + + def keyb_ok_click(self, obj, data=None): + if self.entry.get_text() != '': + self.active_ctrl.set_value(float(self.process_entry())) + self.keyb.hide() + + def set_alpha(self, obj, data = None): + cr = obj.window.cairo_create() + cr.set_source_rgba(1.0, 1.0, 1.0, 0.0) + + def cycle_pin(self, pin, data = None): + if pin.get() == 0: + return + print 'cycle pin' + if self.active: + nb = self.builder.get_object('tabs1') + print 'current tab', nb.get_current_page() + tab = nb.get_nth_page(nb.get_current_page()) + for c in tab.get_children(): + if c.name.partition('.')[2] == 'action': + self.cmd.abort() + self.cmd.mode(linuxcnc.MODE_MDI) + self.cmd.wait_complete() + c.emit('clicked') + + def gash(self, obj, data = None): + print 'event', data + + + def spin_handler(self, obj, data=None): + data = obj.get_text() + if data[-3:] == 'tpi': + obj.set_value(25.4/float(data[:-3])) + obj.set_position(-1) + elif data[-2:] == 'in': + obj.set_value(25.4*float(data[:-2])) + obj.set_position(-1) + elif data[-2:] == 'mm': + obj.set_value(float(data[:-2])/25.4) + obj.set_position(-1) + elif data[-5:] == 'pitch': + obj.set_value(25.4/float(data[:-5])) + obj.set_position(-1) + elif data[-2:] in [ '/2', '/4', '/8']: + v = data[:-2].split() + if len(v) == 2: + obj.set_value(float(v[0]) + float(v[1]) / float(data[-1:])) + obj.set_position(-1) + elif len(v) == 1: + obj.set_value(float(v[0]) / float(data[-1:])) + obj.set_position(-1) + elif data[-3:] in [ '/16', '/32', '/64']: + v = data[:-3].split() + if len(v) == 2: + obj.set_value(float(v[0]) + float(v[1]) / float(data[-2:])) + obj.set_position(-1) + elif len(v) == 1: + obj.set_value(float(v[0]) / float(data[-2:])) + obj.set_position(-1) + + + +def get_handlers(halcomp,builder,useropts,dummy=False): + + global debug + for cmd in useropts: + exec cmd in globals() + + set_debug(debug) + return [HandlerClass(halcomp,builder,useropts)] + + + diff --git a/lathemacro-en-numpad.ui b/lathemacro-en-numpad.ui new file mode 100755 index 0000000000000000000000000000000000000000..a950d158a39493787b468c7f53d8cd5d9e85b695 --- /dev/null +++ b/lathemacro-en-numpad.ui @@ -0,0 +1,7593 @@ + + + + + + + + -90 + 90 + 0.2 + 1 + + + 3 + 0.15 + 0.05 + 10 + + + 2 + 0.15 + 0.03 + + + 100 + 0.25 + 10 + + + 20 + 1000 + 45 + 5 + 10 + + + 100 + 1 + 1 + 10 + + + -2 + 1000 + 15 + 1 + 10 + + + -1000 + 1000 + 1 + 1 + 10 + + + 100 + 0.25 + 0.1 + 0.5 + + + 10 + 0.01 + 0.1 + + + 100 + 0.1 + 1 + + + 100 + 0.01 + 0.10000000000000001 + + + 20 + 1000 + 45 + 5 + 10 + + + 100 + 8 + 1 + 10 + + + -1000 + 1000 + 0.1 + 1 + + + 100 + 7 + 1 + 10 + + + 20 + 1000 + 45 + 5 + 10 + + + -1000 + 1000 + 1 + 10 + + + -2 + 1000 + 1 + 10 + + + 2 + 0.1 + 10 + + + 100 + 0.01 + 10 + + + -89 + 89 + 1 + 10 + + + 100 + 1 + 1 + 10 + + + 20 + 1000 + 45 + 5 + 10 + + + -1000 + 1000 + 1 + 10 + + + 100 + 1 + 10 + + + 20 + 1000 + 45 + 5 + 10 + + + -2 + 1000 + 1 + 10 + + + 100 + 1 + 1 + 10 + + + 20 + 1000 + 45 + 5 + 10 + + + 100 + 1 + 10 + + + -1000 + 1000 + 1 + 10 + + + -2 + 1000 + 1 + 10 + + + 100 + 5 + 1 + 10 + + + 20 + 1000 + 45 + 5 + 10 + + + -2 + 1000 + 1 + 10 + + + -1000 + 1000 + 1 + 10 + + + 100 + 0.1 + 10 + + + 100 + 0.25 + 10 + + + -1000 + 1000 + 1 + 10 + + + 100 + 1 + 10 + 10 + + + 100 + 1 + 10 + 10 + + + -89 + 89 + 0.5 + 10 + + + -1000 + 1000 + 1 + 10 + + + 100 + 0.01 + 10 + + + 100 + 0.1 + 10 + + + -2 + 1000 + 1 + 10 + + + 100 + 1 + 1 + 10 + + + gtk-media-play + O<boring> call [${bore.x-f}] [${bore.sf-f}] [${bore.cut-f}] [${bore.feed-f}] [${bore.z-f}] [${bore.rad-f}] [${bore.angle-f}] [${bore.tool-s}] [${bore.coolant}] + + + gtk-media-stop + + + Set Tool + M6 T${bore.tool-s} G43 H${bore.tool-s} + + + gtk-media-play + O<chamfer>call [${chamfer.x-f}] [${chamfer.sf-f}] [0.5] [0] [${chamfer.z-f}] [${chamfer.tool-s}] [0] [${chamfer.size-f}] [${chamfer.fo}] [${chamfer.fi}] [${chamfer.bo}] [${chamfer.coolant}] + + + gtk-media-stop + + + M6 T${chamfer.tool-s} G43 H${chamfer.tool-s} + + + gtk-media-play + O<drill> call [${drill.diameter-f}] [${drill.ydepth-f}] [${drill.sf-f}] [${drill.feed-f}] [${drill.tool-s}] [${drill.peck-f}] [${drill.retract-f}] [${drill.coolant}] + + + gtk-media-stop + + + M6 T${drill.tool-s} G43 H${drill.tool-s} + + + gtk-media-play + O<facing>call [${face.x-f}] [${face.sf-f}] [${face.cut-f}] [${face.feed-f}] [${face.z-f}] [${face.angle-s}] [${face.tool-s}] [${face.coolant}] + + + gtk-media-stop + + + Set Tool + M6 T${face.tool-s} G43 H${face.tool-s} + + + gtk-media-play + O<radius> call [${radius.x-f}] [${radius.sf-f}] [0.5] [0] [${radius.z-f}] [${radius.tool-s}] [0] [${radius.rad-f}] [${radius.fo}] [${radius.fi}] [${radius.bo}] [${radius.coolant}] + + + gtk-media-stop + media-playback-stop + + + Set Tool + M6 T${radius.tool-s} G43 H${radius.tool-s} + + + gtk-media-play + O<threading>call [${thread.x-f}] [${thread.sf-f}] [${thread.tool-s}] [${thread.pitch-f}] [${thread.z-f}] [${thread.internal}] [${thread.external}] [${thread.coolant}] + + + gtk-media-stop + + + M6 T${thread.tool-s} G43 H${thread.tool-s} + + + gtk-media-play + O<turning> call [${turn.x-f}] [${turn.sf-f}] [${turn.cut-f}] [${turn.feed-f}] [${turn.z-f}] [${turn.rad-f}] [${turn.angle-f}] [${turn.tool-s}] [${turn.coolant}] + + + gtk-media-stop + + + Set Tool + M6 T${turn.tool-s} G43 H${turn.tool-s} + + + + False + 5 + dialog + + + True + False + 2 + + + True + False + end + + + OK + 100 + 50 + True + True + True + False + + + + False + False + 0 + + + + + Cancel + 100 + 50 + True + True + True + False + + + + False + False + 1 + + + + + False + True + end + 0 + + + + + 60 + True + True + True + True + + False + False + True + True + + + False + False + 1 + + + + + True + False + 5 + 4 + + + 1 + 50 + 50 + True + True + True + False + + + + + + 2 + 50 + 20 + True + True + True + False + + + + 1 + 2 + + + + + 3 + 50 + 20 + True + True + True + False + + + + 2 + 3 + + + + + DEL + 50 + 20 + True + True + True + False + + + + 3 + 4 + + + + + 4 + 50 + 50 + True + True + True + False + + + + 1 + 2 + + + + + 5 + 50 + 20 + True + True + True + False + + + + 1 + 2 + 1 + 2 + + + + + 6 + 50 + 20 + True + True + True + False + + + + 2 + 3 + 1 + 2 + + + + + CLR + 50 + 20 + True + True + True + False + + + + 3 + 4 + 1 + 2 + + + + + 7 + 50 + 50 + True + True + True + False + + + + 2 + 3 + + + + + 8 + 50 + 20 + True + True + True + False + + + + 1 + 2 + 2 + 3 + + + + + 9 + 50 + 20 + True + True + True + False + + + + 2 + 3 + 2 + 3 + + + + + PREV + 50 + 20 + True + True + True + False + + + + 3 + 4 + 2 + 3 + + + + + +/- + 50 + 50 + True + True + True + False + + + + 3 + 4 + + + + + 0 + 50 + 20 + True + True + True + False + + + + 1 + 2 + 3 + 4 + + + + + . + 50 + 20 + True + True + True + False + + + + 2 + 3 + 3 + 4 + + + + + / + 50 + 20 + True + True + True + False + + + + 3 + 4 + 3 + 4 + + + + + in->mm + 80 + 40 + True + True + True + False + + + + 4 + 5 + 4 + 4 + + + + + mm->in + 80 + 40 + True + True + True + False + + + + 1 + 2 + 4 + 5 + 4 + 4 + + + + + pitch->tpi + 80 + 40 + True + True + True + False + + + + 2 + 3 + 4 + 5 + 4 + 4 + + + + + tpi->pitch + 80 + 40 + True + True + True + False + + + + 3 + 4 + 4 + 5 + 4 + 4 + + + + + True + True + 2 + + + + + + button23 + button24 + + + + False + GDK_EXPOSURE_MASK | GDK_STRUCTURE_MASK + 300 + 180 + + + True + False + + + + True + True + GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK | GDK_PROXIMITY_IN_MASK | GDK_PROXIMITY_OUT_MASK | GDK_SUBSTRUCTURE_MASK | GDK_SCROLL_MASK + + + + True + False + 20 + 12 + True + + + True + False + + + Coolant + True + True + False + False + False + True + + + + + 0 + 2 + 0 + 1 + + + + + True + True + + True + False + False + True + True + adj.turn.x + 3 + + + + + 9 + 11 + 14 + 16 + + + + + True + True + + True + False + False + True + True + adj.turn.feed + 3 + + + + + 2 + 4 + 15 + 17 + + + + + True + True + + True + False + False + True + True + adj.turn.rad + 3 + + + + + 3 + 5 + 5 + 7 + + + + + True + True + + True + False + False + True + True + adj.turn.cut + 3 + + + + + 5 + 7 + 17 + 19 + + + + + True + True + + True + False + False + True + True + adj.turn.z + 3 + + + + + 11 + 13 + 10 + 12 + + + + + True + True + + True + False + False + True + True + adj.turn.ang + 4 + + + + + 1 + 3 + 10 + 12 + + + + + True + True + + True + False + False + True + True + adj.turn.tool + + + + + 11 + 13 + 0 + 2 + + + + + True + True + + True + False + False + True + True + adj.turn.sf + + + + + 11 + 13 + 2 + 4 + + + + + True + False + + + Set Tool + True + True + True + turn.toolchange + True + + + + + 9 + 11 + 0 + 2 + + + + + True + False + + + Speed + True + True + + + + + 9 + 11 + 2 + 4 + + + + + True + False + + + gtk-media-play + True + True + True + turn.go + False + True + True + + + + + 11 + 13 + 18 + 20 + + + + + True + False + + + gtk-media-stop + True + True + True + turn.stop + False + True + + + + + 2 + 18 + 20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + False + Turning + + + False + + + + + True + False + 20 + 12 + True + + + True + False + + + Coolant + True + True + False + False + False + True + + + + + 0 + 2 + 0 + 1 + + + + + True + True + + True + False + False + True + True + adj.bore.z + 3 + + + + + 11 + 13 + 12 + 14 + + + + + True + True + + True + False + False + True + True + adj.bore.angle + 4 + + + + + 1 + 3 + 9 + 11 + + + + + True + True + + True + False + False + True + True + adj.bore.rad + 3 + + + + + 5 + 7 + 6 + 8 + + + + + True + True + + True + False + False + True + True + adj.bore.x + 3 + + + + + 9 + 11 + 15 + 17 + + + + + True + True + + True + False + False + True + True + adj.bore.cut + 3 + + + + + 6 + 8 + 19 + 21 + + + + + True + True + + True + False + False + True + True + adj.bore.feed + 3 + + + + + 2 + 4 + 15 + 17 + + + + + True + True + + True + False + False + True + True + adj.bore.tool + + + + + 11 + 13 + 0 + 2 + + + + + True + True + + True + False + False + True + True + adj.bore.sf + + + + + 11 + 13 + 2 + 4 + + + + + True + False + + + Speed + True + True + + + + + 9 + 11 + 2 + 4 + + + + + True + False + + + Set Tool + True + True + True + bore.toolchange + True + + + + + 9 + 11 + 0 + 2 + + + + + True + False + + + gtk-media-play + True + True + True + bore.go + False + True + True + + + + + 11 + 13 + 19 + 21 + + + + + True + False + + + gtk-media-stop + True + True + True + bore.stop + False + True + + + + + 2 + 19 + 21 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + True + False + Boring + + + 1 + False + + + + + True + False + 20 + 12 + True + + + True + False + + + Coolant + True + True + False + False + False + True + + + + + 0 + 2 + 0 + 1 + + + + + True + True + + True + False + False + True + True + adj.face.tool + + + + + 11 + 13 + 0 + 2 + + + + + True + True + + True + False + False + True + True + adj.face.sf + + + + + 11 + 13 + 2 + 4 + + + + + True + True + + True + False + False + True + True + adj.face.z + 3 + + + + + 7 + 9 + 18 + 20 + + + + + True + True + + True + False + False + True + True + adj.face.x + 3 + + + + + 8 + 10 + 12 + 14 + + + + + True + True + + True + False + False + True + True + adj.face.feed + 4 + + + + + 7 + 9 + 15 + 16 + + + + + True + True + + True + False + False + True + True + adj.face.cut + 3 + + + + + 2 + 4 + 16 + 18 + + + + + True + True + + True + False + False + True + True + adj.face.angle + 4 + + + + + 3 + 5 + 12 + 13 + + + + + + True + False + + + Set Tool + True + True + True + face.toolchange + True + + + + + 9 + 11 + 0 + 2 + + + + + True + False + + + Speed + True + True + + + + + 9 + 11 + 2 + 4 + + + + + True + False + + + gtk-media-play + True + True + True + face.go + False + True + True + + + + + 11 + 13 + 18 + 20 + + + + + True + False + + + gtk-media-stop + True + True + True + face.stop + False + True + + + + + 2 + 18 + 20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + True + False + Facing + + + 2 + False + + + + + True + False + 20 + 12 + True + + + True + False + + + Coolant + True + True + False + False + False + True + + + + + 0 + 2 + 0 + 1 + + + + + True + True + + True + False + False + True + True + adj.radius.x + 3 + + + + + 10 + 12 + 12 + 13 + + + + + True + True + + True + False + False + True + True + adj.radius.z + 3 + + + + + 9 + 11 + 18 + 20 + + + + + True + True + + True + False + False + True + True + adj.radius.rad + 3 + + + + + 5 + 7 + 6 + 8 + + + + + True + False + + + Internal + True + True + False + False + True + True + + + + + 7 + 9 + 14 + 15 + + + + + True + False + + + External + True + True + False + False + True + True + radius.fi + + + + + 5 + 7 + 18 + 19 + + + + + True + False + + + Rear + True + True + False + False + True + True + radius.fi + + + + + 1 + 3 + 14 + 15 + + + + + True + True + + True + False + False + True + True + adj.radius.tool + + + + + 11 + 13 + 0 + 2 + + + + + True + True + + True + False + False + True + True + adj.radius.sf + + + + + 11 + 13 + 2 + 4 + + + + + True + False + + + Speed + True + True + + + + + 9 + 11 + 2 + 4 + + + + + True + False + + + Set Tool + True + True + True + radius.toolchange + True + + + + + 9 + 11 + 0 + 2 + + + + + True + False + + + gtk-media-play + True + True + True + radius.go + False + True + True + + + + + 11 + 13 + 18 + 20 + + + + + True + False + + + gtk-media-stop + True + True + True + radius.stop + False + True + + + + + 2 + 18 + 20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + True + False + Radius + + + 3 + False + + + + + True + False + 20 + 12 + True + + + True + False + + + Coolant + True + True + False + False + False + True + + + + + 0 + 2 + 0 + 1 + + + + + True + True + + True + False + False + True + True + adj.chamfer.z + 3 + + + + + 9 + 11 + 19 + 21 + + + + + True + True + + True + False + False + True + True + adj.chamfer.size + 4 + + + + + 4 + 6 + 7 + 9 + + + + + True + True + + True + False + False + True + True + adj.chamfer.x + 3 + + + + + 10 + 12 + 11 + 13 + + + + + True + False + + + Rear + True + True + False + False + True + True + + + + + 1 + 3 + 12 + 13 + + + + + True + False + + + External + True + True + False + False + True + True + chamfer.bo + + + + + 4 + 6 + 20 + 21 + + + + + True + False + + + Internal + True + True + False + False + 1 + True + True + chamfer.bo + + + + + 8 + 10 + 14 + 15 + + + + + True + True + + True + False + False + True + True + adj.chamfer.tool + + + + + 11 + 13 + 0 + 2 + + + + + True + True + + True + False + False + True + True + adj.chamfer.sf + + + + + 11 + 13 + 2 + 4 + + + + + True + False + + + Speed + True + True + + + + + 9 + 11 + 2 + 4 + + + + + True + False + + + Set Tool + True + True + True + chamfer.toolchange + True + + + + + 9 + 11 + 0 + 2 + + + + + True + False + + + gtk-media-play + True + True + True + chamfer.go + False + True + True + + + + + 11 + 13 + 18 + 20 + + + + + True + False + + + gtk-media-stop + True + True + True + chamfer.stop + False + True + + + + + 2 + 18 + 20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + True + False + Chamfer + + + 4 + False + + + + + True + False + 20 + 12 + True + + + True + False + + + Coolant + True + True + False + False + False + True + + + + + 0 + 2 + 0 + 1 + + + + + True + True + + True + False + False + True + True + adj.thread.z + 3 + + + + + 10 + 12 + 6 + 8 + + + + + True + True + + True + False + False + True + True + adj.thread.x + 3 + + + + + 10 + 12 + 13 + 15 + + + + + True + True + + True + False + False + True + True + adj.thread.pitch + 4 + + + + + 1 + 3 + 14 + 16 + + + + + True + True + + True + False + False + True + True + adj.thread.tool + + + + + 11 + 13 + 0 + 2 + + + + + True + False + + + Speed + True + True + + + + + 9 + 11 + 2 + 4 + + + + + True + False + + + Externe + True + True + False + False + True + True + + + + + 4 + 6 + 13 + 14 + + + + + True + True + + True + False + False + True + True + adj.thread.sf + + + + + 11 + 13 + 2 + 4 + + + + + True + False + + + Set Tool + True + True + True + thread.toolchange + True + + + + + 9 + 11 + 0 + 2 + + + + + True + False + + + Internal + True + True + False + False + True + True + thread.external + + + + + 6 + 8 + 8 + 9 + + + + + True + False + + + gtk-media-play + True + True + True + thread.go + False + True + True + + + + + 11 + 13 + 18 + 20 + + + + + True + False + + + gtk-media-stop + True + True + True + thread.stop + False + True + + + + + 2 + 18 + 20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + True + False + Threads + + + 5 + False + + + + + True + False + 20 + 12 + True + + + True + False + + + Coolant + True + True + False + False + False + True + + + + + 0 + 2 + 0 + 1 + + + + + True + False + + + gtk-media-play + True + True + True + drill.go + False + True + True + + + + + 11 + 13 + 18 + 20 + + + + + True + False + + + gtk-media-stop + True + True + True + drill.stop + False + True + + + + + 2 + 18 + 20 + + + + + True + True + + True + False + False + True + True + adj.drill.tool + + + + + 11 + 13 + 0 + 2 + + + + + True + True + + True + False + False + True + True + adj.drill.sf + + + + + 11 + 13 + 2 + 4 + + + + + True + False + + + Speed + True + True + + + + + 9 + 11 + 2 + 4 + + + + + True + False + + + Set Tool + True + True + True + drill.toolchange + False + + + + + 9 + 11 + 0 + 2 + + + + + True + True + + False + False + True + True + adj.drill.ydepth + 4 + + + + + 10 + 12 + 12 + 14 + + + + + True + True + + False + False + True + True + adj.drill.diameter + 4 + + + + + 8 + 10 + 16 + 18 + + + + + True + True + + True + False + False + True + True + adj.drill.feed + 4 + + + + + 4 + 6 + 17 + 19 + + + + + True + True + + False + False + True + True + adj.drill.peck + 3 + + + + + 5 + 7 + 11 + 13 + + + + + True + True + + False + False + True + True + adj.drill.retract + 3 + + + + + 3 + 5 + 10 + 11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 + + + + + True + False + Drilling + + + 6 + False + + + + + + + + + diff --git a/lathemacro.ini b/lathemacro.ini new file mode 100755 index 0000000000000000000000000000000000000000..a0346501a8f80091b17ac8693785f4306e928c20 --- /dev/null +++ b/lathemacro.ini @@ -0,0 +1,215 @@ +# This config file was created 2016-09-30 19:50:17.541521 by the update_ini script +# The original config files may be found in the /home/andypugh/linuxcnc/configs/LatheMacro-3/lathemacro.old directory + +# EMC controller parameters for a simulated machine. + +# General note: Comments can either be preceded with a # or ; - either is +# acceptable, although # is in keeping with most linux config files. + +# General section ------------------------------------------------------------- +[EMC] + + +# Version of this INI file +VERSION = 1.0 + +# Name of machine, for use with display, etc. +MACHINE = GLADEVCP-LATHE + +# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others +#DEBUG = 0x7FFFFFFF +DEBUG = 0 + +# Sections for display options ------------------------------------------------ +[DISPLAY] + +# add GladeVCP panel where PyVCP used to live: +EMBED_TAB_NAME=Cycles +EMBED_TAB_COMMAND=halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -u lathehandler.py -x {XID} lathemacro-en-numpad.ui + +# Name of display program, e.g., xemc +DISPLAY = touchy +OPEN_FILE = "" +# Cycle time, in seconds, that display will sleep between polls +CYCLE_TIME = 0.100 + +# Path to help file +HELP_FILE = doc/help.txt + +# Initial display setting for position, RELATIVE or MACHINE +POSITION_OFFSET = RELATIVE + +# Initial display setting for position, COMMANDED or ACTUAL +POSITION_FEEDBACK = ACTUAL + +# Highest value that will be allowed for feed override, 1.0 = 100% +MAX_FEED_OVERRIDE = 1.2 +MAX_SPINDLE_OVERRIDE = 1.0 + +LATHE = 1 + +MAX_LINEAR_VELOCITY = 120 +DEFAULT_LINEAR_VELOCITY = 120 +# Prefix to be used +PROGRAM_PREFIX = ~/linuxcnc/nc_files + +# Introductory graphic +INTRO_GRAPHIC = linuxcnc.gif +INTRO_TIME = 5 + +EDITOR = gedit +TOOL_EDITOR = tooledit + +INCREMENTS = 10mm, 1mm, 0.1mm, 0.01mm + +[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 = python + +# Task controller section ----------------------------------------------------- +[RS274NGC] + +# File containing interpreter variables +PARAMETER_FILE = sim.var +RS274NGC_STARTUP_CODE = G7 G21 +# gladevcp Demo specific Oword subs live here +SUBROUTINE_PATH = ../../../nc_files/gladevcp_lib:./ + +FEATURES = 0 + +# Motion control section ------------------------------------------------------ +[EMCMOT] + +EMCMOT = motmod + +# Timeout for comm to emcmot, in seconds +COMM_TIMEOUT = 1.0 + +# Interval between tries to emcmot, in seconds +COMM_WAIT = 0.010 + +# BASE_PERIOD is unused in this configuration but specified in core_sim.hal +BASE_PERIOD = 0 +# Servo task period, in nano-seconds +SERVO_PERIOD = 1000000 + +# Hardware Abstraction Layer section -------------------------------------------------- +[TASK] + +# Name of task controller program, e.g., milltask +TASK = milltask + +# Cycle time, in seconds, that task controller will sleep between polls +CYCLE_TIME = 0.001 + +# Part program interpreter section -------------------------------------------- +[HAL] + +# The run script first uses halcmd to execute any HALFILE +# files, and then to execute any individual HALCMD commands. +# + +# list of hal config files to run through halcmd +# files are executed in the order in which they appear + +HALFILE = lathe.hal +HALFILE = axis_manualtoolchange.hal +HALFILE = simulated_home.hal +HALUI = halui + +# Trajectory planner section -------------------------------------------------- +[HALUI] +#No Content + +[TRAJ] + +AXES = 2 +COORDINATES = X Z +HOME = 0 0 0 +LINEAR_UNITS = mm +ANGULAR_UNITS = degree +CYCLE_TIME = 0.010 +DEFAULT_VELOCITY = 120 +POSITION_FILE = position.txt +MAX_LINEAR_VELOCITY = 120 +NO_FORCE_HOMING = 1 + +# Axes sections --------------------------------------------------------------- + +# First axis +[EMCIO] + +# Name of IO controller program, e.g., io +EMCIO = io + +# cycle time, in seconds +CYCLE_TIME = 0.100 + +# tool table file +TOOL_TABLE = tool.tbl + + +[KINS] +KINEMATICS = trivkins coordinates=XZ +#This is a best-guess at the number of joints, it should be checked +JOINTS = 2 + + +[AXIS_X] +MIN_LIMIT = -1 +MAX_LIMIT = 400.0 +MAX_VELOCITY = 120 +MAX_ACCELERATION = 1000.0 + +[JOINT_0] + +TYPE = LINEAR +HOME = 0.000 +MAX_VELOCITY = 120 +MAX_ACCELERATION = 1000.0 +BACKLASH = 0.000 +INPUT_SCALE = 4000 +OUTPUT_SCALE = 1.00072 +MIN_LIMIT = -1 +0 +MAX_LIMIT = 400.0 +FERROR = 0.050 +MIN_FERROR = 0.010 +HOME_OFFSET = 0.0 +HOME_SEARCH_VEL = 200.0 +HOME_LATCH_VEL = 200.0 +HOME_USE_INDEX = NO +HOME_IGNORE_LIMITS = NO +HOME_SEQUENCE = 0 + +[AXIS_Z] +MIN_LIMIT = 0 +MAX_LIMIT = 1000 +MAX_VELOCITY = 400 +MAX_ACCELERATION = 1000.0 + +[JOINT_1] + +TYPE = LINEAR +HOME = 0.000 +MAX_VELOCITY = 400 +MAX_ACCELERATION = 1000.0 +BACKLASH = 0.000 +INPUT_SCALE = 4000 +OUTPUT_SCALE = 1.000 +MIN_LIMIT = 0 +MAX_LIMIT = 1000 +FERROR = 0.050 +MIN_FERROR = 0.010 +HOME_OFFSET = 0.0 +HOME_SEARCH_VEL = 200.0 +HOME_LATCH_VEL = 200.0 +HOME_USE_INDEX = NO +HOME_IGNORE_LIMITS = NO +HOME_SEQUENCE = 1 + diff --git a/lathemacro.ui b/lathemacro.ui new file mode 100755 index 0000000000000000000000000000000000000000..2212f81f57380d7d27859682156c43b052122aa8 --- /dev/null +++ b/lathemacro.ui @@ -0,0 +1,6467 @@ + + + + + + + -90 + 90 + 10 + + + 3 + 0.14999999999999999 + 10 + + + 2 + 0.029999999999999999 + + + 100 + 10 + + + 20 + 200 + 45 + 10 + + + 100 + 10 + + + -20 + 250 + 15 + 10 + + + -2000 + 2000 + 1 + + + 100 + 10 + + + 250 + 10 + + + -1000 + 1000 + 10 + + + -89 + 89 + 10 + + + -1000 + 1000 + 10 + + + 20 + 0.10000000000000001 + 10 + + + 20 + 10 + + + 100 + 10 + + + 250 + 10 + + + -1000 + 1000 + 10 + + + 100 + 10 + + + 200 + 10 + + + -1000 + 1000 + 10 + + + 100 + 10 + + + 250 + 10 + + + 100 + 10 + + + -1000 + 1000 + 10 + + + -1000 + 1000 + 10 + + + 100 + 10 + + + 250 + 10 + + + -1000 + 1000 + 10 + + + 100 + 10 + + + 100 + 10 + + + -1000 + 1000 + 10 + + + 100 + 10 + 10 + + + 100 + 10 + 10 + + + -89 + 89 + 10 + + + -1000 + 1000 + 10 + + + 100 + 10 + + + 100 + 10 + + + -1000 + 1000 + 10 + + + 100 + 10 + + + gtk-media-play + O<boring> call [${bore.x-f}] [${bore.sf-f}] [${bore.cut-f}] [${bore.feed-f}] [${bore.z-f}] [${bore.rad-f}] [${bore.angle-f}] [${bore.tool-s}] + + + Set Tool + M61 Q${bore.tool-s} G43 H${bore.tool-s} + + + O<chamfer>call [${chamfer.x-f}] [${chamfer.sf-f}] [0.5] [0] [${chamfer.z-f}] [${chamfer.tool-s}] [0] [${chamfer.size-f}] [${chamfer.fo}] [${chamfer.fi}] [${chamfer.bo}] + + + M61 Q${chamfer.tool-s} G43 H${chamfer.tool-s} + + + O<facing>call [${face.x-f}] [${face.sf-f}] [${face.cut-f}] [${face.feed-f}] [${face.z-f}] [${face.angle-s}] [${face.tool-s}] + + + Set Tool + M61 Q${face.tool-s} G43 H${face.tool-s} + + + O<radius> call [${radius.x-f}] [${radius.sf-f}] [0.5] [0][${radius.z-f}] [${radius.tool-s}] [0] [${radius.rad-f}] [${radius.fo}] [${radius.fi}] [${radius.bo}] + + + Set Tool + M61 Q${radius.tool-s} G43 H${radius.tool-s} + + + O<threading>call [${thread.x-f}] [${thread.sf-f}] [${thread.tool-s}] [${thread.pitch-f}] [${thread.z-f}] [${thread.internal}] [${thread.external}] + + + M61 Q${thread.tool-s} G43 H${thread.tool-s} + + + O<turning> call [${turn.x-f}] [${turn.sf-f}] [${turn.cut-f}] [${turn.feed-f}] [${turn.z-f}] [${turn.rad-f}] [${turn.angle-f}] [${turn.tool-s}] + + + Set Tool + M61 Q${turn.tool-s} G43 H${turn.tool-s} + + + False + 5 + dialog + + + True + False + 2 + + + True + False + end + + + OK + 100 + 50 + True + True + True + False + + + + False + False + 0 + + + + + Cancel + 100 + 50 + True + True + True + False + + + + False + False + 1 + + + + + False + True + end + 0 + + + + + 60 + True + True + + False + False + True + True + + + False + False + 1 + + + + + True + False + 5 + 4 + + + 1 + 50 + 50 + True + True + True + False + + + + + + 2 + 50 + 20 + True + True + True + False + + + + 1 + 2 + + + + + 3 + 50 + 20 + True + True + True + False + + + + 2 + 3 + + + + + DEL + 50 + 20 + True + True + True + False + + + + 3 + 4 + + + + + 4 + 50 + 50 + True + True + True + False + + + + 1 + 2 + + + + + 5 + 50 + 20 + True + True + True + False + + + + 1 + 2 + 1 + 2 + + + + + 6 + 50 + 20 + True + True + True + False + + + + 2 + 3 + 1 + 2 + + + + + CLR + 50 + 20 + True + True + True + False + + + + 3 + 4 + 1 + 2 + + + + + 7 + 50 + 50 + True + True + True + False + + + + 2 + 3 + + + + + 8 + 50 + 20 + True + True + True + False + + + + 1 + 2 + 2 + 3 + + + + + 9 + 50 + 20 + True + True + True + False + + + + 2 + 3 + 2 + 3 + + + + + PREV + 50 + 20 + True + True + True + False + + + + 3 + 4 + 2 + 3 + + + + + +/- + 50 + 50 + True + True + True + False + + + + 3 + 4 + + + + + 0 + 50 + 20 + True + True + True + False + + + + 1 + 2 + 3 + 4 + + + + + . + 50 + 20 + True + True + True + False + + + + 2 + 3 + 3 + 4 + + + + + / + 50 + 20 + True + True + True + False + + + + 3 + 4 + 3 + 4 + + + + + in->mm + 80 + 40 + True + True + True + False + + + + 4 + 5 + 4 + 4 + + + + + mm->in + 80 + 40 + True + True + True + False + + + + 1 + 2 + 4 + 5 + 4 + 4 + + + + + pitch->tpi + 80 + 40 + True + True + True + False + + + + 2 + 3 + 4 + 5 + 4 + 4 + + + + + tpi->pitch + 80 + 40 + True + True + True + False + + + + 3 + 4 + 4 + 5 + 4 + 4 + + + + + True + True + 2 + + + + + + button23 + button24 + + + + False + GDK_EXPOSURE_MASK | GDK_STRUCTURE_MASK + 300 + 180 + + + True + False + + + + True + True + GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_MOTION_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON2_MOTION_MASK | GDK_BUTTON3_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK | GDK_STRUCTURE_MASK | GDK_PROPERTY_CHANGE_MASK | GDK_VISIBILITY_NOTIFY_MASK | GDK_PROXIMITY_IN_MASK | GDK_PROXIMITY_OUT_MASK | GDK_SUBSTRUCTURE_MASK | GDK_SCROLL_MASK + + + + True + False + 20 + 12 + True + + + 50 + 20 + True + True + + True + False + False + True + True + TurnXAdj + 3 + + + + 9 + 10 + 16 + 17 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 52 + 20 + True + True + + True + False + False + True + True + TurnFeedAdj + 3 + + + + 5 + 6 + 15 + 16 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + TurnRadAdj + 3 + + + + 7 + 8 + 4 + 5 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + TurnCutAdj + 3 + + + + 7 + 8 + 18 + 19 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 49 + 20 + True + True + + True + False + False + True + True + TurnZAdj + 3 + + + + 1 + 2 + 13 + 14 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + TurnAngAdj + 4 + + + + 4 + 5 + 11 + 12 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + 50 + 20 + True + True + + True + False + False + True + True + TurnToolAdj + + + + + + 11 + 12 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + TurnSFAdj + + + + 11 + 12 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + Set Tool + 50 + 20 + True + True + True + turn.toolchange + True + + + + + 10 + 11 + + + + + True + False + + + True + True + 0.89999997615814209 + Speed + + + t + + 10 + 11 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + True + turn.go + False + True + + + True + False + media-playback-start + + + + + 10 + 12 + 18 + 20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + False + Turning + + + False + + + + + True + False + 20 + 12 + True + + + 50 + 20 + True + True + True + bore.go + False + True + + + True + False + media-playback-start + + + + + 10 + 12 + 18 + 20 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment5 + 3 + + + + 10 + 11 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + adjustment4 + 4 + + + + 4 + 5 + 10 + 11 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + adjustment3 + 3 + + + + 6 + 7 + 9 + 10 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + adjustment8 + 3 + + + + 9 + 10 + 16 + 17 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + adjustment7 + 3 + + + + 7 + 8 + 19 + 20 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 52 + 20 + True + True + + True + False + False + True + True + TurnFeedAdj + 3 + + + 5 + 6 + 17 + 18 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment1 + + + + + + 11 + 12 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment2 + + + + 11 + 12 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + True + False + 1 + Speed + + + + + 10 + 11 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + Set Tool + 50 + 20 + True + True + True + bore.toolchange + True + + + + + 10 + 11 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + True + False + Boring + + + 1 + False + + + + + True + False + 20 + 12 + True + + + 50 + 20 + True + True + True + face.go + True + + + False + media-playback-start + + + + + 10 + 12 + 18 + 20 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment9 + + + + 11 + 12 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment10 + + + + 11 + 12 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + adjustment11 + 3 + + + + 1 + 2 + 10 + 11 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment13 + 3 + + + + 9 + 10 + 15 + 16 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + adjustment14 + 4 + + + + 7 + 8 + 17 + 18 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + adjustment15 + 3 + + + + 6 + 7 + 18 + 19 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment12 + 4 + + + + 7 + 8 + 13 + 14 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + Set Tool + 50 + 20 + True + True + True + face.toolchange + True + + + + + 10 + 11 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + True + False + 1 + Speed + + + + + 10 + 11 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + True + False + Facing + + + 2 + False + + + + + True + False + 20 + 12 + True + + + 50 + 20 + True + True + True + radius.go + True + + + False + media-playback-start + + + + + 10 + 12 + 18 + 20 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + adjustment20 + 3 + + + + 8 + 9 + 16 + 17 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 48 + 20 + True + True + + True + False + False + True + True + adjustment24 + 3 + + + 1 + 2 + 8 + 9 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment19 + 3 + + + + 7 + 8 + 8 + 9 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + 50 + 20 + True + True + False + False + True + True + + + + + 7 + 8 + 14 + 15 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + 50 + 20 + True + True + False + False + True + True + radius.fi + + + + + 5 + 6 + 16 + 17 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + 50 + 20 + True + True + False + False + True + True + radius.fi + + + + + 2 + 3 + 10 + 11 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment16 + + + + 11 + 12 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment17 + + + + 11 + 12 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + True + False + 1 + Speed + + + + + 10 + 11 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + Set Tool + 50 + 20 + True + True + True + radius.toolchange + True + + + + + 10 + 11 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + True + False + Radius + + + 3 + False + + + + + True + False + 20 + 12 + True + + + 50 + 20 + True + True + True + chamfer.go + False + True + + + True + False + media-playback-start + + + + + 10 + 12 + 18 + 20 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 48 + 20 + True + True + + True + False + False + True + True + adjustment24 + 3 + + + + 1 + 2 + 7 + 8 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + adjustment23 + 4 + + + + 7 + 8 + 9 + 10 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment25 + 3 + + + + 9 + 10 + 15 + 16 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + 50 + 20 + True + True + False + False + True + True + + + + + 2 + 3 + 10 + 11 + + + + + True + False + + + 50 + 20 + True + True + False + False + True + True + chamfer.bo + + + + + 6 + 7 + 17 + 18 + + + + + True + False + + + 50 + 16 + True + True + False + False + 1 + True + True + chamfer.bo + + + + + 7 + 8 + 14 + 15 + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment21 + + + + 11 + 12 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment22 + + + + 11 + 12 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + True + False + 1 + Speed + + + + + 10 + 11 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + Set Tool + 50 + 12 + True + True + True + chamfer.toolchange + False + True + + + + + 10 + 11 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4 + + + + + True + False + Chamfer + + + 4 + False + + + + + True + False + 20 + 12 + True + + + 50 + 20 + True + True + True + thread.go + False + True + + + True + False + media-playback-start + + + + + 10 + 12 + 18 + 20 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 51 + 20 + True + True + + True + False + False + True + True + adjustment30 + 3 + + + + 1 + 2 + 8 + 9 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment28 + 3 + + + + 8 + 9 + 15 + 16 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + adjustment29 + 4 + + + + 3 + 4 + 15 + 16 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + 50 + 20 + True + True + + True + False + False + True + True + TurnToolAdj + + + + + + 11 + 12 + + + + + True + False + + + True + False + 1 + Speed + + + + + 10 + 11 + 1 + 2 + + + + + True + False + + + external + True + True + False + False + True + True + + + + + 5 + 6 + 14 + 15 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + 50 + 20 + True + True + + True + False + False + True + True + TurnSFAdj + + + + 11 + 12 + 1 + 2 + GTK_EXPAND | GTK_SHRINK | GTK_FILL + GTK_EXPAND | GTK_SHRINK | GTK_FILL + + + + + True + False + + + Set Tool + 50 + 20 + True + True + True + thread.toolchange + False + True + + + + + 10 + 11 + + + + + True + False + + + internal + True + True + False + False + True + True + thread.external + + + + + 7 + 8 + 9 + 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + True + False + Threads + + + 5 + False + + + + + + + + diff --git a/lathemacro/boring.ngc b/lathemacro/boring.ngc new file mode 100755 index 0000000000000000000000000000000000000000..37356833b19f7c8855ebd5e4c2a56026de4aa0be --- /dev/null +++ b/lathemacro/boring.ngc @@ -0,0 +1,92 @@ +;boring +O sub + +# = #<_ccomp> +# = #<_metric> +# = #<_absolute> +# = #<_feed> +# = #<_coord_system> +# = #<_lathe_diameter_mode> +# = #<_ijk_absolute_mode> + +G8 ; Lathe radius Mode +G90 ; Absolute Distance +G91.1 ; but not for arcs + +; #1 X coord +; #2 surface speed +; #3 cut size +; #4 feed/rpm +; #5 Z coord +; #6 radius +; #7 angle +; #8 tool number +; #9 coolant + + O10 if [#9 EQ 1] + M8 + O10 endif + +;M6 T#8 G43 + O100 if [#8 NE #<_current_tool>] + (MSG, ERROR : Set tool before use macro) + O call [#] [#] [#] [#] [#] [#] [#] + O100 return [-2] ; indicate failure to epilog + O100 endif + +#1 = [#1 / 2] ; because of radius mode + +#14 = [#<_x>] (startinG X) +#13 = #<_z> (startinG Z) + +#20 = [#6 * SIN[#7]] +#21 = [-#6 * COS[#7]] +#22 = [#6 / COS[#7]] +#23 = [#5 + #6 - #20] +#24 = [[#23 - #13] * TAN[#7]] + +G96 D2500 S#2 ; Constant Surface Speed Mode +M3 ;Start Spindle +G95 F#4 ; Feed-Per-Rev Mode +G4P1 ; Wait to reach speed + +(debuG, TurninG finish dia #1 start dia #14 start lenGth #13 finish lenGth #5) + O101 WHILE [#14 LT [#1 - #3]] + G0 X #14 + #14=[#14 + #3] + G1 X #14 + G1 Z #23 X[#14 + #24] + + o102 IF [#6 GT 0] + G3 Z#5 X[#14 + #24 + #21] I#21 K#20 + G1 X[#14 + #24 + #21 - #3] + o102 ELSE + G1 X[#14 + #24 - [#3 * 1.5]] + o102 ENDIF + + G0 Z[#13] + O101 ENDWHILE + +G0 X#1 +G1 Z#23 X[#1 + #24] + + O103 IF [#6 GT 0] + G3 Z#5 X[#1 + #24 + #21] I#21 K#20 + G1 X[#1 + #24 + #21 - #3] + O103 ELSE + G1 X[#1 + #24 - #3] + O103 ENDIF + +G0 Z#13 +G0 X#1 ; For touch-off + +M5 +M9 + +; restore g20/21, g90/g91, feed + O call [#] [#] [#] [#] [#] [#] [#] + +O endsub + +M2 +% diff --git a/lathemacro/chamfer.ngc b/lathemacro/chamfer.ngc new file mode 100755 index 0000000000000000000000000000000000000000..9069fe39ddebafddc9a9188bbc3378df3e0fc025 --- /dev/null +++ b/lathemacro/chamfer.ngc @@ -0,0 +1,108 @@ +;chamfer +O sub + +# = #<_ccomp> +# = #<_metric> +# = #<_absolute> +# = #<_feed> +# = #<_coord_system> +# = #<_lathe_diameter_mode> +# = #<_ijk_absolute_mode> + +G8 ; Lathe radius Mode +G90 ; Absolute Distance + +; #1 X coord +; #2 feed/rpm +; #3 0.5 ? +; #4 0 ? +; #5 Z coord +; #6 tool number +; #7 0 ? +; #8 chamfer size +; #9 exterior front +; #10 interior +; #11 exterior rear +; #12 coolant + + O10 if [#12 EQ 1] + M8 + O10 endif + + +;M6 T#6 G43 + O100 if [#6 NE #<_current_tool>] + (MSG, ERROR : Set tool before use macro) + O call [#] [#] [#] [#] [#] [#] [#] + O100 return [-2] ; indicate failure to epilog + O100 endif + +#1 = [#1 / 2] ; because of radius mode + +#14 = [#<_x>] (starting X) +#13 = [#<_z>] (starting Z) + +G96 D2500 S#2 ; Constant Surface Speed Mode +M3 +G95 F0.1 ; Feed-Per-Rev Mode + +#20 = 0 + O101 if [#9 GT 0.5] ; front outside + o102 while [[#20 + #3] lt #8] + #20 = [#20 + #3] + G0 x[#1 - #20] z#13 + G1 z#5 + G1 x#1 z[#5 - #20] + G1 x #14 + G0 z#13 + o102 endwhile + G0 x#14 z#13 + G0 x[#1 - #8] + G1 z#5 + G1 x#1 z[#5 - #8] + G1 x #14 + G0 z#13 + O101 elseif [#10 GT 0.5] ; front inside + o103 while [[#20 + #3] lt #8] + #20 = [#20 + #3] + G0 x[#1 + #20] z#13 + G1 z#5 + G1 x#1 z[#5 - #20] + G1 x #14 + G0 z#13 + o103 endwhile + + G0 x#14 z#13 + G0 x[#1 + #8] + G1 z#5 + G1 x#1 z[#5 - #8] + G1 x #14 + G0 z#13 + O101 elseif [#11 GT 0.5] ; back outside + o104 while [[#20 + #3] lt #8] + #20 = [#20 + #3] + G0 x[#1 - #20] z#13 + G1 z#5 + G1 x#1 z[#5 + #20] + G1 x #14 + G0 z#13 + o104 endwhile + + G0 x#14 z#13 + G0 x[#1 - #8] + G1 z#5 + G1 x#1 z[#5 + #8] + G1 x #14 + G0 z#13 + O101 endif + +M5 +M9 + +; restore g20/21, g90/g91, feed + O call [#] [#] [#] [#] [#] [#] [#] + +O endsub + +M2 +% diff --git a/lathemacro/drill.ngc b/lathemacro/drill.ngc new file mode 100755 index 0000000000000000000000000000000000000000..2a9934d4f62cd21abf5c11207cdac27371ee0e9d --- /dev/null +++ b/lathemacro/drill.ngc @@ -0,0 +1,62 @@ +;drill +O sub + +# = #<_ccomp> +# = #<_metric> +# = #<_absolute> +# = #<_feed> +# = #<_coord_system> +# = #<_lathe_diameter_mode> +# = #<_ijk_absolute_mode> + +G7 ; diameter mode +G90 ; Absolute Distance + +; #1 drill diameter +; #2 ydepth +; #3 speed +; #4 feed/rpm +; #5 tool number +; #6 peck amount +; #7 retract amount +; #8 coolant + + O10 if [#8 EQ 1] + M8 + O10 endif + +#9 = #<_y> (starting Y) + +;M6 T#5 G43 + O100 if [#5 NE #<_current_tool>] + (MSG, ERROR : Set tool before use macro) + O call [#] [#] [#] [#] [#] [#] [#] + O100 return [-2] ; indicate failure to epilog + O100 endif + +#7 = [[1000 * #3] / [3.1415 * #1]] ; metric mode RPM + +G97 S#7 ; Constant RPM mode +M3 ;Start Spindle +G95 F#4 ; Feed-Per-Rev Mode +G4 P1 ; Wait to reach speed + +(debug, Drilling dia #1 depth #2 asked-speed #3 feed/rpm #4 tool #5 peck dist #6 calculated-rpm #7 start-Y #9) +(MSG, ERROR : TODO must retract the X axis to home position) +; G0 X0 ; TODO must retract the X axis to home position +;G0 Y#9 +G98 +G83 Y#2 R#9 Q#6 +G80 +;G0 Y#9 + +M5 +M9 + +; restore g20/21, g90/g91, feed + O call [#] [#] [#] [#] [#] [#] [#] + +O endsub + +M2 +% diff --git a/lathemacro/facing.ngc b/lathemacro/facing.ngc new file mode 100755 index 0000000000000000000000000000000000000000..58e39e6568c278de4d2d814f1ec30e5313bfe0a7 --- /dev/null +++ b/lathemacro/facing.ngc @@ -0,0 +1,71 @@ +;Facing +O sub + +# = #<_ccomp> +# = #<_metric> +# = #<_absolute> +# = #<_feed> +# = #<_coord_system> +# = #<_lathe_diameter_mode> +# = #<_ijk_absolute_mode> + +G7 ; diameter mode +G90 ; Absolute Distance + +; #1 X coord +; #2 surface speed +; #3 cut size +; #4 feed/rpm +; #5 Z coord +; #6 angles +; #7 tool number +; #8 coolant + + O10 if [#8 EQ 1] + M8 + O10 endif + + O20 IF [#6 NE 0] + (MSG, Angled facing isn't supported yet) + O20 ENDIF + +;M6 T#7 G43 + O100 if [#7 NE #<_current_tool>] + (MSG, ERROR : Set tool before use macro) + O call [#] [#] [#] [#] [#] [#] [#] + O100 return [-2] ; indicate failure to epilog + O100 endif + +#14 = [#<_x> * 2] (starting X) +#13 = #<_z> (starting Z) + +G96 D2500 S#2 ; Constant Surface Speed Mode +M3 +G95 F#4 ; Feed-Per-Rev Mode +G4P1 ; Wait to reach speed + + O200 WHILE [#13 GT #5 + #3] + #13=[#13-#3] + G1 Z#13 + G1 X#1 + G0 Z[#13+#3] + G0 X#14 + G0 Z#13 + O200 ENDWHILE + +G1 Z#5 +G1 X#1 +G0 Z[#13+#3] +G0 X[#14+#3] +G0 Z#5 ; For touch-off + +M5 +M9 + +; restore g20/21, g90/g91, feed + O call [#] [#] [#] [#] [#] [#] [#] + +O endsub + +M2 +% diff --git a/lathemacro/radius.ngc b/lathemacro/radius.ngc new file mode 100755 index 0000000000000000000000000000000000000000..5bdf44ad95cd4cdc502e4b98c50bf56b59b88404 --- /dev/null +++ b/lathemacro/radius.ngc @@ -0,0 +1,109 @@ +;radius +O sub + +# = #<_ccomp> +# = #<_metric> +# = #<_absolute> +# = #<_feed> +# = #<_coord_system> +# = #<_lathe_diameter_mode> +# = #<_ijk_absolute_mode> + +G7 ; diameter mode +G90 ; Absolute Distance + +; #1 X coord +; #2 feed/rpm +; #3 0.5 ? +; #4 0 ? +; #5 Z coord +; #6 tool number +; #7 0 ? +; #8 radius size +; #9 exterior front +; #10 interior +; #11 exterior rear +; #12 coolant + + O10 if [#12 EQ 1] + M8 + O10 endif + +;M6 T#6 G43 + O100 if [#6 NE #<_current_tool>] + (MSG, ERROR : Set tool before use macro) + O call [#] [#] [#] [#] [#] [#] [#] + O100 return [-2] ; indicate failure to epilog + O100 endif + +#1 = [#1 / 2] ; because of radius mode +#14 = [#<_x>] (starting X) +#13 = [#<_z>] (starting Z) + +G96 D2500 S#2 ; Constant Surface Speed Mode +M3 +G95 F0.1 ; Feed-Per-Rev Mode +G4P1 ; Wait to reach speed + +#20 = 0 + O101 if [#9 GT 0.5] ; Front outside + o102 while [[#20 + #3] lt #8] + #20 = [#20 + #3] + G0 x[#1 - #20] z#13 + G1 z#5 + G3 x#1 z[#5 - #20] K[-#20] + G1 x #14 + G0 z#13 + o102 endwhile + G0 x#14 z#13 + G0 x[#1 - #8] + G1 z#5 + G3 x#1 z[#5 - #8] K[-#8] + G1 x #14 + G0 z#13 + O101 elseif [#10 GT 0.5] ; front inside + o103 while [[#20 + #3] lt #8] + #20 = [#20 + #3] + G0 x[#1 + #20] z#13 + G1 z#5 + G2 x#1 z[#5 - #20] K[-#20] + G1 x #14 + G0 z#13 + o103 endwhile + + G0 x#14 z#13 + G0 x[#1 + #8] + G1 z#5 + G2 x#1 z[#5 - #8] K[-#8] + G1 x #14 + G0 z#13 + + O101 elseif [#11 GT 0.5] ; back outside + o104 while [[#20 + #3] lt #8] + #20 = [#20 + #3] + G0 x[#1 - #20] z#13 + G1 z#5 + G2 x#1 z[#5 + #20] K#20 + G1 x #14 + G0 z#13 + o104 endwhile + + G0 x#14 z#13 + G0 x[#1 - #8] + G1 z#5 + G2 x#1 z[#5 + #8] K#8 + G1 x #14 + G0 z#13 + + O101 endif + +M5 +M9 + +; restore g20/21, g90/g91, feed + O call [#] [#] [#] [#] [#] [#] [#] + +O endsub + +M2 +% diff --git a/lathemacro/restore.ngc b/lathemacro/restore.ngc new file mode 100755 index 0000000000000000000000000000000000000000..3c2b5838c6f3a2cacfe369ef77e607e2893612f4 --- /dev/null +++ b/lathemacro/restore.ngc @@ -0,0 +1,93 @@ +; restore metric/inch absolute/relative, feed as per paramter values +; call as 'O call [originalmetric] [originalabs] [originalfeed] [originalcomp] +; +;[#] [#] [#] [#] [#] [#] [#] +; +O sub +O100 if [#1 NE #<_metric>] +O200 if [#1] + G21 +O200 else + G20 +O200 endif +O100 endif + +O300 if [#2 NE #<_absolute>] +O400 if [#2] + G90 +O400 else + G91 +O400 endif +O300 endif + +O500 if [#3 NE #<_feed>] + F[#3] +O500 endif + + +O600 if [#4 NE #<_ccomp>] + O601 if [#4 EQ 400] + G40 + O601 endif + O602 if [#4 EQ 411] + G41.1 + O602 endif + O603 if [#4 EQ 420] + G42 + O603 endif + O604 if [#4 EQ 421] + G42.1 + O604 endif +O600 endif + + +O700 if [#5 NE #<_coord_system>] + O701 if [#5 EQ 540] + G54 + O701 endif + O702 if [#5 EQ 550] + G55 + O702 endif + O703 if [#5 EQ 560] + G56 + O703 endif + O704 if [#5 EQ 570] + G57 + O704 endif + O705 if [#5 EQ 580] + G58 + O705 endif + O706 if [#5 EQ 590] + G59 + O706 endif + O707 if [#5 EQ 591] + G59.1 + O707 endif + O708 if [#5 EQ 592] + G59.2 + O708 endif + O709 if [#5 EQ 593] + G59.3 + O709 endif +O700 endif + + +O800 if [#6 NE #<_lathe_diameter_mode>] + O801 if [#6] + G7 + O801 else + G8 + O801 endif +O800 endif + + +O900 if [#7 NE #<_ijk_absolute_mode>] + O901 if [#7] + G90.1 + O901 else + G91.1 + O901 endif +O900 endif + +O endsub +M2 diff --git a/lathemacro/threading.ngc b/lathemacro/threading.ngc new file mode 100755 index 0000000000000000000000000000000000000000..81e567e1bd7aa2d6c38f2647000e990038235f4c --- /dev/null +++ b/lathemacro/threading.ngc @@ -0,0 +1,96 @@ +;threading +O sub + +; #1=thread.x, #2=thread.sf, #3=thread.tool-s, #4=thread.pitch-f, #5=thread.z-f, #6=thread.internal #7=thread.external + +# = #<_ccomp> +# = #<_metric> +# = #<_absolute> +# = #<_feed> +# = #<_coord_system> +# = #<_lathe_diameter_mode> +# = #<_ijk_absolute_mode> + +G8 ; Lathe radius Mode +G90 ; Absolute Distance + +; #1 X coord +; #2 feed/rpm +; #3 tool number +; #4 pitch +; #5 Z coord +; #6 interior +; #7 exterior +; #8 coolant + + O10 if [#8 EQ 1] + M8 + O10 endif +;M6 T#3 G43 + O100 if [#3 NE #<_current_tool>] + (MSG, ERROR : Set tool before use macro) + O call [#] [#] [#] [#] [#] [#] [#] + O100 return [-2] ; indicate failure to epilog + O100 endif + +#1 = [#1 / 2.0] +#14 = [#<_x> * 2] (starting X) +#13 = #<_z> (starting Z) +G96 D2500 S#2 ; Constant Surface Speed Mode +M3 +G4 P1 ; Wait to reach speed + +# = [0.86603 * #4] +# = [# * 0.125] +# = [# * 0.250] +# = [# * 0.625] +;(debug, #40 # # #) + + O101 IF [#<_metric>] + # = 0.2 + # = 0.1 + O101 ELSE + # = 0.007 + # = 0.004 + O101 ENDIF + +G95 F# ; Feed-Per-Rev Mode + +;Threading + O102 IF [#6 GT 0.5] ;internal + ;cut the minor flat diameter + ;(debug, INTERNAL Threading thread dia-#1 start-#13 finish-#5 Pitch-#4 Depth-#3) + G0 Z #13 + G0 X [#1 + # - #] + G1 Z #5 + G0 X [#1 - #] + G0 Z #13 + G96 D600 S#2 ; limit RPM in threading mode + G76 P#4 Z#5 i# j# k# H3 R1.5 Q29.5 E0 L0 + G0 X [#1 - 0.5] + O102 ELSE ;external + ; cut the major diameter + ;(debug, EXTERNAL Threading thread dia-#1 start-#13 finish-#5 Pitch-#4 Depth-#3 MF #) + G0 Z #13 + G0 X #1 + G1 X [#1 - #] + G1 Z #5 + G0 X #1 + G0 Z #13 + G96 D600 S#2 ; limit RPM in threading mode + G76 P#4 Z#5 i[-#] j# k# H3 R1.5 Q29.5 E0 L0 + G0 X [#1 + 0.5] + O102 ENDIF + +G0 Z#13 + +M5 +M9 + +; restore g20/21, g90/g91, feed + O call [#] [#] [#] [#] [#] [#] [#] + +O endsub + +M2 +% diff --git a/lathemacro/turning.ngc b/lathemacro/turning.ngc new file mode 100755 index 0000000000000000000000000000000000000000..6507f1b14886685294cf2cf446ec97638e979c1a --- /dev/null +++ b/lathemacro/turning.ngc @@ -0,0 +1,102 @@ +;Turning +O sub + +# = #<_ccomp> +# = #<_metric> +# = #<_absolute> +# = #<_feed> +# = #<_coord_system> +# = #<_lathe_diameter_mode> +# = #<_ijk_absolute_mode> + +G8 ; Lathe radius Mode +G90 ; Absolute Distance +G91.1 ; but not for arcs + +; #1 X coord +; #2 surface speed +; #3 cut size +; #4 feed/rpm +; #5 Z coord +; #6 radius +; #7 angle +; #8 tool number +; #9 coolant + + O10 if [#9 EQ 1] + M8 + O10 endif + +;M6 T#8 G43 + O100 if [#8 NE #<_current_tool>] + (MSG, ERROR : Set tool before use macro) + O call [#] [#] [#] [#] [#] [#] [#] + O100 return [-2] ; indicate failure to epilog + O100 endif + +#1 = [#1 / 2] ; because of radius mode +#14 = [#<_x>] (starting X) +#13 = #<_z> (starting Z) + +#20 = [#6 * SIN[#7]] +#21 = [#6 * COS[#7]] +#22 = [#6 / COS[#7]] +#23 = [#5 + #6 - #20] +#24 = [[#13 - #23] * TAN[#7]] + +G96 D2500 S#2 ; Constant Surface Speed Mode +M3 ;Start Spindle +G95 F#4 ; Feed-Per-Rev Mode +G4P1 ; Wait to reach speed + +(debug, Turning finish rad #1 start rad #14 start length #13 finish length #5) + +;[${turn.x-f}] [${turn.sf-f}] [${turn.cut-f}] [${turn.feed-f}] [${turn.z-f}] [${turn.rad-f}] [${turn.angle-f}] [${turn.tool-s}] + + O101 WHILE [#14 GT [#1 + #3 / 2]] + G0 X #14 + #14=[#14-#3 / 2] + G1 X #14 + G1 Z #23 X[#14 + #24] + + o102 IF [#6 GT 0] + G2 Z#5 X[#14 + #24 + #21] I#21 K#20 + G1 X[#14 + #24 + #21 + #3/2] + o102 ELSE + G1 X[#14 + #24 + [#3 * .6]] + o102 ENDIF + + o103 IF [#7 LT 0] + G0 X#14 + o103 ENDIF + + G0 Z[#13] + O101 ENDWHILE + +G0 X#1 +G1 Z #23 X[#1 + #24] + + O104 IF [#6 GT 0] + G2 Z#5 X[#1 + #24 + #21] I#21 K#20 + G1 X[#1 + #24 + #21 + #3] + O104 ELSE + G1 X[#1 + #24 + #3] + O104 ENDIF + + O105 IF [#7 LT 0] + G0 X#14 + O105 ENDIF + +G0 Z#13 +G0 X#1 ; For touch-off + +M5 +M9 + +; restore g20/21, g90/g91, feed + O call [#] [#] [#] [#] [#] [#] [#] + +O endsub + +M2 +% diff --git a/maurice_gmoccapy.ini b/maurice_gmoccapy.ini index d8cb6e3990aeda6d3904275e39085c0f941a6841..256874357320fe5c0a8ea0cdcbf42e85cbf71747 100644 --- a/maurice_gmoccapy.ini +++ b/maurice_gmoccapy.ini @@ -15,6 +15,11 @@ DISPLAY = ./maurice_gmoccapy.py #EMBED_TAB_LOCATION = box_custom_4 #EMBED_TAB_COMMAND = gladevcp -x {XID} -H vcp_box.hal vcp_box.glade +EMBED_TAB_NAME = Cycles +EMBED_TAB_LOCATION = ntb_user_tabs +EMBED_TAB_COMMAND = halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -u lathehandler.py -x {XID} lathemacro.ui +#EMBED_TAB_COMMAND =h alcmd loadusr -Wn gladevcp gladevcp -c gladevcp -u lathehandler.py -x {XID} lathemacro-en-numpad.ui + PREFERENCE_FILE_PATH = gmoccapy_preferences LATHE = 1 BACK_TOOL_LATHE = 1 @@ -37,8 +42,8 @@ jpg = image-to-gcode py = python [RS274NGC] - PARAMETER_FILE = linuxcnc.var +SUBROUTINE_PATH = macros:lathemacro [EMCMOT]