ПОЛЕЗНО Candle: смена инструмента с использованием дополнительного щупа (бобышки)

Где-то, по идее, должна быть структура vars с полями-переменными, нет ли в ней тех, куда могут быть записаны результаты команды G38.x?
Почитай раздел 5. Да и вообще хороший мануал скидываю.
З.Ы. его можно закинуть в раздел "Справочник" сайта нашего. Только не знаю как.
 

Вложения

  • candle_help_ru.pdf
    988.8 KB · Просмотры: 17
Последнее редактирование:
Олег, Прописал новые кнопки! Буду пробовать. Спасибо.
Здорово получилось. (судя по видео-уроку).

Вот ...опой чувствую, что ещё один шаг... и запоминать в стороннюю память (бумажку) не понадобится.
ВЫ настолько погрузились в проблему!!!

А всплывающие окна с запросом безопасной высоты и дельты Вы сами сгенерировали в этих скриптах?
Ваши сообщения автоматически объединены:

Да, я понял, - сами. Уже переписал на понятный мне язык... ;)
 
ВЫ настолько погрузились в проблему!!!
Уже выгрузился. :)
Попробовал, что хотел, дальше не особо уже интересно.

и запоминать в стороннюю память (бумажку) не понадобится
Навряд ли есть способ обмена переменными между скриптами отдельных кнопок, так что бумажка - нормальный вариант.
 
Уже выгрузился. :)
Попробовал, что хотел, дальше не особо уже интересно.


Навряд ли есть способ обмена переменными между скриптами отдельных кнопок, так что бумажка - нормальный вариант.

В INECTRA использую вот такую конструкцию для обмена данными между скриптами (живет в памяти, пока загружена програма)

сохранить переменную:

$.savevar("refZWC", p)

прочитать переменную:

var reference_wc_z_position = $.readvar("refZWC")

Поскольку и там и там JS используется, вдруг заработает
 
сохранить переменную:
$.savevar("refZWC", p)
прочитать переменную:
var reference_wc_z_position = $.readvar("refZWC")
Проверил, так не работает, в консоль ругается
$.SAVEVAR("REFZWC", 123) < error:2
Но.
Залез в ini файл, и вижу такой "подарок" -
Bilderman 2025.04.19 12-43-25.png
т.е. все переменные туда автоматом пишутся.
Проверил из тестовой кнопки, delta считывается, что резко увеличивает юзабельность всей этой фигни :)
Небольшая ложка дёгтя - переменные пишутся в ини-шник лишь после выхода из Кэндл, т.е. если комп вырубится по причине пропадания света, ничего никуда не запишется.
Когда-то, для версии 1.1.9 я добавлял принудительный сброс настроек в ини-файл для сохранения координаты СК именно по этой причине.
 
  • Здорово
Реакции: blny
Последнее редактирование:
но в самом макросе работает
Так должно в файл записаться, а оно не записывается. Смотрю - нет там параметра REFZWC со значением 123.

ЗЫ. Да и нужно ли оно, раз выяснилось, что и так записывается-читается...
Лучше бы ещё выяснить правильный синтаксис для условных операторов и получения результатов модальных окошек, тогда можно более корректно составлять эти скрипты.
ЗЫЫ. Ну и иконок для кнопок добавить, что бы совсем красиво было.

ЗЫЗЫ. Кстати, тема для отдельной темы - скрипты для различных действий, возможно, было бы пользительно тоже...
 
А говорили:
Уже выгрузился
Хорошую тему я вам подкинул. Лень (записывать на бумажку ;) ) двигатель прогресса
Проверил из тестовой кнопки, delta считывается, что резко увеличивает юзабельность всей этой фигни :)
В консоли, у меня тоже ругается.. но в самом макросе работает
Теперь, пожалуйста - скрипты с учётом данного прогресса и инструкцией, как этим пользоваться.
И ещё одно:cry:
Когда-то, для версии 1.1.9 я добавлял принудительный сброс настроек в ини-файл для сохранения координаты СК именно по этой причине.
Пусть крендель, как почти все редакторы, сохраняет свои настройки и место выполнения работы каждые 5 - 10 мин.
С созданием кнопки восстановить последние данные:vin:
 
Пусть крендель, как почти все редакторы, сохраняет свои настройки и место выполнения работы каждые 5 - 10 мин.


Это, только, если письмо деду Морозу написать :)

оффтоп

Ваши сообщения автоматически объединены:

скрипты с учётом данного прогресса
Python:
G21G91
G38.2Z-30F100
G0Z1
G38.2Z-2F10
{var z1 = vars.PRBz}
G92Z0
G0Z5
{script.importExtension("qt.widgets")}
{var zs = QInputDialog.getText(0, "", "Set safe Z", QLineEdit.Normal, "20")}
G90
G0Z{zs}
G53G0X-10.000Y-6.000
G53G0Z-35
G91
G38.2Z-30F100
G0Z1
G38.2Z-2F10
{var delta = vars.PRBz - z1}
G90
G0Z{zs}
G0X0Y0
G0Z{0+1}
G1Z0F50
{var storedG92z = vars.G92z}

Python:
{script.importExtension("qt.widgets")}
{var zs = QInputDialog.getText(0, "", "Set safe Z", QLineEdit.Normal, "20")}
G90
G0Z{zs}
G53G0X-10.000Y-6.000
G53G0Z-35
G91
G38.2Z-30F100
G0Z1
G38.2Z-2F10
G92Z{delta}
G90
G0Z{zs}
G0X0Y0
G0Z{0+1}
G1Z0F50
{var storedG92z = vars.G92z}
и инструкцией, как этим пользоваться
Да вроде из видео понятно всё, только теперь дельту вручную заполнять не надо...
 


по щучьему веленью, по моему хотенью, Пусть крендель, как почти все редакторы, сохраняет свои настройки и место выполнения работы каждые 5 - 10 мин.

оффтоп
 

Немного программистского душнилова про кишки любимой программы. Candle на мой взгляд очень гибкая программа. Началось с того, что меня там напрягала какая-то мелочь, потом его переделывал под Qt шестой версии, запускается под виндой, линуксом, макосью. Разве что плюгин для видеокамеры пришлось почти заново делать - там в Qt API в этой части сильно поменялось. И самое сложное - пришлось заново переделывать поддержку яваскриптовых плюгинов, так как для них API вообще другое стало, прежний подход вообще неприемлем. Пока вручную наваял штук тридцать врапперов для Qtшных классов (которые используются в скриптовых плюгинах), чтобы хотя бы в рамках существующих плюгинов всё работало. Хотя сделать наследование от класса-враппера к классу в яваскрипте не получилось, просто сделал ещё один кастомный класс. Потихоньку ваяю сишный парсер, чтобы сделать что-то вроде Qtшного метакомпилятора, который будет из заголовков Qtшных классов создавать заголовки и тела для классов-врапперов. Там тоже такая интересная матрёшка вырисовывается - парсер (сладкая парочка бизон и флекс), понимающий семантику Никлауса Вирта, заглатывает описание C++ в этой семантике и отрыгивает парсер, понимающий семантику C++. К полученному вешается полезная нагрузка, которая будет делать необходимые предобразования и вставки в обрабатываемый текст, и полученное уже способно будет самостоятельно пережёвывать заголовочные файлы Qt. В целом всё просто и понятно, в принципе, такое провернуть может каждый желающий.

оффтоп
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать