Если синтаксис верный, то работать должно. Одно НО! Данный код надо вставлять в каждую строку кода минимум до второго слоя включительно
PrusaSlicer: вопросы, обмен опытом
Модератор: Kaktus
- dark184
- Сообщения: 1505
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: PrusaSlicer: вопросы, обмен опытом
Купил себе танк и никого больше не жалею.
- dark184
- Сообщения: 1505
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: PrusaSlicer: вопросы, обмен опытом
Вообще ты все верно прописал, лично проверил. Все работает! По крайней мере коэффициент вставляется прямо перед сменой слоя, причем каждого. Вставлял сюда Вот сам код
Купил себе танк и никого больше не жалею.
- dark184
- Сообщения: 1505
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: PrusaSlicer: вопросы, обмен опытом
Как нет? Наводишь на значение переменной в настройках и в всплывающей подсказке появляется полное имя переменной.
С чего ты взял что это вектор?
Не парься, у любого языка есть свой синтаксис. Это просто надо запомнить.
Тут надо самому понимать что ты делаешь. Язык Си например, тоже не поясняет подробно как использовать. Есть только примеры. Тут они тоже есть.
Купил себе танк и никого больше не жалею.
- koluna
- Сообщения: 1528
- Зарегистрирован: 24 авг 2018, 09:32
- Имя: Николай
- Откуда: Самара
- Благодарил (а): 89 раз
- Поблагодарили: 30 раз
Re: PrusaSlicer: вопросы, обмен опытом
Почему?!
Я туда тоже вставлял. Смотрел код. Там есть строки типа extrusion_multiplier=92. Ну а что толку-то? Это просто вставленный слайсером в код текст...
Изменяется ли реально эта переменная и учитывается ли ее значение при нарезке?
В общем,
Код: Выделить всё
M221 S{if layer_num < 2}75{else}97{endif}
Как вчера предложил Avtonomys - пока не пробовал, попробую.
Я знаю об этом. Просто ожидал некоторого списка, в котором все перечислено и даны комментарии...
См. вчерашнее сообщение от Avtonomis.
Да я знаю... просто нет конкретики...
Нет Там все подробно и до мелочей расписано десятки лет назад
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34
https://3deshnik.ru/forum/viewforum.php?f=34
- koluna
- Сообщения: 1528
- Зарегистрирован: 24 авг 2018, 09:32
- Имя: Николай
- Откуда: Самара
- Благодарил (а): 89 раз
- Поблагодарили: 30 раз
Re: PrusaSlicer: вопросы, обмен опытом
Не, не работает!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
...
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34
https://3deshnik.ru/forum/viewforum.php?f=34
-
- Сообщения: 1141
- Зарегистрирован: 31 авг 2017, 14:26
- Имя: Кирилл
- Откуда: Москва, CAO
- Благодарил (а): 38 раз
- Поблагодарили: 167 раз
- Контактная информация:
Re: PrusaSlicer: вопросы, обмен опытом
{} - говорит PrusaSlicer что нужно обработать и вставить результат, тут необходимо использовать полное имя переменной - extrusion_multiplier[0]
[] - это вставка переменных без математики, тут не нужно использовать полное имя переменной - extrusion_multiplier. этот синтаксис считается усторожившим, по идее...
он так и должен работать )) это просто вставка. ничего присвоено конечно же не будет...
он все трогает что заключено в {}
;M221 S{(layer_num<2?75:97)}
[] - это вставка переменных без математики, тут не нужно использовать полное имя переменной - extrusion_multiplier. этот синтаксис считается усторожившим, по идее...
он так и должен работать )) это просто вставка. ничего присвоено конечно же не будет...
он все трогает что заключено в {}
можно чуть сократить...
;M221 S{(layer_num<2?75:97)}
Последний раз редактировалось Avtonomys 10 июн 2021, 10:18, всего редактировалось 1 раз.
- dark184
- Сообщения: 1505
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: PrusaSlicer: вопросы, обмен опытом
Так это надо проверять на печати уже, просто так не проверишь. Здесь идет присваивание значения переменной, значит теоретически она должна измениться. Я помню по такому же принципу что то делал, вроде температуру менял для тестовой башни, все работало именно так. Только условие было другое. Температура менялась, только переменная была temperature=...
Так почему векторного то типа??? Зачем вектор на коэффициент экструзии? У него же нет никакого массива, просто одно значение и все. Было бы хотя бы два значения, тогда да. Вот таже температура экструдера, это вполне может быть векторной переменной, ибо экструдеров может быть больше одного, и то, если он один, далеко не факт что температура векторная. Не помню чтобы применял квадратные скобки. Хотя вполне может быть.
Сейчас еще сам покопался. В общем смысл в чем, со скобками [] он берет нулевое значение из массива по адресу переменной в памяти, состоящего из всего 1 элемента, и присваивает этому значению другое значение, ибо переменная не вектор. Все почти как в Си. НО! тебе то нужно брать не значение! А имя переменной или ее адрес в памяти, что по сути одно и тоже. И уже по этому адресу записать новое значение. То что у тебя сейчас вполне возможно по адресу 1 запишет твое значение, а это может привести к крашу программы.
Купил себе танк и никого больше не жалею.
- dark184
- Сообщения: 1505
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: PrusaSlicer: вопросы, обмен опытом
Вот нашел частичное описание. Оно видимо еще не полностью прописано. https://help.prusa3d.com/en/article/lis ... ers_205643
Смысл какой []. Если переменную просто прописать, берется ее адрес, заключить в квадратные скобки, берется ее ЗНАЧЕНИЕ. Это разные вещи. Также применяется для векторных переменных и берется значение, а не адрес (если переменная векторная, то и в всплывающей подсказке она показывается как векторная. Так что коэффициент экструзии 100% скалярная). Поэтому присваивать значение такой переменной необходимо по другому, как, пока не понял.
Смысл какой []. Если переменную просто прописать, берется ее адрес, заключить в квадратные скобки, берется ее ЗНАЧЕНИЕ. Это разные вещи. Также применяется для векторных переменных и берется значение, а не адрес (если переменная векторная, то и в всплывающей подсказке она показывается как векторная. Так что коэффициент экструзии 100% скалярная). Поэтому присваивать значение такой переменной необходимо по другому, как, пока не понял.
Купил себе танк и никого больше не жалею.
- koluna
- Сообщения: 1528
- Зарегистрирован: 24 авг 2018, 09:32
- Имя: Николай
- Откуда: Самара
- Благодарил (а): 89 раз
- Поблагодарили: 30 раз
Re: PrusaSlicer: вопросы, обмен опытом
Кто-нибудь может объяснить, почему надо так:
а не так:
Разница в указании индекса для filament_notes.
Код: Выделить всё
{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}
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34
https://3deshnik.ru/forum/viewforum.php?f=34
- dark184
- Сообщения: 1505
- Зарегистрирован: 19 фев 2018, 18:18
- Имя: Алексей
- Откуда: Архангельск
- Благодарил (а): 11 раз
- Поблагодарили: 116 раз
Re: PrusaSlicer: вопросы, обмен опытом
Видимо потому, что это по сути массив. Циферка в квадратных скобках указывает на элемент массива. В переменной по сути здесь содержатся не данные, как в обычной переменной, а адрес первого элемента массива плюс значение в скобках.
Купил себе танк и никого больше не жалею.
- koluna
- Сообщения: 1528
- Зарегистрирован: 24 авг 2018, 09:32
- Имя: Николай
- Откуда: Самара
- Благодарил (а): 89 раз
- Поблагодарили: 30 раз
Re: PrusaSlicer: вопросы, обмен опытом
Да я это понял по косвенным признакам. Только вот что индексирует число нуль? Логично, что номер пластика в каком-то списке (в массиве). Но это не так...
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34
https://3deshnik.ru/forum/viewforum.php?f=34
-
- Сообщения: 1141
- Зарегистрирован: 31 авг 2017, 14:26
- Имя: Кирилл
- Откуда: Москва, CAO
- Благодарил (а): 38 раз
- Поблагодарили: 167 раз
- Контактная информация:
Re: PrusaSlicer: вопросы, обмен опытом
номер филамента в списке активных.
так, этот список содержит более двух значений когда в настройках выбрано 2 и более экструдера или многоцветная печать.
- koluna
- Сообщения: 1528
- Зарегистрирован: 24 авг 2018, 09:32
- Имя: Николай
- Откуда: Самара
- Благодарил (а): 89 раз
- Поблагодарили: 30 раз
Re: PrusaSlicer: вопросы, обмен опытом
Что за список? Тот самый раскрывающийся в левом верхнем углу?
Если да, то самым первым филаментом у меня там стоит совсем не тот, для которого сработало [0]. У меня сработало для второго филамента в списке.
У меня в настройках - один экструдер.
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34
https://3deshnik.ru/forum/viewforum.php?f=34
-
- Сообщения: 1141
- Зарегистрирован: 31 авг 2017, 14:26
- Имя: Кирилл
- Откуда: Москва, CAO
- Благодарил (а): 38 раз
- Поблагодарили: 167 раз
- Контактная информация:
Re: PrusaSlicer: вопросы, обмен опытом
нет, тот который под кнопками - Простой, Расширенный, Эксперт...
"Пруток": если добавить еще один экструдер то в списке будет 2 элемента: первый с индексом [0], второй [1]...
- koluna
- Сообщения: 1528
- Зарегистрирован: 24 авг 2018, 09:32
- Имя: Николай
- Откуда: Самара
- Благодарил (а): 89 раз
- Поблагодарили: 30 раз
Re: PrusaSlicer: вопросы, обмен опытом
Ааа... т. е., это не индекс филамента, а индекс экструдера... понятно, спасибо.
Поэтому и векторная величина.
Поэтому и векторная величина.
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34
https://3deshnik.ru/forum/viewforum.php?f=34