Что я еще не знал о LinuxCNC, что нам еще предстоит сделать
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Но для этого придется почти весь motion переписать. Сомневаюсь, что это поситают достойным реализации, тем более, что это хоть и распостраненная фича, но все-же отступление от стандарта.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Можно написать простенький фильтр, который будет менять строки в которых есть uvw на
G90
Строка, с заменой на xyz
G91
G90
Строка, с заменой на xyz
G91
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Nick, честно говоря не представляю как это сделать. мне для 2х осей достаточно Х(U) и Z(W). тупо найти и заменить не прокатит. ведь надо будет, к примеру, работать со строкой типа g1 U2 W-1 F0,1
или даже типа g2 U2 z-10 r2 f0.1
или даже типа g2 U2 z-10 r2 f0.1
нікому нічого не нав'язую.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
А как быть с "G1X10W5" ?Nick писал(а):Можно написать простенький фильтр
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
не писать так ,и всёUAVpilot писал(а):А как быть с "G1X10W5" ?
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Сделать кинематику.
Или в хал прибавлять U к X, W к Z
Но проблем много все равно будет
Или в хал прибавлять U к X, W к Z
Но проблем много все равно будет
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
понял. проще забить
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Как забить
Это же не наш метод
Если будет и такие и такие, то можно так:
Сохраняешь код как скажем filter.py, потом в ini пишешь:
Это же не наш метод
Вот для простого случая, когда строки только с приращениями:aegis писал(а):Nick, честно говоря не представляю как это сделать. мне для 2х осей достаточно Х(U) и Z(W). тупо найти и заменить не прокатит. ведь надо будет, к примеру, работать со строкой типа g1 U2 W-1 F0,1
или даже типа g2 U2 z-10 r2 f0.1
Код: Выделить всё
#!/usr/bin/env python
import sys, re
s = sys.stdin.read()
for l in s.split("\n") :
if re.search("G\d+.*[UVW]",l,re.I):
print("G90")
l = l.replace("u","x")
l = l.replace("U","X")
l = l.replace("v","y")
l = l.replace("V","Y")
l = l.replace("W","z")
l = l.replace("W","Z")
print(l)
print("G91")
else :
print(l)
Код: Выделить всё
#!/usr/bin/env python
import sys, re
s = sys.stdin.read()
for l in s.split("\n") :
if re.search("G\d+.*[UVW]",l,re.I):
l = re.sub("U\s*([-\.0-9]+)","X[#<_x>+[\\1]]",l,re.I)
l = re.sub("V\s*([-\.0-9]+)","Y[#<_y>+[\\1]]",l,re.I)
l = re.sub("W\s*([-\.0-9]+)","Z[#<_z>+[\\1]]",l,re.I)
print(l)
else :
print(l)
Код: Выделить всё
[FILTER]
EXTENSION = py Filtered UVW as relative coordinates
.ngc = python filter.py
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
А они там не нужны, там приращения в формулах = X[#<_x>+[...]].nkp писал(а):во втором скрипте не пропущены G91-G92?
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Nick, создал питон со вторым текстом, добавил его в ини, пишет "bad character 'u' used"/ правда емс сейчас 2,3,5 т/к/ на стареньком компе линукс посвежее не работает адекватно
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Ммм скинь скриншот кода в linuxcnc
на 2.3.5 второй вариант не будет работать, там используется #<_x>, который только после появился.
на 2.3.5 второй вариант не будет работать, там используется #<_x>, который только после появился.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Nick, попробую тогда какнить на новом компе, правда толку с этого будет мало т.к. пока апгрейд не намечается
мне сейчас бы то что на 2,3,5 работалонікому нічого не нав'язую.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
на 2.6.5 подобного рода бяка.
Ник, смотри я питон в папку с конфигом станка закидывать должен?
Ник, смотри я питон в папку с конфигом станка закидывать должен?
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Первый вариант должен работать и со старой версией, второй только с новой.
Покажи свой ini, такое ощущение, что фильтр не отработал. Хотя, я второй вариант не проверял.
Покажи свой ini, такое ощущение, что фильтр не отработал. Хотя, я второй вариант не проверял.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Да, в папку с конфигом, этот скрип просто делает замену, которую я выше описал.
Т.е. код в окне должен поменяться.
Т.е. код в окне должен поменяться.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Код: Выделить всё
# Generated by stepconf at Fri Feb 6 21:57:45 2015
# If you make changes to this file, they will be
# overwritten when you run stepconf again
[EMC]
MACHINE = lathe
NML_FILE = emc.nml
DEBUG = 0
[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/aegis/emc2/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
PYVCP = custompanel.xml
LATHE = 1
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
EXTENSION = py Filtered UVW as relative coordinates
.ngc = python filter.py
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
PARAMETER_FILE = emc.var
RS274NGC_STARTUP_CODE = G7 G18 G21 G90 G95 G40
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 100000
SERVO_PERIOD = 1000000
[HAL]
HALFILE = lathe.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal
[TRAJ]
AXES = 3
COORDINATES = X Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 2.00
MAX_LINEAR_VELOCITY = 20.00
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 10.0
MAX_ACCELERATION = 100.0
STEPGEN_MAXACCEL = 125.0
SCALE = 333.333333333
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -200.0
MAX_LIMIT = 250.0
HOME_OFFSET = 0.0
[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 20.0
MAX_ACCELERATION = 200.0
STEPGEN_MAXACCEL = 250.0
SCALE = 133.333333333
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -150.0
MAX_LIMIT = 400.0
HOME_OFFSET = 0.0
нікому нічого не нав'язую.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Попробуй extension поменять на program_extension как в строчках выше. Если не получится попробуй рпсщирение дркгое поставить - не .ngc.
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
может .ngc без точки - просто ngc
(привык проверять ,перед тем,как советовать,но сейчас не могу )
(привык проверять ,перед тем,как советовать,но сейчас не могу )
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
.py еще поставил и програм екстеншен прописал как раньше было, попробовал применять фильтр к тхт файлам
все то же пишет/ это я н астарой машине пробую с первым вариантом кода
Код: Выделить всё
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
PROGRAM_EXTENSION = .py Filtered UVW as relative coordinates
.txt = python filter.py
нікому нічого не нав'язую.
- aegis
- Мастер
- Сообщения: 3171
- Зарегистрирован: 22 мар 2012, 06:59
- Репутация: 1810
- Настоящее имя: Михайло
- Откуда: Україна, Конотоп=>Запоріжжя=>Харьків
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
nkp, когда убрал точку перед тхт то выскачила новая ошибка
нікому нічого не нав'язую.