Я создал CAD-редактор в браузере, а затем научил LLM им пользоваться
Я создал CAD-редактор в браузере. А затем отдал его искусственному интеллекту.
Результат проявился во время демонстрации. Я спросил приложение: «Сколько здесь дверей и окон?»
ИИ их пересчитал. А затем добавил: «Примечание: ширина D3 составляет всего 300 мм. Вероятно, дверь определена неверно. Хотите, чтобы я это проверил?»
ИИ был прав. Мой конвейер данных превратил фрагмент геометрии в дверь шириной 30 см. Ни один человек этого не заметил. Модель же увидела дверь уже обувной коробки и пометила её как ошибку.
Этот проект потребовал решения огромных технических задач:
• Парсинг DWG-файлов, которые печально известны своей сложностью. • Реконструкция моделей зданий из тысяч разрозненных линий. • Создание 2D CAD-редактора с нуля с использованием HTML5 Canvas. • Подключение Claude в качестве агента с набором инструментов.
Вот как работает система:
- Загрузка: вы перетаскиваете DWG-файл в браузер.
- Обработка: фоновая задача конвертирует файл и извлекает геометрию. Она определяет стены, двери, окна и помещения.
- Просмотр: вы получаете 3D-вьюер и полноценный 2D-редактор с привязкой (snapping) и историей отмен.
- Редактирование: вы используете панель чата, чтобы дать указания ИИ-агенту внести изменения.
ИИ не просто ведет чат. Он использует инструменты для редактирования базы данных. Если вы скажете: «Добавь окно в самую длинную стену», ИИ найдет эту стену и создаст проем.
Ключевые уроки разработки:
• Никогда не доверяйте заголовкам файлов. DWG-файлы часто врут о единицах измерения. Я научился игнорировать заголовок и смотреть на фактические координаты, чтобы определить масштаб. • Используйте единый путь записи. Интерфейс, конвейер импорта и ИИ — все используют один и тот же проверенный путь. Это гарантирует, что ИИ не сможет создать невозможную геометрию. • Предоставьте ИИ историю отмен. Когда ИИ вносит правку, система объединяет всё это действие в один шаг отмены. Если ИИ ошибется, вы просто нажмете Ctrl+Z, чтобы вернуть всё как было. • Используйте топологические правила, а не математические пороги. Сначала я пытался находить помещения по площади. Это не сработало для зданий Г-образной формы. Я перешел к топологическому правилу: самая большая грань в связной структуре — это всегда внешняя граница. Всё остальное — помещения.
Самым сложным был не ИИ. Самым сложным было превращение анонимных линий в реальные данные о здании. На реализацию функции ИИ ушло всего несколько дней, потому что фундамент был надежным.
Source: https://dev.to/arif/i-built-a-cad-editor-in-the-browser-then-taught-an-llm-to-use-it-1l92
Optional learning community: https://t.me/GyaanSetuAi
