Страница 12 из 85

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 03 авг 2015, 03:45
selenur
Я ведь забыл о том что в контроллере есть разъем jog, в который и предназначен для ручного управления, там достаточно только кнопок ;-)

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 03 авг 2015, 10:46
Karbofos
расширил установки управления, добавил переводы. сейчас надо прикрутить всё это дело к программе. сегодня начну тестировать, завтра должно быть готово. сейчас в отпуске, так что больше могу сделать. так примерно выглядит окошко:

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 03 авг 2015, 11:27
Moonglow
Можно ли будет задавать свои комбинации для движения ?

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 03 авг 2015, 11:45
Karbofos
Moonglow писал(а):Можно ли будет задавать свои комбинации для движения ?
переназначение клавиш? да, можно прикрутить тоже, но на этой неделе обещать не могу

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 03 авг 2015, 12:06
Moonglow
Karbofos писал(а):переназначение клавиш?
Да, я думаю будет удобно для большей гибкости.

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 03 авг 2015, 19:29
Karbofos
добавлю. если получится, даже на этой неделе. в дополнительном табуляторе.

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 08 авг 2015, 01:00
Karbofos
Всем привет!
Вот картинка программы, собранной на Qt5. Сборка переключается в файле CMakeLists.txt установкой USE_QT_VERSION в значение 5
Собираются оба варианта на линуксе, но возможны отличия при работе, их нужно отловить и исправить.
Сейчас делаю расширение для клавиш пользователя. Быстро сделать не обещаю, т.к. надо корешу помочь обои переклеить. :) А это в другом городе, так что к среде буду дома и продолжу.

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 24 авг 2015, 20:35
Karbofos
Приветствую!
Сделал кнопки пользователя в третьем табуляторе. Переделываю под этот функционал сканирование поверхности.

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 28 авг 2015, 22:01
Karbofos
добрый вечер, буду краток.
исправил: сканирование поверхности, отрисовка таблицы; отображение инструмента в OpenGL во время обработки поверхности. Сейчас делаю оптимизацию отображения: выдача всего объекта целиком, будет возможно отображать сложные объекты быстро, без тормозов. Но для этого нужно времени, чтобы исправить. Может пару дней, может и неделю.

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 29 авг 2015, 07:51
tooshka
Выглядит уже серьезно. Заказал у чинайцев подделку МК-1 где то тащится, придет попробую софт.

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 30 авг 2015, 20:24
Karbofos
Приветствую!
Переделал выдачу объекта, сейчас матрица цвета и матрица координат выдаются в один приём, OpenGL сам заботится о распаралелливании отрисовки, циклы не нужны:

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

    glPushMatrix();

    glEnable(GL_VERTEX_ARRAY);
    glEnable(GL_COLOR_ARRAY);
    glDisable(GL_NORMAL_ARRAY);
    glDisable(GL_TEXTURE_COORD_ARRAY);

    glLineWidth(0.3f);

    // запись workArray идентична &workArray[0]
    glVertexPointer(3, GL_FLOAT, 0, workArray); // массив координат
    glColorPointer(3, GL_FLOAT, 0, colorArray); // массив цвета
    glDrawArrays(GL_LINE_STRIP, 0, workNum); // количество элементов массива

    // select with 3.0 the current cut of object
    if (Task::StatusTask == Waiting) {
        int numSelectStart = Task::posCodeStart - 1;
        int numSelectStop = Task::posCodeEnd - 1;
        glLineWidth(3.0f);
        glVertexPointer(3, GL_FLOAT, 0, &workArray[numSelectStart]); // numSelectStart - адрес начала отрисовки 
        glColorPointer(3, GL_FLOAT, 0, &colorArray[numSelectStart]);
        glDrawArrays(GL_LINE_STRIP, 0, numSelectStop - numSelectStart - 1);
    } else {
        int numSelect = parent->cnc->numberComleatedInstructions() - 1;
        glLineWidth(3.0f);
        glVertexPointer(3, GL_FLOAT, 0, &workArray[numSelect]); // numSelect - адрес начала отрисовки 
        glColorPointer(3, GL_FLOAT, 0, &colorArray[numSelect]);
        glDrawArrays(GL_LINE_STRIP, 0, 2); // линия состоит из 2 элементов
    }

    glDisable(GL_VERTEX_ARRAY);
    glDisable(GL_COLOR_ARRAY);
    glEnable(GL_NORMAL_ARRAY);
    glEnable(GL_TEXTURE_COORD_ARRAY);

    glPopMatrix();
Исходники проактуализировал на гитхабе.

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 04 сен 2015, 11:55
Karbofos
Прикрутил к программе окно с информацией о железяке, продолжаю возиться с парсерами.
На выходных обновлю исходники

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 06 сен 2015, 20:15
drey82
хочу сказать большое спасибо, за вашу разработку, пару раз пробовал прикольно, работает, правда настроить сразу не получилось, а так очень даже хорошо, мне как для хобби - за глаза хватит

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 06 сен 2015, 20:42
selenur
drey82 писал(а):хочу сказать большое спасибо, за вашу разработку, пару раз пробовал прикольно, работает, правда настроить сразу не получилось, а так очень даже хорошо, мне как для хобби - за глаза хватит
Ещё пока, почти все настройки нужно делать в родной программе от контроллера, в нашей программе пока только количество импульсов настраивается. Но если есть вопросы по настройке, спрашивай, подскажу..... :-)

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 07 сен 2015, 20:26
RaimixLv
доброго время суток всем, мне проблема . скачал ваш софт , и как то не хочет работать, открываю club-cnc logo.nc , но не коректно показывает в 3Д , и при запуске X и Y оси куда то мочат в без конечность, и СТОП не работает. сегодня собрал сей девайс, прошил с офф. сайта. Оригинальная прога работает идеально но с ограничениями (лицензию не покупал). может поможете решить проблему. работаю на windows 10 pro X64, пробовал тоже на Windows 7 enterprise X86, ровно такие же проблемы. пробовал скачивать все версии программы с форума не одна не заработала нормально. связь с девайсом есть , концевики паботают, мануально крутануть все оси можно, а вот г-код глючит конкретно. пробовал просто квадрат в кореле нарисовать и конвертировать в г-код, тот же глюк :(

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 07 сен 2015, 22:27
Karbofos
Приветствую!
На мышке попробуйте колёсико покрутить, это масштаб. Может быть в этом дело.

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 07 сен 2015, 22:45
RaimixLv
Karbofos писал(а):Приветствую!
На мышке попробуйте колёсико покрутить, это масштаб. Может быть в этом дело.
да нет , пробовал по всякому, если на конструкторе набрал пару точек типа трёх угольник, то всё ОК и 3Д ОК, а как начинается цифры за дробю , как (10.234) и с минусами типа ( -10.234) так зависает всё и ось уходит в безконечность. помогает только сброс процессора, но если отсоединить девайс то всеровно ось продолжает фигачить , пока не остановиш девайс с EMERGENCY кнопкой .

пример:
G1 X10.234 Y0 Z0

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 08 сен 2015, 05:00
selenur
Есть предположение, что у меня косяк работы со знаком разделителя целой и дробной части, сегодня проверю работу при разных локальных настройках.

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 08 сен 2015, 08:20
selenur
Посмотри тут:
(для просмотра содержимого нажмите на ссылку)
error.PNG (2498 просмотров) <a class='original' href='./download/file.php?id=57618&mode=view' target=_blank>Загрузить оригинал (35.92 КБ)</a>
На второй закладке, есть окно куда выводится отладочная информация, и в случае проблемм разбора данных там должно быть что нибудь.

Re: Управление контроллером mk1 (planet-cnc)

Добавлено: 08 сен 2015, 08:49
Karbofos
Значит я ошибался, думая на события от мышки.
selenur писал(а):Есть предположение, что у меня косяк работы со знаком разделителя целой и дробной части, сегодня проверю работу при разных локальных настройках.
Сергей, после того, как ты мне написал про сложности с локалью, я встроил в программу такое:

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

    QString n = QString::number(1.01);
    toDecimalPoint = (n.indexOf(",") > 0) ? ',' : '.'; // если запятая найдена в тексте
    fromDecimalPoint = (toDecimalPoint == ',') ? '.' : ',';
ну и потом при чтении

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

  lineStream = lineStream.replace(fromDecimalPoint, toDecimalPoint);