В "Чертежи в SVG формате. Часть 1 — Черновик стандарта (обновляется)" приведён пример объектной модели чертежа, задания масштаба и стилей линий.
Опираясь на основные принципы создания чертежа, для Компас-график 2D создали тестовую альфа версию библиотеки экспорта в SVG.
Библиотека работает в версии Компас-график 9 и выше. Подключается как и все обычные библиотеки.
архив с библиотекой и тестовым примером
Перечень предусмотренных возможностей:
- тип документа — чертёж стандартный или нестандартного формата,
- оформление по умолчанию только — Чертёж конструкторский. Первый лист
- экспорт видов с указанием цвета и масштаба
- экспорт слоёв с указанием цвета
- экспорт графических элементов: линия, дуга, окружность, точка, NURBS, эллипс, прямоугольник, полилиния.
Тестовый файл чертежа, более 3000 элементов.
При экспорте выбираются параметры как для настройки печати:
- чёрный (чёрно-белое)
- установленный для вида (используются цвет вида)
- установленный для слоя (используются цвет слоя)
- установленный для объекта (как обычно отображается в Компас-график)
Можно вывести всё тонкими линиями.
Сравнительная таблица размера файла в разных форматах
Файл | Результат, байт |
---|---|
Чертеж.cdw (Компас-график 9) | 182 828 |
Zip фай с Чертеж.cdw (Компас-график 9) | 69 274 |
Результат экспорта файла Чертеж.cdw в unnamet.svg | 306 678 |
Zip фай с unnamet.svg | 55 763 |
Примечание: При экспорте заносились комментарии и класс для элементов задавался в виде «line-type-1» вместо короткого «lt1». Для Компас-график не использовалась последняя версия.
В тесте пока нет графических элементов как размеры и другие сложные элементы чертежа для полного сравнения размеров файла бинарного и текстового для описания чертежа. Но уже видно что в текстовый формат SVG не так уж и плох. При описании чертежа в формате функции JavaScript может значительно сократить текстовый файл и не уступать бинарному.
Автор: viklviv