Страница 1 из 1

Candlel 1.1.7 - внести изменения в в событие по клику

Добавлено: 25 окт 2019, 14:05
iMaks-RS
Нужна помощь опытных программистов ))) I'm full zero)))

Суть вопроса: кнопки "обнулить XY", "обнулить Z" должны обнулять текущие рабочие координаты и сразу записывать текущие машинные как G54.
Цель - после восстановления питания и хомления, по команде с одной из четырёх программируемых пользователем кнопок уходил в координату G54X0Y0Z0

Сейчас это делается в ручную: хомление, подвод в нужную точку, обнуление, запись в ручную в консоле команды G10L2P1XкоординатаYкоородинатаZкоордината. Печаль в том, что нет возможности в самом Candle получить текущие машинные координаты.. даже нет возможности их скопировать - окно не активно. Немного упростил себе жизнь, записав в 2 из 4х доступных кнопок поманды:
Идём в G54 - G54;G0X0Y0;G1Z0F500
Идём в G55, (столик выезжает на меня, шпиндель уходит на вверх и в право) - G55;G0Z0;G0X0Y0

Всё что смог сделать на данный момент.. это с горем по полам установить QTCreatar, QT-5.4.2, minGW. Как-то криво настроить и таки добраться до интерфейса, что бы узнать какие события вызываются по клику и в какие переменные выводятся машинные координаты.. осталось "мелочь".. внести изменения и собрать.. но.. собрать не получается.. и я не уверен что правильно внёс изменения.. т.к. не понятно, являются переменные координат глобальными и можно ли их в текущем времени получить..

вот код изначальный
(для просмотра содержимого нажмите на ссылку)

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

void frmMain::on_cmdZeroXY_clicked()
{
    m_settingZeroXY = true;
    sendCommand("G92X0Y0", -1, m_settings->showUICommands());
    sendCommand("$#", -2, m_settings->showUICommands());
}

void frmMain::on_cmdZeroZ_clicked()
{
    m_settingZeroZ = true;
    sendCommand("G92Z0", -1, m_settings->showUICommands());
    sendCommand("$#", -2, m_settings->showUICommands());
}
а вот моё кривое )) "в лоб" и "на угад"
(для просмотра содержимого нажмите на ссылку)

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

void frmMain::on_cmdZeroXY_clicked()
{
    m_settingZeroXY = true;
    sendCommand("G92X0Y0;G10L2P1X%txtMPosXY%txtMPosY", -1, m_settings->showUICommands());
    sendCommand("$#", -2, m_settings->showUICommands());
}

void frmMain::on_cmdZeroZ_clicked()

Был бы признателен, если бы кто реализовал этот функционал, собрал проект и выложил в доступ.
Спасибо.
{
    m_settingZeroZ = true;
    sendCommand("G92Z0;G10L2P1Z%txtMPosZ", -1, m_settings->showUICommands());
    sendCommand("$#", -2, m_settings->showUICommands());
}
Был бы признателен, за помощь и готовый собранный проект с внесёнными изменениями.
Спасибо.

Re: Candlel 1.1.7 - внести изменения в в событие по клику

Добавлено: 28 окт 2019, 08:12
shatohingv
Я думаю тебе проще попросит программиста который сделал candle на git, я с ним общался, вполне идущий на общение человек, скорее всего он тебе за пару часов сделает то что надо

Re: Candlel 1.1.7 - внести изменения в в событие по клику

Добавлено: 12 ноя 2019, 10:21
X-Ray
https://yadi.sk/d/L-laABnSVY4Ubw
candle-Desktop_Qt_5_12_3_MSVC2017_64bit.zip
Возможно оно если я правильно понял видео.

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

void frmMain::on_pushButton_clicked()
{
    sendCommand(QString("G10L2P1X%1Y%2Z%3").arg(ui->txtMPosX->text()).arg(ui->txtMPosY->text()).arg(ui->txtMPosZ->text()), -1, true);
}
Снимок.PNG
Снимок.PNG (5.08 КБ) 3175 просмотров