G10 L2 P1 Z[#5223 - 10.0]
Спасибо РКМ , за подсказку
Теперь нужен цикл программы, чтобы кольца автоматом резались. Очень желательно чтобы при старте программы выскакивало окошко, забиваем кол-во циклов. Такое возможно, не что вроде Input ?

Про окошко не знаю .aftaev писал(а):Очень желательно чтобы при старте программы выскакивало окошко, забиваем кол-во циклов.
Код: Выделить всё
G21 G18 G49 G40 G90 G61 G7
F100
G1 X30 Z0
G1 X0
G1 X30
G10 L2 P1 Z[#5223 - 10.0]
M2Есть.Predator писал(а):А циклов типа WHILE нет в LinuxCNC
Код: Выделить всё
#!/usr/bin/env python
# --*-- coding:utf-8 --*--
# example togglebutton.py
import pygtk
pygtk.require('2.0')
import gtk
import re
import os,sys
class ToggleButton:
def delete_event(self, widget, event, data=None):
gtk.main_quit()
return False
def go(self):
filename = '/home/nkp/linuxcnc/nc_files/kolco.ngck'
f = open(filename, "r")
lines = f.readlines()
rr = int(self.entry.get_text())
string='o100 repeat[%s]\n' % (rr)
w=0
while not re.search("M2\s*",lines[w], re.I):
string+=lines[w]
w+=1
string +='o100 endrepeat\n'
string +='M2\n'
sys.stdout.write(string)
gtk.main_quit()
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("repeat")
self.window.connect("delete_event", self.delete_event)
self.window.set_border_width(20)
self.vbox = gtk.VBox(True, 2)
self.window.add(self.vbox)
self.entry = gtk.Entry()
self.entry.set_max_length(5)
self.vbox.pack_start(self.entry, True, True, 2)
self.entry.show()
self.button = gtk.Button("Run")
self.button.connect("clicked", lambda x: self.go())
self.vbox.pack_start(self.button, True, True, 2)
self.button.show()
self.vbox.show()
self.window.set_position(gtk.WIN_POS_CENTER)
self.window.show()
def main():
gtk.main()
return 0
if __name__ == "__main__":
ToggleButton()
main()

если было бы еще и input вообще замечТательно былоPredator писал(а):А циклов типа WHILE нет в LinuxCNC?
Код: Выделить всё
#!/usr/bin/env python
# --*-- coding:utf-8 --*--
# example togglebutton.py
import pygtk
pygtk.require('2.0')
import gtk
import re
import os,sys
class ToggleButton:
def delete_event(self, widget, event, data=None):
gtk.main_quit()
return False
def go(self):
filename = '/home/nkp/linuxcnc/nc_files/kolco.ngck'
f = open(filename, "r")
lines = f.readlines()
rr = int(self.entry.get_text())
offset = int(self.entry1.get_text())
string='o100 repeat[%s]\n' % (rr)
w=0
while not re.search("M2\s*",lines[w], re.I):
string+=lines[w]
w+=1
string +='G10 L2 P1 Z[#5223 - %s]\n' % (offset)
string +='o100 endrepeat\n'
string +='M2\n'
sys.stdout.write(string)
gtk.main_quit()
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("repeat")
self.window.connect("delete_event", self.delete_event)
self.window.set_border_width(20)
self.vbox = gtk.VBox(True, 2)
self.window.add(self.vbox)
self.entry = gtk.Entry()
self.entry.set_max_length(10)
self.entry.set_text("n repeat")
self.vbox.pack_start(self.entry, True, True, 2)
self.entry.show()
self.entry1 = gtk.Entry()
self.entry1.set_max_length(10)
self.entry1.set_text("offset")
self.vbox.pack_start(self.entry1, True, True, 2)
self.entry1.show()
self.button = gtk.Button("Run")
self.button.connect("clicked", lambda x: self.go())
self.vbox.pack_start(self.button, True, True, 2)
self.button.show()
self.vbox.show()
self.window.set_position(gtk.WIN_POS_CENTER)
self.window.show()
def main():
gtk.main()
return 0
if __name__ == "__main__":
ToggleButton()
main()