PrusaSlicer: вопросы, обмен опытом

Собираем, настраиваем, печатаем, делимся опытом, помогаем новичкам

Модератор: Kaktus

Аватара пользователя
dark184
Сообщения: 1505
Зарегистрирован: 19 фев 2018, 18:18
Имя: Алексей
Откуда: Архангельск
Благодарил (а): 11 раз
Поблагодарили: 115 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение dark184 » 10 июн 2021, 07:43

koluna писал(а):
09 июн 2021, 21:03
Хотелось бы нечто вроде:
Если синтаксис верный, то работать должно. Одно НО! Данный код надо вставлять в каждую строку кода минимум до второго слоя включительно :)
Купил себе танк и никого больше не жалею.

Аватара пользователя
dark184
Сообщения: 1505
Зарегистрирован: 19 фев 2018, 18:18
Имя: Алексей
Откуда: Архангельск
Благодарил (а): 11 раз
Поблагодарили: 115 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение dark184 » 10 июн 2021, 07:52

koluna писал(а):
09 июн 2021, 23:59
Нет полного списка переменных... нет разделения по типам... и вообще нет конкретики... бардак
Вообще ты все верно прописал, лично проверил. Все работает! По крайней мере коэффициент вставляется прямо перед сменой слоя, причем каждого. Вставлял сюда
2021-06-10_07-50-59.png
2021-06-10_07-50-59.png (19.39 КБ) 5399 просмотров
Вот сам код
Втулка 6.2x10.rar
(40.21 КБ) 65 скачиваний
Купил себе танк и никого больше не жалею.

Аватара пользователя
dark184
Сообщения: 1505
Зарегистрирован: 19 фев 2018, 18:18
Имя: Алексей
Откуда: Архангельск
Благодарил (а): 11 раз
Поблагодарили: 115 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение dark184 » 10 июн 2021, 07:59

koluna писал(а):
09 июн 2021, 23:59
Нет полного списка переменных
Как нет? Наводишь на значение переменной в настройках и в всплывающей подсказке появляется полное имя переменной.
koluna писал(а):
09 июн 2021, 23:59
Почему extrusion_multiplier - вектор?
С чего ты взял что это вектор?
koluna писал(а):
09 июн 2021, 23:59
Почему заключаем в фигурные скобки?
Не парься, у любого языка есть свой синтаксис. Это просто надо запомнить.
koluna писал(а):
09 июн 2021, 23:59
Из описания на офсайте вообще не понятно, как использовать
Тут надо самому понимать что ты делаешь. Язык Си например, тоже не поясняет подробно как использовать. Есть только примеры. Тут они тоже есть.
Купил себе танк и никого больше не жалею.

Аватара пользователя
koluna
Сообщения: 1528
Зарегистрирован: 24 авг 2018, 09:32
Имя: Николай
Откуда: Самара
Благодарил (а): 89 раз
Поблагодарили: 30 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение koluna » 10 июн 2021, 08:38

dark184 писал(а):
10 июн 2021, 07:43
Одно НО! Данный код надо вставлять в каждую строку кода минимум до второго слоя включительно
Почему?!
dark184 писал(а):
10 июн 2021, 07:52
Вообще ты все верно прописал, лично проверил. Все работает! По крайней мере коэффициент вставляется прямо перед сменой слоя, причем каждого. Вставлял сюда
Я туда тоже вставлял. Смотрел код. Там есть строки типа extrusion_multiplier=92. Ну а что толку-то? Это просто вставленный слайсером в код текст...
Изменяется ли реально эта переменная и учитывается ли ее значение при нарезке?
В общем,

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

M221 S{if layer_num < 2}75{else}97{endif}
работает, в код вставляется. Но слайсер, конечно, не учитывает при расчетах количество пластика...
Как вчера предложил Avtonomys - пока не пробовал, попробую.
dark184 писал(а):
10 июн 2021, 07:59
Как нет? Наводишь на значение переменной в настройках и в всплывающей подсказке появляется полное имя переменной.
Я знаю об этом. Просто ожидал некоторого списка, в котором все перечислено и даны комментарии...
dark184 писал(а):
10 июн 2021, 07:59
С чего ты взял что это вектор?
См. вчерашнее сообщение от Avtonomis.
dark184 писал(а):
10 июн 2021, 07:59
Не парься, у любого языка есть свой синтаксис. Это просто надо запомнить.
Да я знаю... просто нет конкретики...
dark184 писал(а):
10 июн 2021, 07:59
Язык Си например, тоже не поясняет подробно как использовать.
Нет :) Там все подробно и до мелочей расписано десятки лет назад :)
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34

Аватара пользователя
koluna
Сообщения: 1528
Зарегистрирован: 24 авг 2018, 09:32
Имя: Николай
Откуда: Самара
Благодарил (а): 89 раз
Поблагодарили: 30 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение koluna » 10 июн 2021, 08:49

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

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение Avtonomys » 10 июн 2021, 10:05

{} - говорит PrusaSlicer что нужно обработать и вставить результат, тут необходимо использовать полное имя переменной - extrusion_multiplier[0]
[] - это вставка переменных без математики, тут не нужно использовать полное имя переменной - extrusion_multiplier. этот синтаксис считается усторожившим, по идее...

он так и должен работать )) это просто вставка. ничего присвоено конечно же не будет...
он все трогает что заключено в {}
koluna писал(а):
10 июн 2021, 08:49
;M221 S{if layer_num<2}75{else}97{endif}
можно чуть сократить...
;M221 S{(layer_num<2?75:97)}
Последний раз редактировалось Avtonomys 10 июн 2021, 10:18, всего редактировалось 1 раз.

Аватара пользователя
dark184
Сообщения: 1505
Зарегистрирован: 19 фев 2018, 18:18
Имя: Алексей
Откуда: Архангельск
Благодарил (а): 11 раз
Поблагодарили: 115 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение dark184 » 10 июн 2021, 10:16

koluna писал(а):
10 июн 2021, 08:38
Там есть строки типа extrusion_multiplier=92.
Так это надо проверять на печати уже, просто так не проверишь. Здесь идет присваивание значения переменной, значит теоретически она должна измениться. Я помню по такому же принципу что то делал, вроде температуру менял для тестовой башни, все работало именно так. Только условие было другое. Температура менялась, только переменная была temperature=...
koluna писал(а):
10 июн 2021, 08:49
Не, не работает!
Так почему векторного то типа??? Зачем вектор на коэффициент экструзии? У него же нет никакого массива, просто одно значение и все. Было бы хотя бы два значения, тогда да. Вот таже температура экструдера, это вполне может быть векторной переменной, ибо экструдеров может быть больше одного, и то, если он один, далеко не факт что температура векторная. Не помню чтобы применял квадратные скобки. Хотя вполне может быть.
Сейчас еще сам покопался. В общем смысл в чем, со скобками [] он берет нулевое значение из массива по адресу переменной в памяти, состоящего из всего 1 элемента, и присваивает этому значению другое значение, ибо переменная не вектор. Все почти как в Си. НО! тебе то нужно брать не значение! А имя переменной или ее адрес в памяти, что по сути одно и тоже. И уже по этому адресу записать новое значение. То что у тебя сейчас вполне возможно по адресу 1 запишет твое значение, а это может привести к крашу программы.
Купил себе танк и никого больше не жалею.

Аватара пользователя
dark184
Сообщения: 1505
Зарегистрирован: 19 фев 2018, 18:18
Имя: Алексей
Откуда: Архангельск
Благодарил (а): 11 раз
Поблагодарили: 115 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение dark184 » 10 июн 2021, 10:44

Вот нашел частичное описание. Оно видимо еще не полностью прописано. https://help.prusa3d.com/en/article/lis ... ers_205643
Смысл какой []. Если переменную просто прописать, берется ее адрес, заключить в квадратные скобки, берется ее ЗНАЧЕНИЕ. Это разные вещи. Также применяется для векторных переменных и берется значение, а не адрес (если переменная векторная, то и в всплывающей подсказке она показывается как векторная. Так что коэффициент экструзии 100% скалярная). Поэтому присваивать значение такой переменной необходимо по другому, как, пока не понял. :D
Купил себе танк и никого больше не жалею.

Аватара пользователя
koluna
Сообщения: 1528
Зарегистрирован: 24 авг 2018, 09:32
Имя: Николай
Откуда: Самара
Благодарил (а): 89 раз
Поблагодарили: 30 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение koluna » 06 июл 2021, 12:36

Кто-нибудь может объяснить, почему надо так:

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

{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}
Разница в указании индекса для filament_notes.
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34

Аватара пользователя
dark184
Сообщения: 1505
Зарегистрирован: 19 фев 2018, 18:18
Имя: Алексей
Откуда: Архангельск
Благодарил (а): 11 раз
Поблагодарили: 115 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение dark184 » 06 июл 2021, 13:04

koluna писал(а):
06 июл 2021, 12:36
filament_notes
Видимо потому, что это по сути массив. Циферка в квадратных скобках указывает на элемент массива. В переменной по сути здесь содержатся не данные, как в обычной переменной, а адрес первого элемента массива плюс значение в скобках.
Купил себе танк и никого больше не жалею.

Аватара пользователя
koluna
Сообщения: 1528
Зарегистрирован: 24 авг 2018, 09:32
Имя: Николай
Откуда: Самара
Благодарил (а): 89 раз
Поблагодарили: 30 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение koluna » 06 июл 2021, 13:10

Да я это понял по косвенным признакам. Только вот что индексирует число нуль? Логично, что номер пластика в каком-то списке (в массиве). Но это не так...
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение Avtonomys » 06 июл 2021, 14:24

koluna писал(а):
06 июл 2021, 12:36
Разница в указании индекса для filament_notes.
номер филамента в списке активных.
koluna писал(а):
06 июл 2021, 13:10
Да я это понял по косвенным признакам. Только вот что индексирует число нуль? Логично, что номер пластика в каком-то списке (в массиве). Но это не так...

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

Аватара пользователя
koluna
Сообщения: 1528
Зарегистрирован: 24 авг 2018, 09:32
Имя: Николай
Откуда: Самара
Благодарил (а): 89 раз
Поблагодарили: 30 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение koluna » 06 июл 2021, 15:00

Avtonomys писал(а):
06 июл 2021, 14:24
номер филамента в списке активных.
Что за список? Тот самый раскрывающийся в левом верхнем углу?
Если да, то самым первым филаментом у меня там стоит совсем не тот, для которого сработало [0]. У меня сработало для второго филамента в списке.
Avtonomys писал(а):
06 июл 2021, 14:24
так, этот список содержит более двух значений когда в настройках выбрано 2 и более экструдера или многоцветная печать.
У меня в настройках - один экструдер.
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34

Avtonomys
Сообщения: 1141
Зарегистрирован: 31 авг 2017, 14:26
Имя: Кирилл
Откуда: Москва, CAO
Благодарил (а): 38 раз
Поблагодарили: 167 раз
Контактная информация:

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение Avtonomys » 06 июл 2021, 15:04

koluna писал(а):
06 июл 2021, 15:00
Что за список? Тот самый раскрывающийся в левом верхнем углу?
нет, тот который под кнопками - Простой, Расширенный, Эксперт...
"Пруток":
Снимок экрана от 2021-07-06 15-04-44.png
Снимок экрана от 2021-07-06 15-04-44.png (21.79 КБ) 5351 просмотр
если добавить еще один экструдер то в списке будет 2 элемента:
Снимок экрана от 2021-07-06 15-11-19.png
Снимок экрана от 2021-07-06 15-11-19.png (24.27 КБ) 5349 просмотров
первый с индексом [0], второй [1]...

Аватара пользователя
koluna
Сообщения: 1528
Зарегистрирован: 24 авг 2018, 09:32
Имя: Николай
Откуда: Самара
Благодарил (а): 89 раз
Поблагодарили: 30 раз

Re: PrusaSlicer: вопросы, обмен опытом

Непрочитанное сообщение koluna » 06 июл 2021, 15:22

Ааа... т. е., это не индекс филамента, а индекс экструдера... понятно, спасибо.
Поэтому и векторная величина.
RepRap "Кухня3D" - в процессе, но уже печатает...
https://3deshnik.ru/forum/viewforum.php?f=34

Ответить

Вернуться в «3D принтеры и 3D печать»

Яндекс.Метрика