OpenStreetMap logo OpenStreetMap

Я створив невеликий втулок для JOSM з назвою Fillet Tools (fillettools.jar).

Він додає інтерактивний режим для заокруглення кутів ліній, подібний до інструмента «fillet» у CAD-програмах. Основний сценарій використання — контури підʼїзних шляхів та інша точна геометрія, де ручне розміщення кількох точок для заокруглення кута займає багато часу.

Ви можете знайти проєкт у репозиторії GitLab, а завантажити перший тестовий jar-файл — зі сторінки релізу v0.1.0.

Демонстрація використання втулка Fillet Tools

Як це працює:

  • увімкніть режим Fillet Tools на панелі інструментів (або натисніть клавішу V);
  • наведіть мишу на лінію або всередину замкнутого багатокутника;
  • біля доступних кутів зʼявляться маленькі маркери (ручки);
  • потягніть за маркер, щоб побачити і підібрати радіус бажаної дуги;
  • відпустіть кнопку миші, щоб застосувати заокруглення.

Також є дві корисні клавіші-модифікатори:

  • Shift привʼязує радіус до фіксованого кроку, що полегшує створення кількох кутів з однаковим радіусом;
  • Alt / Option дозволяє «надмірне» перетягування для створення більших дуг. Втулок усе одно перевіряє фінальну геометрію перед застосуванням змін.

Я намагався зробити так, щоб втулок дбайливо ставився до даних. Він використовує стандартний стек команд JOSM, тому скасування дій працює належним чином. Він також намагається не замінювати і не видаляти важливі вже наявні точки. Початкова кутова точка разом із історією залишається на новій дузі.

Важлива примітка: я абсолютний новачок у програмуванні й використовував ШІ-агента для написання цього втулка. Тож у коді можуть траплятися дивні, неефективні або просто помилкові речі. Будь ласка, майте це на увазі, якщо переглядатимете репозиторій або тестуватимете втулок.

Наразі втулок недоступний у загальному списку JOSM. Щоб протестувати його, вам потрібно завантажити fillettools.jar зі сторінки релізу, вручну покласти його до теки втулків JOSM і перезапустити редактор.

На macOS це зазвичай: ~/Library/JOSM/plugins/

На Windows це: %APPDATA%/JOSM/plugins/

Буду радий, якщо хтось протестує його на практиці. Відгуки, звіти про помилки, випадки з дивною поведінкою та пропозиції можна писати тут у коментарях або на GitLab.

Location: Шевченківський район, Київ, Україна

Discussion

Leave a comment

Log in to leave a comment