Обновить
8K+
13
Тимур@timbrk

Пользователь

42
Рейтинг
1
Подписчики
Отправить сообщение

К любой широкой полилинии. Это одна ветка рендера: как только у полилинии появляется ширина, она рисуется сплошной заливкой и тип линии к ней не применяется, пока так. Накидайте реальных файлов с такими сущностями, добавлю в следующем релизе.

Текст внутри линий не поддерживается, линия будет нарисована правильным пунктиром, но без текста. С бульгами всё ок — паттерн тесселируется и идёт по дугам так же, как по прямым сегментам. Переменная ширина поддерживается, но штрих-пунктир поверх широкой полилинии пока не накладывается. Если у полилинии появляется ширина, она рисуется сплошной заливкой.

Часто ли это употребимые типы? Мне не попадалось файлов с такими линиями. Если не сложно — прикрепите тестовый файл в ишью в гитхабе, заведу в бэклог.

Типы линий читаются из таблицы LTYPE в самом файле. Полилинии режутся на штрихи/точки/пробелы по паттерну из определения линии, с учётом LTSCALE (глобального и поэлементного) и авто-масштаба по габаритам чертежа.
Штриховки: заливка контуров (с island/style по чётно-нечётному правилу) плюс паттерн-штриховка, где линии клиппятся по границам. Если в DXF лежит встроенное определение паттерна — берётся оно, если паттерн задан только именем — фоллбэк на встроенные паттерны.

Согласен, если проект сам формирует чертежи, то DXF — это конечный формат экспорта на бэке и браузерный рендер именно DXF тут вряд ли нужен. А вот когда чужой DXF загружают в твой сервис и надо с ним работать — отобразить, измерить, отключить слои — тут dxf-kit и нужен, и работает без бэкенда.

Да, конечно! Спасибо за поправку, я уже привык мыслить DXF типами. Там они идут по своей логике и не совпадают с ГОСТ: DASHED/HIDDEN ≈ штриховая, CENTER ≈ штрихпунктирная тонкая, PHANTOM ≈ с двумя точками, DOT — точечная, DASHDOT — штрих-точка, плюс DIVIDE, BORDER и т.д.

Перечитал Вашу статью — ровно 10 лет прошло, хех — по всем граблям понимающе кивал, на все пришлось наступить.
Для DWG есть LibreDWG, её WASM-сборку можно затащить прямо в браузер. Но это +6 МБ, для веб-бандла ощутимо. Поэтому в планах сделать поддержку DWG отдельным пакетом.

Возможно, это синдром запястного канала. Штука жёсткая, так что не затягивайте с решением.

Неплохая видеоиллюстрация к статье

Информация

В рейтинге
212-й
Откуда
Россия
Зарегистрирован
Активность