Если синтаксис верный, то работать должно. Одно НО! Данный код надо вставлять в каждую строку кода минимум до второго слоя включительно

Модератор: Kaktus
Если синтаксис верный, то работать должно. Одно НО! Данный код надо вставлять в каждую строку кода минимум до второго слоя включительно
Вообще ты все верно прописал, лично проверил. Все работает! По крайней мере коэффициент вставляется прямо перед сменой слоя, причем каждого. Вставлял сюда Вот сам код
Как нет? Наводишь на значение переменной в настройках и в всплывающей подсказке появляется полное имя переменной.
С чего ты взял что это вектор?
Не парься, у любого языка есть свой синтаксис. Это просто надо запомнить.
Тут надо самому понимать что ты делаешь. Язык Си например, тоже не поясняет подробно как использовать. Есть только примеры. Тут они тоже есть.
Почему?!
Я туда тоже вставлял. Смотрел код. Там есть строки типа extrusion_multiplier=92. Ну а что толку-то? Это просто вставленный слайсером в код текст...
Код: Выделить всё
M221 S{if layer_num < 2}75{else}97{endif}
Я знаю об этом. Просто ожидал некоторого списка, в котором все перечислено и даны комментарии...
См. вчерашнее сообщение от Avtonomis.
Да я знаю... просто нет конкретики...
Нет
Не, не работает!Avtonomys писал(а): ↑09 июн 2021, 22:32они работают только на вставку и проверку математики в фигурных скобках:переменные векторного типа должны быть с квадратными скобками...Код: Выделить всё
{if layer_num < 2}{extrusion_multiplier[0]}=92{else}{extrusion_multiplier[0]}=97{endif}
Код: Выделить всё
;M221 S{if layer_num<2}75{else}97{endif}
;{if layer_num<2}extrusion_multiplier=75{else}extrusion_multiplier=97{endif}
{if layer_num<2}{extrusion_multiplier[0]}=75{else}{extrusion_multiplier[0]}=97{endif}
Код: Выделить всё
...
;LAYER_CHANGE
;Z:0.25
;HEIGHT:0.25
;M221 S75
;extrusion_multiplier=75
0.97=75
...
можно чуть сократить...
Так это надо проверять на печати уже, просто так не проверишь. Здесь идет присваивание значения переменной, значит теоретически она должна измениться. Я помню по такому же принципу что то делал, вроде температуру менял для тестовой башни, все работало именно так. Только условие было другое. Температура менялась, только переменная была temperature=...
Так почему векторного то типа??? Зачем вектор на коэффициент экструзии? У него же нет никакого массива, просто одно значение и все. Было бы хотя бы два значения, тогда да. Вот таже температура экструдера, это вполне может быть векторной переменной, ибо экструдеров может быть больше одного, и то, если он один, далеко не факт что температура векторная. Не помню чтобы применял квадратные скобки. Хотя вполне может быть.
Код: Выделить всё
{if filament_notes[0]=~/.*PLASTIC=ABSENATURALSYNTECH.*/}
M221 S{if layer_num<2}80{else}95{endif}
{else}
M221 S{if layer_num<2}74{else}94{endif}
{endif}
Код: Выделить всё
{if filament_notes=~/.*PLASTIC=ABSENATURALSYNTECH.*/}
M221 S{if layer_num<2}80{else}95{endif}
{else}
M221 S{if layer_num<2}74{else}94{endif}
{endif}
Видимо потому, что это по сути массив. Циферка в квадратных скобках указывает на элемент массива. В переменной по сути здесь содержатся не данные, как в обычной переменной, а адрес первого элемента массива плюс значение в скобках.
номер филамента в списке активных.
Что за список? Тот самый раскрывающийся в левом верхнем углу?
У меня в настройках - один экструдер.
нет, тот который под кнопками - Простой, Расширенный, Эксперт...