Страница 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
Как забить :o
Это же не наш метод :)
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, попробую тогда какнить на новом компе, правда толку с этого будет мало т.к. пока апгрейд не намечается
Screenshot-2.png (2743 просмотра) <a class='original' href='./download/file.php?id=58511&mode=view' target=_blank>Загрузить оригинал (60.43 КБ)</a>
мне сейчас бы то что на 2,3,5 работало

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Добавлено: 21 сен 2015, 21:59
aegis
на 2.6.5 подобного рода бяка.
Ник, смотри я питон в папку с конфигом станка закидывать должен?
Screenshot.png (2735 просмотров) <a class='original' href='./download/file.php?id=58513&mode=view' target=_blank>Загрузить оригинал (122.79 КБ)</a>

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
Screenshot-Ошибка фильтра.png (9.83 КБ) 2708 просмотров