Несколько DWG и DXF — один холст. Разложить, подписать, измерить и найти проблемные участки.
Бесплатный просмотрщик двумерных CAD-чертежей DXF и DWG для Windows с открытым исходным кодом и русским интерфейсом. Открывайте детали и многослойные планы, управляйте слоями, измеряйте геометрию и находите проблемные участки. Несколько файлов можно разместить на одном холсте с подписями, независимо перемещать, поворачивать и масштабировать.
DWG открывается прямо в приложении: встроенный конвертер локально преобразует его во временный DXF. Ручная конвертация, установка CAD-системы, .NET или подключение к интернету не нужны. Исходные файлы не изменяются и не отправляются на сервер.
Скачать EXE для Windows → · Управление · Измерения · Проверка DXF · Сборка
Реальные скриншоты версии 0.9.5 на демонстрационных DXF и DWG из папки examples. Рабочие чертежи не используются.
- Светлая и тёмная темы: кнопка в шапке меняет оформление панелей и холста, подписей, размеров и подсветки. Выбор сохраняется между запусками; раскладка и измерения не сбрасываются.
- Читаемые CAD-цвета: на тёмном фоне тёмные линии и надписи осветляются с сохранением оттенка и прозрачности. Исходный файл не изменяется.
- Исправления текста из 0.9.4: размерные надписи без заданной ширины не разбиваются по символам, исправлены углы поворота и высота букв. Встроены Open Sans Regular и Condensed Light; для SHX и других неподдерживаемых шрифтов показывается предупреждение о замене.
Описание выпуска 0.9.5 · Полная история изменений
Ранее в 0.9.3: интерфейс, повороты и большие чертежи
Выпуск объединяет изменения после публичной версии 0.8.1:
- Обновлённая рабочая область: вкладки «Файлы / Слои / Проверка», поиск файлов, приближение двойным щелчком, справка F1 и подтверждение очистки.
- Поворот деталей: круглый маркер справа от рамки; удержание Shift фиксирует угол с шагом 45°. Исходные размеры не меняются.
- Сохранение ручной раскладки: добавление и удаление файлов не переставляет остальные и не меняет текущий вид. Новые файлы появляются справа; кнопка «Разложить» запускает перераскладку по запросу.
- Длинные названия без нарушения панели: в карточках — перенос и выравнивание слева с обычными интервалами; в списке слоёв — многоточие и полное имя при наведении.
- Большие чертежи: фоновая проверка с индикатором и ограниченной нагрузкой подсветки; полный список замечаний сохраняется.
- Площадь отдельного контура: измерение элементов плана независимо от окружающих линий. Переключение режимов не выключает инструмент. Площадь выводится в м², периметр — в м при известных единицах DXF.
- Откройте последний выпуск и скачайте
DXF-Canvas-<версия>-windows-x64.exeиз раздела Assets. - Запустите файл. Установка приложения, Rust, .NET и CAD-системы не требуется. Сборка предназначена для Windows x64; проверяется на Windows 11.
- Перетащите один или несколько
.dwg/.dxfв окно либо нажмите Добавить DWG / DXF. - Используйте Вписать всё, инструменты измерений и кнопку Проверить. Для автоматического расположения нажмите Разложить.
- Кнопка Тёмная тема / Светлая тема в шапке меняет оформление приложения и сохраняет выбор между запусками.
Для знакомства подойдут файлы из examples. Файл .exe не имеет цифровой подписи. Контрольная сумма каждого выпуска находится в SHA256SUMS.txt; способ проверки описан в инструкции к релизам.
- Несколько файлов на общем холсте; автоматическая раскладка отдельной кнопкой, без перестановки существующих деталей при добавлении или удалении файлов.
- Подписи по именам файлов: один экранный размер текста для всех деталей и общая настройка в меню «Холст».
- Ручное перемещение, поворот с привязкой к 45° и пропорциональное масштабирование каждой детали.
- Линейные и угловые размеры, диаметры отверстий и радиусы скруглений с привязками к геометрии.
- Площадь материала без отверстий и суммарная длина реза: внешние и внутренние границы плюс разгрузочные прорези.
- Девять категорий диагностических замечаний, цветная легенда, фильтр и переход к месту по щелчку или кнопками.
- Просмотр с увеличением и перемещением, быстрый возврат ко всей раскладке.
- Номер текущей версии в шапке и заголовке окна.
- Светлая и тёмная темы всего приложения с сохранением выбора и читаемыми цветами CAD.
- Локальная работа с файлами: приложение не загружает чертежи на сервер.
- Слои DXF и преобразованных DWG: поиск, включение и выключение, возврат к исходной видимости.
- Цвета объектов и слоёв, тексты, размерные обозначения, выноски, сплошные заливки и штриховки.
- Ускоренный просмотр крупных чертежей и поиск привязок рядом с курсором; методика замера.
- Фоновая загрузка DWG/DXF с анимированным индикатором, названием текущего этапа, именем файла и счётчиком очереди.
- Встроенная локальная конвертация DWG → DXF на ACadSharp (MIT), без сервера и установки дополнительных программ.
| Действие | Как выполнить |
|---|---|
| Добавить файлы | Добавить DWG / DXF, Ctrl+O или перетаскивание из Проводника |
| Выбрать деталь | Щелчок по детали или её имени в правой панели |
| Переместить деталь | Потянуть выбранную деталь левой кнопкой |
| Изменить размер детали | Угловой маркер, Ctrl + колесо или Масштаб на холсте в карточке файла |
| Повернуть деталь | Круглый маркер справа от рамки; удерживайте Shift для шага 45° |
| Изменить все подписи | Холст → Подписи на холсте, от 8 до 36 экранных единиц |
| Переключить тему | Тёмная тема / Светлая тема в шапке; выбор сохраняется автоматически |
| Приблизить холст | Колесо мыши |
| Сдвинуть вид | Средняя кнопка; в режиме выбора также перетаскивание пустого места |
| Показать всё | Вписать всё или Ctrl+0 |
| Разложить заново | Кнопка Разложить в шапке; добавление и удаление файлов не меняют ручную раскладку |
| Приблизить один файл | Приблизить в карточке или двойной щелчок по имени |
| Справка по управлению | F1 |
| Убрать файл с холста | Крестик в его карточке; исходный файл не удаляется |
Визуальный масштаб детали меняет её размер на холсте, но не исходные размеры DXF. Подписи сохраняют единый экранный размер независимо от увеличения холста и отдельных деталей.
Откройте вкладку Слои в правой панели. Вверху можно выбрать файл; поиск фильтрует слои по имени, флажок управляет видимостью. Все включает слои, Ни одного выключает, Как в DXF восстанавливает исходные состояния, включая выключенные и замороженные слои. При одном открытом файле он выбирается автоматически.
Сохраняются цвета слоёв и индивидуальные цвета объектов, в том числе наследование внутри блоков. На светлом холсте белые линии преобразуются в тёмные; на тёмном плохо различимые цвета осветляются с сохранением оттенка и прозрачности. Это преобразование только для отображения: исходные цвета и файлы не меняются. Скрытые слои не участвуют в привязках и диагностике. Штриховки, тексты, выноски и сохранённая графика размеров не считаются режущими контурами.
Настройка Холст → Подписи на холсте меняет подписи с именами файлов и добавленные в приложении измерения. Текст внутри CAD-чертежа сохраняет свой размер в единицах DXF и увеличивается вместе с чертежом.
Кнопка Тёмная тема / Светлая тема в шапке переключает оформление всего приложения. Настройка хранится локально в %LOCALAPPDATA%/DXF-Canvas/theme.txt; при отсутствии настройки включена светлая тема.
Оба формата проходят общий путь просмотра: слои, измерения и диагностика доступны и для DXF, и для DWG после внутреннего преобразования. На парном сложном эталоне проверены 168 слоёв и более 110 тысяч геометрических элементов. Подробные перечни сущностей и границы совместимости: DXF · DWG. Предупреждения импорта доступны в карточке файла — сравнивайте ответственные чертежи с исходником в CAD.
| Инструмент | Последовательность |
|---|---|
Линейный · L |
Первая точка → вторая точка на той же детали → положение размерной линии |
Ø Диаметр · D |
Контур круглого отверстия → положение подписи |
R Радиус · R |
Круговая дуга или окружность → положение подписи |
Угол · G |
Первая точка → вершина → третья точка → размещение; меньший угол 0–180° |
Площадь / периметр · A |
Щелчок внутри замкнутой детали → размещение подписи S и P |
Привязки: конец, середина, центр, квадрант, перпендикуляр и ближайшая точка контура. Зона захвата — 10 экранных единиц. Для измерения расстояния между параллельными сторонами выберите первую точку и наведите курсор на вторую сторону до появления подписи Перпендикуляр.
Esc или правая кнопка отменяет постановку; V возвращает выбор. Ctrl+Z отменяет текущую постановку или последний размер. Команда очистки измерений находится в меню Холст и запрашивает подтверждение.
Размеры соответствуют исходной геометрии. При известных единицах DXF площадь выводится в м², периметр и длина прорезей — в м; линейные размеры, диаметры и радиусы — в мм. Иначе выводятся ед. DXF и ед. DXF². Символ ≈ обозначает приближённое измерение. Некруговым отверстиям не присваивается выдуманный постоянный диаметр или радиус.
В режиме «Деталь с отверстиями» S — площадь материала с вычитанием отверстий и учётом вложенных островков; P — суммарная длина внешних и внутренних границ плюс разгрузочные прорези, каждая линия один раз. Прорезь должна одним концом примыкать к границе, а другим заканчиваться в материале; пересечения, наложения и разветвления не допускаются. Линия прорези не задаёт ширину реза, поэтому площадь не уменьшает. Прорези подсвечиваются вместе с границами перед размещением подписи.
Выбирается самый внешний замкнутый контур под курсором; отдельные детали одного файла не объединяются. Считаются только видимые режущие контуры, без текста/штриховки. Прямые и круговые дуги считаются аналитически, произвольные кривые — приближённо. Настоящие разрывы, свободные незамкнутые контуры внутри детали, пересечения и неполная геометрия по-прежнему вызывают предупреждение вместо сомнительного числа. Подробнее: измерения 0.8.0, прорези в 0.8.1.
Для элемента большого плана выберите «Площадь / периметр → Отдельный контур», щёлкните внутри объекта, проверьте подсвеченную границу и вторым щелчком разместите подпись. Из замкнутых DXF-объектов под курсором выбирается меньший. Если готового замкнутого объекта нет, ищется цепочка отдельных линий и дуг. Здесь S и P относятся только к выбранной границе: отверстия не вычитаются, прорези не добавляются. Посторонние линии плана не препятствуют измерению готового замкнутого объекта. Это измерение объекта, а не автоматическое распознавание помещений между пересекающимися стенами.
Кнопка Проверить включает подсветку и открывает вкладку Проверка с легендой. Повторное нажатие выключает проверку. Раскройте список замечаний нужного файла и нажмите на строку: холст приблизит проблемный участок и дополнительно выделит его.
Расчёт выполняется в фоне со спиннером. На больших планах подсветка упрощается, близкие маркеры объединяются, невидимые участки не рисуются. Полный список замечаний сохраняется: увеличение и выбор замечания позволяют изучить нужный участок отдельно.
Фильтр над легендой управляет списком и подсветкой по категории. Кнопки Назад / Далее циклически переходят по видимым замечаниям всех файлов, приближая соответствующее место.
| Цвет | Категория | Что обнаруживается |
|---|---|---|
| Красный | Свободные концы | Не найден стык в пределах 0,01 мм |
| Бирюзовый | Необъединённые контуры | Замкнутая цепочка из отдельных DXF-объектов; это не обязательно разрыв |
| Пурпурный | Совпадающие участки | Полные дубликаты участков с допуском 0,001 мм |
| Оранжевый | Короткие участки | Длина исходного участка меньше 0,1 мм |
| Фиолетовый | Овальность / искажение | Эллиптическая или искажённая округлая форма; она может быть намеренной |
| Охра | Неизвестные единицы | Нельзя достоверно перевести размеры в миллиметры |
| Синий | Неполная геометрия | Неподдерживаемые сущности или достижение ограничения проверки |
| Красно-оранжевый | Пересечения / самопересечения | Пересечение контуров, самопересечение или касание середины участка |
| Розово-фиолетовый | Частичные наложения | Общая часть прямых или круговых дуг; для произвольных кривых — приближённо |
Для файлов без единиц численные допуски применяются в единицах DXF. Проверка работает отдельно для каждого файла и не исправляет геометрию. Подробности — в руководстве по диагностике.
- Это просмотрщик и инструмент предварительной проверки, а не полноценный CAD-редактор и не гарантия готовности к лазерной резке.
- Раскладка предназначена для просмотра: это не оптимизация размещения для раскроя материала.
- Измерения и расположение деталей живут в текущем окне. Сохранение проекта и экспорт раскладки/размеров пока не реализованы.
- Размер между деталями из разных файлов не ставится: у файлов независимые системы координат.
- Произвольные кривые показываются приближённо. Не все виды сущностей DXF поддерживаются.
- Встроены Open Sans Regular / Condensed Light; системный Arial используется при наличии. SHX и другие неподдерживаемые шрифты заменяются резервным с предупреждением: форма и ширина букв могут отличаться от CAD. Сложное форматирование MTEXT поддерживается частично.
- Поддержка DWG не означает безошибочное чтение всех расширений CAD: внешние ссылки, 3D-тела, пользовательские объекты и листы с видовыми экранами не гарантируются. При предупреждениях результат требует проверки.
- Проверка пересечений ограничена защитными лимитами на сложных чертежах; в этом случае выводится предупреждение о неполноте. Сплайны проверяются приближённо. Пересечения на планах могут быть намеренными.
Нужны Rust stable, инструменты C++ MSVC из Visual Studio Build Tools, Windows SDK и .NET SDK 10.0.302 для сборки встроенного конвертера. Используется NativeAOT — предварительная компиляция в автономный EXE, поэтому пользователю .NET не нужен. Для Windows используйте цель x86_64-pc-windows-msvc. Другие платформы не проверялись.
git clone https://github.com/BrianIS8090/dxf-canvas.git
cd dxf-canvas
./scripts/build-dwg-converter.ps1
cargo run --locked --releaseГотовый файл: target/release/dxf-canvas.exe. Иконка окна и EXE формируется при сборке. Если Windows SDK установлен нестандартно, задайте переменную RC с путём к rc.exe.
Конвертер компилируется из tools/dwg-converter и встраивается в EXE при сборке Rust. Для отдельного SDK передайте -Dotnet 'C:\путь\dotnet.exe' в скрипт. Урезанная сборка только для DXF не требует .NET SDK: cargo run --locked --release --no-default-features. Ошибки DWG в такой сборке показываются явно.
cargo fmt --check
cargo test --locked
cargo clippy --locked --all-targets -- -D warnings
cargo build --locked --releaseДля 0.9.5 локально прошли 172 публичных теста, форматирование и Clippy без предупреждений. Проверки охватывают повороты, сохранение раскладки, измерения, диагностику и реальное размещение элементов интерфейса egui, включая длинные названия, узкую панель, переключение светлой/тёмной темы и сохранение настройки. Ещё 8 проверок частных эталонов пропускаются обычной командой: им нужны локальные файлы. Производственные чертежи не публикуются. Необязательные проверки описаны в матрице DXF, руководстве DWG, описании проверки прорезей и измерений на большом плане.
Демонстрации можно пересоздать командами cargo run --example measurement_demo, cargo run --example diagnostics_demo и cargo run --example advanced_demo. Синтетический DWG создаётся встроенным помощником: ./target/dwg-converter/DxfCanvas.DwgConverter.exe --write-test-dwg examples/viewer_demo.dwg (выходной файл не должен существовать).
src/— интерфейс, импорт DXF, геометрия, раскладка, измерения и диагностика.assets/fonts/— встроенные шрифты Open Sans под лицензией OFL 1.1; текст лицензии находится вdocs/licenses/и в меню версии программы.tools/dwg-converter/— исходники встроенного DWG → DXF конвертера на C# / ACadSharp.examples/— демонстрационные DXF, их генераторы и утилита анализа.docs/— скриншоты, диагностические ограничения и порядок выпуска..github/— проверки, сборка релизов и шаблоны обращений.
Нашли ошибку? Создайте issue, укажите версию и приложите минимальный неконфиденциальный пример.
Правила участия · История изменений · Сообщить об уязвимости · Лицензия MIT
Сторонние компоненты также перечислены в программе по нажатию на номер версии.
Все изображения — реальные скриншоты на синтетических демонстрационных, а не рабочих чертежах. Обзор обеих тем и диагностика обновлены до 0.9.5; иллюстрация измерений 0.8.0 явно подписана своей версией.