Страница 22 из 39
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 19 сен 2015, 01:12
Serg
Но для этого придется почти весь motion переписать. Сомневаюсь, что это поситают достойным реализации, тем более, что это хоть и распостраненная фича, но все-же отступление от стандарта.
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 19 сен 2015, 16:15
Nick
Можно написать простенький фильтр, который будет менять строки в которых есть uvw на
G90
Строка, с заменой на xyz
G91
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 19 сен 2015, 16:21
aegis
Nick, честно говоря не представляю как это сделать. мне для 2х осей достаточно Х(U) и Z(W). тупо найти и заменить не прокатит. ведь надо будет, к примеру, работать со строкой типа g1 U2 W-1 F0,1
или даже типа g2 U2 z-10 r2 f0.1
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 20 сен 2015, 00:58
Serg
Nick писал(а):Можно написать простенький фильтр
А как быть с "G1X10W5" ?
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 20 сен 2015, 11:04
nkp
UAVpilot писал(а):А как быть с "G1X10W5" ?
не писать так ,и всё

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 20 сен 2015, 13:54
PKM
Сделать кинематику.
Или в хал прибавлять U к X, W к Z

Но проблем много все равно будет
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 20 сен 2015, 15:28
aegis
понял. проще забить
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 15:30
Nick
Как забить
Это же не наш метод
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.py, потом в ini пишешь:
Код: Выделить всё
[FILTER]
EXTENSION = py Filtered UVW as relative coordinates
.ngc = python filter.py
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 18:25
Nick
nkp писал(а):во втором скрипте не пропущены G91-G92?
А они там не нужны, там приращения в формулах = X[#<_x>+[...]].
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 20:22
aegis
Nick, создал питон со вторым текстом, добавил его в ини, пишет "bad character 'u' used"/ правда емс сейчас 2,3,5 т/к/ на стареньком компе линукс посвежее не работает адекватно
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 20:29
Nick
Ммм скинь скриншот кода в linuxcnc
на 2.3.5 второй вариант не будет работать, там используется #<_x>, который только после появился.
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 21:12
aegis
Nick, попробую тогда какнить на новом компе, правда толку с этого будет мало т.к. пока апгрейд не намечается
мне сейчас бы то что на 2,3,5 работало
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 21:59
aegis
на 2.6.5 подобного рода бяка.
Ник, смотри я питон в папку с конфигом станка закидывать должен?
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 22:04
Nick
Первый вариант должен работать и со старой версией, второй только с новой.
Покажи свой ini, такое ощущение, что фильтр не отработал. Хотя, я второй вариант не проверял.
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 22:10
Nick
Да, в папку с конфигом, этот скрип просто делает замену, которую я выше описал.
Т.е. код в окне должен поменяться.
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 22:20
aegis
Код: Выделить всё
# 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
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 22:22
Nick
Попробуй extension поменять на program_extension как в строчках выше. Если не получится попробуй рпсщирение дркгое поставить - не .ngc.
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 22:27
nkp
может .ngc без точки - просто
ngc
(привык проверять ,перед тем,как советовать,но сейчас не могу

)
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 22:38
aegis
.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
все то же пишет/ это я н астарой машине пробую с первым вариантом кода
Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел
Добавлено: 21 сен 2015, 22:41
aegis
nkp, когда убрал точку перед тхт то выскачила новая ошибка

- Screenshot-Ошибка фильтра.png (9.83 КБ) 2708 просмотров