ПОЛЕЗНО 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    Нет, я не буду ничего отключать