Skip to content

Repository files navigation

DXF Холст — просмотрщик DXF и DWG

Проверки Windows Релиз Лицензия MIT Windows x64 DXF и DWG

Несколько DWG и DXF — один холст. Разложить, подписать, измерить и найти проблемные участки.

Бесплатный просмотрщик двумерных CAD-чертежей DXF и DWG для Windows с открытым исходным кодом и русским интерфейсом. Открывайте детали и многослойные планы, управляйте слоями, измеряйте геометрию и находите проблемные участки. Несколько файлов можно разместить на одном холсте с подписями, независимо перемещать, поворачивать и масштабировать.

DWG открывается прямо в приложении: встроенный конвертер локально преобразует его во временный DXF. Ручная конвертация, установка CAD-системы, .NET или подключение к интернету не нужны. Исходные файлы не изменяются и не отправляются на сервер.

Скачать EXE для Windows → · Управление · Измерения · Проверка DXF · Сборка

DXF Холст 0.9.5 — тёмная тема, общий холст DXF/DWG и измерение площади

Тот же холст в светлой теме

DXF Холст 0.9.5 — светлая тема

Реальные скриншоты версии 0.9.5 на демонстрационных DXF и DWG из папки examples. Рабочие чертежи не используются.

Новое в 0.9.5

  • Светлая и тёмная темы: кнопка в шапке меняет оформление панелей и холста, подписей, размеров и подсветки. Выбор сохраняется между запусками; раскладка и измерения не сбрасываются.
  • Читаемые CAD-цвета: на тёмном фоне тёмные линии и надписи осветляются с сохранением оттенка и прозрачности. Исходный файл не изменяется.
  • Исправления текста из 0.9.4: размерные надписи без заданной ширины не разбиваются по символам, исправлены углы поворота и высота букв. Встроены Open Sans Regular и Condensed Light; для SHX и других неподдерживаемых шрифтов показывается предупреждение о замене.

Описание выпуска 0.9.5 · Полная история изменений

Ранее в 0.9.3: интерфейс, повороты и большие чертежи

Выпуск объединяет изменения после публичной версии 0.8.1:

  • Обновлённая рабочая область: вкладки «Файлы / Слои / Проверка», поиск файлов, приближение двойным щелчком, справка F1 и подтверждение очистки.
  • Поворот деталей: круглый маркер справа от рамки; удержание Shift фиксирует угол с шагом 45°. Исходные размеры не меняются.
  • Сохранение ручной раскладки: добавление и удаление файлов не переставляет остальные и не меняет текущий вид. Новые файлы появляются справа; кнопка «Разложить» запускает перераскладку по запросу.
  • Длинные названия без нарушения панели: в карточках — перенос и выравнивание слева с обычными интервалами; в списке слоёв — многоточие и полное имя при наведении.
  • Большие чертежи: фоновая проверка с индикатором и ограниченной нагрузкой подсветки; полный список замечаний сохраняется.
  • Площадь отдельного контура: измерение элементов плана независимо от окружающих линий. Переключение режимов не выключает инструмент. Площадь выводится в м², периметр — в м при известных единицах DXF.

Описание выпуска 0.9.3 · Полная история изменений

Быстрый старт

  1. Откройте последний выпуск и скачайте DXF-Canvas-<версия>-windows-x64.exe из раздела Assets.
  2. Запустите файл. Установка приложения, Rust, .NET и CAD-системы не требуется. Сборка предназначена для Windows x64; проверяется на Windows 11.
  3. Перетащите один или несколько .dwg / .dxf в окно либо нажмите Добавить DWG / DXF.
  4. Используйте Вписать всё, инструменты измерений и кнопку Проверить. Для автоматического расположения нажмите Разложить.
  5. Кнопка Тёмная тема / Светлая тема в шапке меняет оформление приложения и сохраняет выбор между запусками.

Для знакомства подойдут файлы из 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.

Измерения

Площадь с вычитанием отверстия, периметр и угол в версии 0.8.0

Инструмент Последовательность
Линейный · 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 относятся только к выбранной границе: отверстия не вычитаются, прорези не добавляются. Посторонние линии плана не препятствуют измерению готового замкнутого объекта. Это измерение объекта, а не автоматическое распознавание помещений между пересекающимися стенами.

Проверка DXF

Диагностика и легенда замечаний в тёмной теме версии 0.9.5

Кнопка Проверить включает подсветку и открывает вкладку Проверка с легендой. Повторное нажатие выключает проверку. Раскройте список замечаний нужного файла и нажмите на строку: холст приблизит проблемный участок и дополнительно выделит его.

Расчёт выполняется в фоне со спиннером. На больших планах подсветка упрощается, близкие маркеры объединяются, невидимые участки не рисуются. Полный список замечаний сохраняется: увеличение и выбор замечания позволяют изучить нужный участок отдельно.

Фильтр над легендой управляет списком и подсветкой по категории. Кнопки Назад / Далее циклически переходят по видимым замечаниям всех файлов, приближая соответствующее место.

Цвет Категория Что обнаруживается
Красный Свободные концы Не найден стык в пределах 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 явно подписана своей версией.

About

DXF Холст — бесплатный просмотрщик DXF и DWG для Windows на Rust: общий холст, слои, измерения длины, угла, площади и периметра, диагностика геометрии. Локально, без CAD и облака.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages