Flotoid

Flotoid

Версия 0.1.0 · Android 8.0+

Скачать APK ~2,4 МБ · ru.flotoid.app

Скриншоты

Управление
Измерение
Результаты

Условия пользования

Программа распространяется бесплатно. Автор не несёт никакой ответственности за ошибки в программе, неверные измерения или неверную обработку результатов измерений. Пользователь использует программу на свой страх и риск.

1. Назначение приложения

Flotoid помогает измерять прямолинейность и плоскостность поверхностей по отсчетам станочного уровня. Приложение ведет точки измерений по схемам линий, рассчитывает профиль высот и выдаёт итоговые показатели отклонений.

2. Как работать

На экране «Управление» выберите тип измерения, шаг Δ и цену деления λ. Для прямой укажите число точек N; для плоскости — N и K. На экране «Измерение» вводите отсчёты, на «Результаты» смотрите графики и расчёты.

2.1 Подготовка к измерениям

2.2 Проведение измерений

2.3 Интерпретация результатов

3. Методика измерения прямой

Общие обозначения:
Pleft, Pright — отсчёты уровня по левому и правому концам пузырька (в делениях шкалы);
Pmean = (Pleft + Pright) / 2 — средний отсчёт;
λ — цена деления уровня (мм/м);
Δ — шаг перестановки уровня (мм), задаётся на экране «Управление»;
N — планируемое число точек на линии;
s — координата вдоль линии (пройденное расстояние от первой точки, мм).

Постановка уровня в поле:
На линии N физических точек (на схеме — N маркеров). Уровень ставят между соседними точками; нужно ровно (N − 1) отсчётов.
• Точка 1 — опорная, Z = 0, отсчёт не вводится.
• Отсчёт 1: лапки на точках 1 и 2 → перепад к точке 2.
• Отсчёт 2: лапки на точках 2 и 3 → перепад к точке 3, и т.д.

Пример N = 3: три точки на схеме, два отсчёта «Лево/Право».

Запись в программе:
• На схеме отображаются все N точек; первая (точка 1) сразу считается заданной с нулевой высотой.
• Каждая сохранённая пара отсчётов — один перепад; координаты относятся к конечной точке шага (2, 3, …, N).
• Линия полностью измерена после (N − 1) отсчётов.

Длина участка:
Lдл = (N − 1) · Δ  (мм).

Интегрирование профиля (построение высот Z):
k = λ · (Δ / 1000).

Точка 1 (начало): Z1 = 0 (в расчёте — узел s = 0).

Для отсчёта j = 1 … (N − 1) с средним Pmean,j:
ΔZj = Pmean,j · k;
Zj+1 = Zj + ΔZj,
где Zj+1 — высота точки (j + 1) на линии.

МНК-опорная прямая и непрямолинейность:
По рассчитанным парам (si, Zi), где si — длина пути вдоль линии до точки i, строится опорная прямая
Z(s) = a·s + b,
где коэффициенты a и b находятся из условия минимума суммы квадратов отклонений:
min Σ (Zi − (a·si + b))²  по всем точкам линии.

Отклонение точки i от опорной прямой:
di = Zi − (a·si + b).

Непрямолинейность (итог по линии):
Eline = max(di) − min(di)  (мм).

4. Методики измерения плоскости

Общие обозначения (дополнительно к прямой):
X, Y — координаты точки в плоскости измерения (мм);
Cline — постоянная поправка (сдвиг) для целой линии в единой системе высот;
Zi,лок — высота точки, полученная интегрированием только вдоль своей линии (локальный профиль);
Zi,един — высота после сшивки всех линий;
ω — невязка замкнутого контура;
vi — отклонение точки от опорной плоскости.

Типы схем:
• «Сетка N×K» — горизонтальные линии H1…HN и вертикальные V1…VK; размер плоскости spanX = (K−1)·Δ, spanY = (N−1)·Δ (мм).
• «Края и диагонали» — периметр E1…E4 и диагонали D1, D2; N и K задают размеры сторон той же формулой.

Порядок обхода линий:
Пользователь сам выбирает, какую линию измерять следующей (тап по схеме). Программа не навязывает фиксированный маршрут обхода. Порядок ввода данных на итоговую обработку не влияет: при расчёте используются все измеренные линии и все узлы их пересечения сразу.

Локальная система высот на каждой линии:
Каждая линия обрабатывается так же, как при измерении прямой (см. раздел 3):
• у первой точки линии Z = 0;
• первый отсчёт относится ко второй точке;
• далее Z накапливается по формулам ΔZi и Zi = Zi−1 + ΔZi.
Полученные высоты Zi,лок действительны только внутри данной линии до сшивки. У разных линий нули стоят в разных физических точках (начало каждой линии), поэтому в узлах пересечения линий высоты, как правило, не совпадают — это нормально до этапа уравнивания.

Единая система координат:
После того как измерены две и более линии, имеющие общие точки (узлы) с одинаковыми (X, Y), на экране «Результаты» выполняется сшивка: все линии переводятся в одну высотную систему. Один глобальный datum на деталь обеспечивается выбором опорной линии (ей назначают нулевую поправку C = 0); остальные линии сдвигаются на постоянные величины.

Этап 1. Интегрирование по каждой линии:
Для каждой измеренной линии строятся локальные профили Zi,лок (формулы как в разделе 3). Для диагоналей расстояние s считается вдоль наклонного отрезка, а не только по X или Y.

Этап 2. Сшивка по узлам (МНК):
Узел — точка плоскости с координатами (X, Y), в которой есть измерения на двух и более линиях (пересечение H и V, угол периметра и т.п.).

Для каждой линии вводится неизвестная постоянная поправка Cline (мм). Единая высота точки:
Zi,един = Zi,лок + Cline  (для точек данной линии).

В каждом узле, где встречаются линии A и B, требуется согласование:
Zi,един на линии A  ≈  Zj,един на линии B,
то есть Zi,лок + CA ≈ Zj,лок + CB.

Одна из линий (опорная, с минимальным идентификатором среди измеренных) принимается с C = 0. Для остальных линий из всех узловых связей составляется система линейных уравнений; поправки C находятся методом наименьших квадратов (минимизация суммы квадратов невязок по всем узлам). Если узловых связей нет (линии не измеряли общие точки), сшивка между ними невозможна — линии остаются независимыми.

Этап 3. Замыкание контуров и невязка:
Если обойти замкнутый контур (только вдоль уже измеренных линий), сумма приращений высот вдоль хода должна быть равна нулю. Из-за погрешностей измерений получается невязка:
ω = Σ ΔZучастка  по обходу контура  (мм),
где суммируются приращения вдоль участков линий между узлами контура в выбранном направлении обхода.

Невязка распределяется между линиями контура дополнительными поправками к Cline пропорционально длине участка каждой линии в этом контуре:
ΔCk = −ω · Lk / ΣL,
где Lk — длина участка линии k в данном контуре, ΣL — сумма длин всех участков контура.

Какие контуры учитываются:
• Сетка: внешний периметр (H1 → последняя V → последняя H → V1) и каждая элементарная ячейка между соседними H и V.
• Края и диагонали: контур периметра E1 → E2 → E3 → E4.
Контуры обрабатываются последовательно; поправки ΔCk суммируются с поправками этапа сшивки.

Итоговые поправки линии: Cline,итог = Cline (из сшивки) + Σ ΔCk (из контуров).

Объединение высот в узлах сетки:
Поправки Cline задаются на всю линию сразу (МНК по всем узлам), поэтому в отдельном узле высоты разных линий после сшивки могут ещё немного различаться — это остаточная невязка уравнивания.

Для каждого узла с одинаковыми координатами (X, Y) — пересечение диагоналей, угол периметра, пересечение H и V и т.п. — программа назначает одну итоговую высоту:
Zi,един = среднее значений (Zi,лок + Cline,итог) по всем линиям, проходящим через этот узел.

В таблице на экране «Результаты» строки разных линий в одном узле показывают одинаковые Z и одинаковое отклонение от опорной плоскости. Локальный профиль Zi,лок по каждой линии сохраняется отдельно (до объединения узла).

Этап 4. Опорная плоскость и плоскостность:
По уникальным узлам сетки — одной точке на каждую пару (X, Y) с высотой Zi,един после объединения — строится опорная плоскость методом наименьших квадратов:
Z = a·X + b·Y + c,
min Σ (Zi,един − (a·Xi + b·Yi + c))².

Отклонение точки от плоскости:
vi = Zi,един − (a·Xi + b·Yi + c).

Плоскостность (итог):
Eplane = max(vi) − min(vi)  (мм).