Страница 2 из 3

Re: Непонятная проблема с G03

Добавлено: 16 апр 2012, 13:25
Nick
по идее третью ось можно убрать чуть-ли не простым grep и регулярным выражением. Главное образец иметь.
И можно будет в LinuxCNC вставить как FILTER, чтобы при открытии файла он прогонялся через этот процессор.

Re: Непонятная проблема с G03

Добавлено: 15 мар 2014, 13:27
Валерий
A00347.ngc
программа
(515 байт) 993 скачивания
Nick писал(а):Я кажется знаю откуда может возникать такая ошибка, она может появляться из накопленной погрешности относительных перемещений.

Кто же это тебе такие коды пишет...

Вообще допуск расчетов устанавливается в http://git.linuxcnc.org/gitweb?p=linuxc ... 935ab4#l58
но для того, чтобы изменение вступило в силу, надо заново компилить.
Доброго времени суток всем.
Исправил файл interp_internal.hh
#define TOLERANCE_INCH 0.0005
#define TOLERANCE_MM 0.005
на #define TOLERANCE_INCH 0.005
#define TOLERANCE_MM 0.05
Перекомпилировал как сказано тут Установка LinuxCNC EMC2 из исходников
эффекта ни какого не получил,все равно вылетает ошибка.
У кого есть какие мысли по поводу точности вычислений 3 знака 4 знака после запятой?
постпроцессор коректировать нет возможности

Re: Непонятная проблема с G03

Добавлено: 17 мар 2014, 11:54
Nick
А откуда Gкод такой? Может g90.1 спасет?

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 17:34
Валерий
Точно с G90.1 проходит.
Код этот с фрезерного 6М13НС. ЧПУ NC210.
Еще одна загвозка
N7G0X-250Y50Z80 Вот так проходит
N7GX-250Y50Z а так нет,У нас постпроцессор нуль не ставит после
N7G0X0.01Y0.01Z0.01 так проходит
G;X;Y;Z;I;J нельзя в ini файле под корректировать, или как то другим способом

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 17:52
Валерий
Точно с G90.1 проходит.
Код этот с фрезерного 6М13НС. ЧПУ NC210.
Еще одна загвозка
N7G0X-250Y50Z80 Вот так проходит
N7GX-250Y50Z а так нет,У нас постпроцессор нуль не ставит после
G;X;Y;Z;I;J нельзя в ini файле под корректировать, или как то другим способом
N7G0X0.01Y0.01Z0.01 так проходит

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 18:01
vovafed
можно фильтр в ини прописать чтоб после всех значений зет нолик ставил
ngc =sed -r 's/z([-0-9.][-0-9.]*)/Z0\1/igm'
из меня тот еще программист что то вроде этого должно быть
надо вставить в ини файл в фильтр

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 18:09
Валерий
Примерно как это релизовать?

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 18:18
vovafed
так попробуйте

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 18:30
Валерий
Вот ошибка (1320 просмотров) <a class='original' href='./download/file.php?id=26062&mode=view' target=_blank>Загрузить оригинал (15.17 КБ)</a>
Вот ошибка
Не идет такой кадр N3 Z

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 18:41
vovafed
надо ждать тяжелую артилерию)
попробую в своих конфигах

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 19:14
vovafed
:wik: нет не выходит
если заменить зет на зет ноль остаются отрицательные значения перед которыми нолик не поставиш
не знаю как можно рассортировать

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 19:35
Валерий
А как сделать что бы G90 G90.1 загружались сразу вместе EMC.
G90.1 отменяет G90 ?

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 19:37
vovafed
а покажите постпроцессор может там проще сделать

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 19:46
Валерий
В том то и дело что мы используем готовые программы.
К постпроцессору доступ не имеем.

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 20:01
vovafed
ngc =sed -r 's/Z/Z0/ig'
вот такой фильтр попробуйте он не правильно работает с отрицательными значениями
но у вас в коде все положительные может пойдет
в колонку [FILTER] ини файла надо вставить

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 20:28
Валерий
Работает,но это не выход.
У нас постпроцессор нуль не ставит после
G;X;Y;Z;I;J
С G попробовал все работает отлично ngc =sed -r 's/G/G0/ig'
А как сделать что бы G90 G90.1 загружались сразу вместе EMC.

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 20:37
nkp
Валерий писал(а):Работает,но это не выход.У нас постпроцессор нуль не ставит послеG;X;Y;Z;I;J
можно прописать несколько команд для sed в отдельный файл:
в ини :
[FILTER]

PROGRAM_EXTENSION = .ngc Script sed
ngc = sed -f chang.sed


файл chang.sed создать в папке с конфигом...
в него прописывать все желаемые изменения (мне кажеться это более аккуратным вариантом
при большом числе строк в фильтре)
Валерий писал(а):А как сделать что бы G90 G90.1 загружались сразу вместе EMC.
RS274NGC_STARTUP_CODE

Re: Непонятная проблема с G03

Добавлено: 20 мар 2014, 20:54
nkp
пример chang.sed:

Код: Выделить всё

s/G *G/G0G/i
s/G *X/G0X/i
s/G *Y/G0Y/i
s/G *Z/G0Z/i
s/G *F/G0F/i

s/Z *G/Z0G/i
s/Z *$/Z0/i
может и есть возможность в данном случае написать сравнительно короткую команду ,решающую проблему...
на пока ее нет - в chang.sed перечислить все возможные варианты замен...
не по феншую - но работать будет одинаково...
например s/Z *$/Z0/i :
если до конца строки после Z стоят только пробелы - заменяем Z на Z0

Re: Непонятная проблема с G03

Добавлено: 21 мар 2014, 00:36
Serg
Можно и одной строчкой:

Код: Выделить всё

s/\([GXYZIJ]-*\)\([^0-9]*\)/\10\2/gi
или совсем красиво, но двумя строчками:

Код: Выделить всё

s/\([GXYZIJ]-*\)\([^0-9]\)/\10\2/gi
s/\([GXYZIJ]\)$/\10/gi
теперь попробуйте понять что тут написано. ;)

Re: Непонятная проблема с G03

Добавлено: 21 мар 2014, 08:29
nkp
UAVpilot писал(а):теперь попробуйте понять что тут написано
s/\([GXYZIJ]-*\)\([^0-9]\)/\10\2/gi
s/\([GXYZIJ]\)$/\10/gi

попробую:
тут применяются группы()и классы []
ищем:
любую букву из класса [GXYZIJ] (хорошо ,если пп никогда не "выдаст" строчные буквы)
за которой может стоять (или не стоять) " минус" ... (чесно говоря - не понял этот момент)
после должен идти любой символ-"не_число" (наверно можно было написать \D )
-----------
далее то ,на что "это" меняем:
берем символ из группы 1 ,далее ставим 0 ,далее - наш символ_не_число из группы 2
---------
вторая строка подобна ,тут ищем совпадения из [GXYZIJ] в конце строки ($)
========
в общем - не понятно только "-*" (по идее там должны быть пробелы )