Построение сетки кривизны стола

Построение сетки кривизны стола

Владимир Шумов

Графомания о SHUI

Прошу прощения за кривые рисунки далее по тексту, если кто-то решит сделать их ровнее и понятнее, буду благодарен.

Ручной способ построения сетки рассматривать не буду, так как точность такой сетки зависит от того, как тонко чувствует оператор прижатие бумажки соплом, да и вообще... Наш путь - сенсор BlTouch или BfTouch.

Будем считать, что калибровка сенсора и уровня стола выполнены.

В ранних версиях прошивки был встроен только один алгоритм построения сетки, а именно билинейной интерполяции по 9 точкам. Рассмотрим его подробнее.

Производится замер 9 точек, в результате замера получаются 4 квадрата, у которых известна высота углов относительно ноля. Далее по каждому квадрату строится билинейная поверхность:

Билинейная поверхность

Для любой сетки дальше работает следующий алгоритм:

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

Влияние сетки кривизны стола постепенно уменьшается с каждым слоем и с определенного момента сетка просто выключается. Существует параметр, на какой высоте сетка должна полностью сойти на нет.

С какой-то версии в SHUI добавлены еще несколько алгоритмов компенсации кривизны стола. Все они делятся на 2 типа: использующие билинейную интерполяцию и интерполяцию по плоскости заданной тремя точками или набору треугольных полигонов.

1 точка

Замер только одной точки. Если это точка парковки, то сама сетка становится нулевой, а если какая-то другая, то сетка работает как константное для всей поверхности смещение Z, тем не менее постепенно исчезающее с ростом Z.

4 точки

Замер происходит по 4 точкам расположенным по углам стола, интерполяция билинейная

4 точки замера


5 точек

Замер происходит по 4 точкам расположенным по углам стола и одной точке в центе. Получается 4 треугольника. Интерполяция по плоскости соответствующего треугольника.

5 точек замера


9 точек

Замер происходит по сетке точек 3x3, которые образуют 4 прямоугольника. Интерполяция по четырем билинейным поверхностям.

9 точек замера


13 точек

Точно так же как и с 9 точками, плюс 4 точки в центре каждого прямоугольника. Образуется 16 треугольников. Интерполяция по плоскости соответствующего треугольника.

13 точек замера


Какой из алгоритмов замера выбрать - решайте сами. Стол у меня ровный и я использую чаще всего 4 точки замера для небольших моделей, 1 для совсем маленькой и 9, когда модель на весь стол. Дело в том, что в shui есть еще одна очень интересная особенность при построении сетки стола. Сетку можно строить не на весь стол, а на область занимаемую моделью. Действительно, зачем делать замер большого стола, когда площадь занимаемая деталью мала и достаточно анализировать лишь кривизну поверхности под ней.

Чтобы этот алгоритм мог работать, в управляющей программе должно быть указано где модель расположена и какие у нее размеры. Слайсер Cura эти данные прописывает самостоятельно, а вот Prusa слайсер надо научить:

;MINX:[first_layer_print_min_0]
;MAXX:[first_layer_print_max_0]
;MINY:[first_layer_print_min_1]
;MAXY:[first_layer_print_max_1]

Включить режим замера сетки по размеру модели можно так:

G29T1

За тип алгоритма отвечает параметр A:

G29 T1 A1
G29 T1 A4
G29 T1 A5
G29 T1 A9
G29 T1 A13

По своему опыту использования могу рекомендовать включить только замер по размеру модели, то есть добавить в стартовый G код, G29 T1, и в настройках указать замер по 4 точкам. Но, если затем захочется оптимизировать время построения сетки или сделать ее более точной для модели на весь стол при старте печати сменить алгоритм построения в фильтре (мне больше нравится название трансформатор) G кода. То есть, ориентироваться можно на наиболее часто печатаемый размер деталей.

Для куры, наверное, можно написать плагин, который позволит задать параметры для G29








Report Page