Как создать файл DXF?

Открытие, вставка, преобразование и сохранение рисунков в форматах DWG и DXF (AutoCAD) Если вы хотите использовать в своем чертеже Visio объекты AutoCAD, их можно открыть с помощью Visio и

Как создать файл DXF?

Открытие, вставка, преобразование и сохранение рисунков в форматах DWG и DXF (AutoCAD)

Если вы хотите использовать в своем чертеже Visio объекты AutoCAD, их можно открыть с помощью Visio и преобразовать в фигуры Visio. Вы также можете преобразовать документы Visio в файлы AutoCAD.

Примечание Microsoft Visio поддерживает форматы файлов AutoCAD следующим образом: с помощью Visio, план 2 вы можете импортировать DWG- и DXF-файлы, созданные в AutoCAD 2017 и более предыдущих версиях. В Visio стандартный или профессиональный можно импортировать DWG- и DXF-файлы, созданные в AutoCAD 2007 и более предыдущих версиях. Если не можете открыть DWG- или DXF-файл, возможно, его формат не поддерживается. В качестве обходного решения в AutoCAD откройте файл и сохраните его в формате, который поддерживается продуктом или планом Visio. Дополнительные сведения см. в сведениях о том, как сохранить чертеж AutoCAD в предыдущем или более старом формате и в истории версий DWG.

Открытие чертежа AutoCAD в Visio

Откройте меню Файл и выберите команду Открыть.

Найдите папку, в которой хранится нужный чертеж. Щелкните папку или нажмите кнопку «Обзор».

Щелкните список всех файлов Visio и выберите «Чертеж AutoCAD».

Перейдите к файлу и нажмите кнопку «Открыть».

Вставка DWG- или DXF-файла в существующую схему Visio

На вкладке Вставка нажмите кнопку Чертеж САПР.

Перейдите к файлу и нажмите кнопку «Открыть».

Преобразование объектов DWG и DXF в фигуры Visio

После импорта или открытия чертежа AutoCAD вы можете преобразовать его в фигуры, с которыми можно будет работать в Visio. Обратите внимание, что это преобразование будет необратимо.

Щелкните пустое место на схеме, чтобы отменить выбор всех объектов.

Наведите указатель на внешнюю границу документа AutoCAD и удерживайте его, пока он не изменится на следующий значок:

Щелкните правой кнопкой мыши и выберите Объект Чертеж САПР > Преобразовать.

В диалоговом окне Преобразовать объект САПР выберите слои чертежа AutoCAD, которые хотите преобразовать в фигуры Visio.

Нажмите кнопку Дополнительно, чтобы отобразить больше параметров. Например, вы можете удалить преобразованные слои, преобразовать чертеж в фигуры размеров Visio или преобразовать в фигуры линии штриховки в узоре.

При преобразовании чертежа в формате DWG или DXF преобразуется последнее сохраненный пространственное представление. Чертеж САПР мог быть сохранен в модельном пространстве или пространстве листа:

Модельное пространство — основное рабочее пространство, в котором в системах автоматического проектирования создаются чертежи. При преобразовании документа, сохраненного в пространстве модели, все объекты и текст в выбранных слоях преобразуются в фигуры Visio.

Пространство листа — это схожее с листом бумаги, на котором в черновиках САПР можно расположить различные представления документа.

На следующем рисунке показан чертеж DWG, сохраненный в пространстве листа.

Документ содержит два прямоугольных представления. Окно просмотра — это окно трехмерного чертежа САПР. Каждый из них можно настроить на разные масштабы или угол.

При преобразовании документа, сохраненного в пространстве листа, только те объекты, которые не обрезаны от края области просмотра, преобразуются в фигуры Visio. Обрезаные объекты и текст преобразуются в строки. Например, круг, полностью заключенный в форму просмотра, преобразуется в круг Visio. Круг, обрезанный в окно просмотра, преобразуется в ряд линий.

Сохранение схемы Visio в виде DWG- или DXF-файла

На вкладке Файл выберите команду Сохранить как.

Перейдите к расположению или папке, в которой вы хотите сохранить чертеж.

В списке «Тип файла» выберите нужный тип файла:

Чертеж AutoCAD (DWG)

AutoCAD Interchange (*.dxf)

Если в файле Visio содержится несколько страниц документа, следует сохранить каждую страницу по отдельности.

Дополнительные материалы

Открытие чертежа AutoCAD в Visio

Откройте меню Файл и выберите команду Открыть.

Найдите папку, в которой хранится нужный чертеж. Щелкните папку.

Щелкните список всех файлов Visio и выберите «Чертеж AutoCAD».

Перейдите к файлу и нажмите кнопку «Открыть».

Вставка DWG- или DXF-файла в существующую схему Visio

На вкладке Вставка нажмите кнопку Чертеж САПР.

Перейдите к файлу и нажмите кнопку «Открыть».

Преобразование объектов DWG и DXF в фигуры Visio

После импорта или открытия чертежа AutoCAD вы можете преобразовать его в фигуры, с которыми можно будет работать в Visio. Обратите внимание, что это преобразование будет необратимо.

Щелкните чертеж САПР правой кнопкой мыши, выберите пункт «Объект чертежа САПР»и нажмите кнопку «Преобразовать».

В диалоговом окне «Преобразование объекта САПР» выберите флажки слоев AutoCAD, содержащих объекты, которые нужно преобразовать.

Примечание: Чтобы сохранить небольшой размер файла чертежа и ускорить преобразование, преобразуйте только необходимые слои или уровни.

Нажмите кнопку Дополнительно, чтобы отобразить больше параметров. Например, вы можете удалить или скрыть преобразованные слои, преобразовать размеры в фигуры размеров или преобразовать узоры в штриховки в штриховки в фигуры.

Нажмите кнопку ОК.

При преобразовании чертежа в формате DWG или DXF преобразуется последнее сохраненный пространственное представление. Чертеж САПР мог быть сохранен в модельном пространстве или пространстве листа:

Модельное пространство — основное рабочее пространство, в котором в системах автоматического проектирования создаются чертежи. При преобразовании документа, сохраненного в пространстве модели, все объекты и текст в выбранных слоях преобразуются в фигуры Visio.

Пространство листа — это схожее с листом бумаги, на котором в черновиках САПР можно расположить различные представления документа.

На следующем рисунке показан чертеж DWG, сохраненный в пространстве листа.

Документ содержит два прямоугольных представления. Окно просмотра — это окно трехмерного чертежа САПР. Каждый из них можно настроить на разные масштабы или угол.

При преобразовании документа, сохраненного в пространстве листа, только те объекты, которые не обрезаны от края области просмотра, преобразуются в фигуры Visio. Обрезаные объекты и текст преобразуются в строки. Например, круг, полностью заключенный в форму просмотра, преобразуется в круг Visio. Круг, обрезанный в окно просмотра, преобразуется в ряд линий.

Сохранение схемы Visio в виде DWG- или DXF-файла

На вкладке Файл выберите команду Сохранить как.

Перейдите к расположению или папке, в которой вы хотите сохранить чертеж.

В списке «Тип файла» выберите нужный тип файла:

Чертеж AutoCAD (DWG)

AutoCAD Interchange (*.dxf)

Если в файле Visio содержится несколько страниц документа, следует сохранить каждую страницу по отдельности.

Формат файлов Автокад (dws и dxf)

  • Главная
  • Уроки AutoCAD
  • Формат файлов Автокад (dws и dxf)

Уроки AutoCAD

Ранее были рассмотрены популярные форматы dwt и dwg AutoCAD. Однако есть еще и такие типы файлов AutoCAD, как *.dws и *.dxf.

Первый из них является Стандартом оформления чертежей с расширением (*.dws), второй формат позволяет обмениваться данными чертежей (*.dxf). Рассмотрим каждый из них более подробно.

Формат файлов AutoCAD для создания Стандартов оформления (*.dws)

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

— текстовые и размерные стили;

Затем перейти в «Файл» – «Сохранить как…» и выбрать «Стандарты оформления AutoCAD (*.dws)». Задать имя и указать место сохранения файла. Для одного чертежа можно создавать несколько файлов со стандартами.

После проделанных действий необходимо связать вновь созданные файлы стандартов с рабочим чертежом, в котором будет выполняться построение проекта.

Связывание файла чертежа с файлом стандартов

Для этого необходимо перейти на вкладку «Управление» → панель «Стандарты оформления» и выбрать команду «Настройка».

Откроется диалоговое окно (см. рис.), в котором нужно найти сохраненные стандарты Автокад, воспользовавшись кнопкой «плюс».

Дерево папок будет содержать нужные файлы с расширением *.dws. После выбора стандартов в данном чертеже все элементы будут подлежать проверке на соответствие.

Аналогичным образом связь можно разорвать, но использовать нужно кнопку с крестиком.

Стандарты AutoCAD и возможные ошибки

Заложенный механизм проверки соблюдения стандартов во время построения чертежа работает следующим образом: если используются объекты, которые не оговорены в правилах, то программа выдает ошибку, а также предлагает исправить ее (см. рис.).

Ошибки могут возникнуть в двух случаях:

1) Если чертеж содержит объекты, которые лежат на слое, не зафиксированном в файлах со стандартами.

2) Объекты находятся на оговоренных в Стандартах слоях, однако имеют свойства, не указанные в файле. Т.е. стандартный слой, например, использует тип линии ISO_штриховая, а созданному объекту присвоен тип Continuous и т.п.

В первом случае программа выдаст ошибку. Необходимо будет переместить все объекты на слои, прописанные в стандартах, а «нестандартный» слой автоматически удалится.

Файлы обмена данными чертежей (*.dxf)

Расширение файлов AutoCAD *.dxf позволяет сохранять чертеж в таком формате, который передает информацию о проекте в двоичном коде, что позволяет переносить данные между разными приложениями.

Неоспоримым преимуществом является скорость работы с файлом. Доступ к нему можно получить даже через текстовый файл для редактирования. Чертеж можно передать в другую программу, которая не поддерживает работу с dwg файлами, но может обработать файл с расширением *.dxf, и тем самым воссоздать чертеж для дальнейшего проектирования.

Читайте также  Как объединить в один файл jpg?

Для сохранения чертежа в данном формате нужно перейти в «Файл» – «Сохранить как…» и в типе файла указать расширение *.dxf.

Теперь вы знаете, какие файлы открывает Автокад, а главное, понимаете, для чего предназначен тот или иной формат. Помните, что чертежи AutoCAD можно сохранять в формате *.pdf. Хоть он и не является стандартным, однако удобен для работы.

Inventor. Быстрый экспорт развертки в DWG или DXF из 3d модели

Как правило, конечной целью проектирования деталей из листовых материалов в Inventor является получение развертки и сохранение ее в формате .dwg или .dxf. Именно с этими форматами работает большинство станков, позволяющих вырезать детали из листовых материалов по векторным файлам (лазерная, гидроабразивная, плазменная резка и т.п.). Для достижения этой цели, многие пользователи программы сначала создают 3d модель, потом получают проекцию детали в среде оформления чертежей и уже оттуда сохраняют файл через экспорт в .dwg. Но добиться того же результата можно проще и гораздо быстрее, причем прямо из среды 3d модели. И ниже мы рассмотрим как.

В среде листовых материалов в браузере отображается 2 состояния модели — «Модель после гибки» и «Развертка». Раздел «Развертка» появляется в дереве не сразу, а после того, как была нажата кнопка «Создать развертку» на вкладке «Листовой металл»:

Далее для экспорта развертки в нужный вам формат, достаточно просто нажать правой клавишей мыши на этом разделе и выбрать пункт «Сохранить копию как»:

В открывшемся окне задается имя, место сохранения, а также формат файла:

Окно «Экспорт развертки» содержит 3 вкладки с настройками. На первой из них — «Общие» нужно задать версию файла для сохранения (какую именно уточняем в спецификации конкретного производственного оборудования или у технолога):

На вкладке «Слой» можно при необходимости изменить стандартные имена слоев, веса (толщины) линий и самое главное — отключить экспорт тех или иных слоев, если они не нужны. Например, файл, предназначенный для резки, как правило, должен содержать в себе только контуры детали, лежащие в слое 0 и не иметь никаких лишних линий или точек. Можно сразу задать эти настройки еще на этапе экспорта и сразу переименовать слои:

На вкладке «Геометрия» находятся самые важные настройки:

  • Заменить сплайны — поскольку наличие в векторном файле контуров, выполненных сплайнами, неприемлемо для большинства станков, имеет смысл поставить данную галочку. Обратите внимание, что в поле «Линейный допуск (А)» можно управлять точностью преобразования сплайна в линейные сегменты (какое именно значение задается этим параметром очень хорошо видно на справочной картинке).
  • Объединить контуры полилиниями — контуры детали будут преобразованы в полилинии, а работать с ними гораздо удобнее, чем с отдельными отрезками.
  • Переместить геометрию в первый квадрант — все объекты в .dwg файле будут перемещены в первую четверть, т.е. иметь положительные значения X и Y.
  • Обрезать осевые линии по контуру — разница будет заметна, если в модели есть какие-то вырезы, попадающие на сгибы и вы не отключали экспорт слоев, содержащих линии гиба. При включенной настройке эти линии будут подрезаны по контуру детали.

Все настройки экспорта в .dwg или .dxf просты и интуитивно понятны, но все же, рекомендую не вводить их каждый раз заново, а использовать кнопку «Сохранение конфигурации». Создав один или несколько .ini файлов с настройками, в следующий раз вы сможете быстро выбрать нужную конфигурацию из выпадающего списка. Использование конкретных конфигураций будет очень полезным при работе в коллективе — стандрартизация повышает скорость и качество работы сотрудников.

Вот так полученная развертка выглядит в AutoCAD:

Мы рассмотрели процесс экспорта разверток в векторные форматы непосредственно из среды листовой 3d модели. Если раньше вы делали это через создание промежуточного чертежа в Inventor (с его последующим пересохранением), то советую перейти на метод, описанный в данной статье, ведь это проще и быстрее. А время, как известно — ресурс не просто ценный, но и невосполнимый =)

49. Создание и импорт DXF файла в ПК ЛИРА 10.6

Работа с поэтажными чертежами здания в формате DXF с последующим импортом в ПК ЛИРА 10 гораздо быстрее и проще, чем создание модели здания непосредственно в ПК ЛИРА 10.

Файлы в формате DXF создаются в таких программах, как Autodesk AutoCAD, NanoCAD, Autodesk Design Review, TurboCAD LTE Pro 7, Adobe Illustrator, Dassault Systemes, SolidWorks и другие.

На нашем сайте в архиве «Руководство пользователя. Импорт из файлов dxf в ПК ЛИРА 10» можно скачать шаблон с заданными слоями для создания чертежей в формате DXF и последующего их импорта в ПК ЛИРА 10. В том же архиве в папке «Пример» находится пример готовых для создания модели здания DXF чертежей

Рассмотрим работу с DXF в программе Autodesk AutoCAD.

Создаем новый файл чертежа и сохраняем его под именем 0_h0.dxf, где первый 0 обозначает уровень (этаж) здания, h0 – высота уровня. В нулевом уровне будут находиться сваи и фундаментная плита.

Затем создаем необходимые слои заполняя их данными.

Сваи создаются точками в слоях:

Фундаментная плита – замкнутой полилинией в слое:

Для упрощения последующей работы привяжем созданный уровень к координатам (0, 0, 0). Выделяем весь чертеж Ctrl+A, указываем базовую точку, вводим (0,0).

Рис.1 Нулевой уровень с заданными слоями

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

Создаем файл чертежа, сохраняем его под именем 1_h4000, где 1 – номер уровня, h4000 – высота в миллиметрах.

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

На панели инструментов во вкладке «Вставка» выбираем «Присоединить».

Затем указываем файл внешней ссылки в формате DWG (в нашем случае 0_h0) и нажимаем «Открыть».

Рис.2. Диалоговое окно «Выбор файла внешней ссылки»

В качестве точки вставки указываем координаты (0, 0, 0) и нажимаем ОК.

Рис.3. Диалоговое окно «Вставка внешней ссылки»

Создав необходимые слои, на вставленную подложку наносим элементы первого уровня.

Колонны создаем точками, стены и двери — отрезками в слоях соответственно:

Рис.4. План второго уровня с вставленным файлом внешней ссылки

Выгрузив подложку получаем план первого уровня. Высота стен и колонн на этом уровне будет 4000мм.

Рис.5. План второго уровня

Аналогично создаем второй и третий уровни. Новыми элементами этих уровней будут плиты перекрытия, проемы в перекрытиях, оконные проемы и капители.

Создаем необходимые слои:

Создаем чертежи уровней:

Рис.6. Чертеж второго уровня

Рис.7. Чертеж третьего уровня

Поскольку с 3 по 7 уровень идёт типовая планировка, следующему файлу чертежа присваиваем имя 8_h3000, где 8 – порядковый номер уровня, h3000 – высота уровня в миллиметрах. При импорте в ПК ЛИРА 10 уровни с 4 по 7 будут созданы автоматически.

ПК ЛИРА 10 не поддерживает импорт окружностей и дугообразных отрезков, поэтому их необходимо заменять на ломанные прямолинейные отрезки и чем больше будет таких отрезков, тем точнее импортируются дугообразные очертания.

Импорт окружности в ПК ЛИРА 10

Рассмотрим пример создания и импорта окружности.

1. Создаем в файле с расширением DXF окружность (Главная > Круг).

2. Делим её на произвольное количество сегментов (Главная > Рисование > Поделить). Выделив окружность, указываем в командной строке количество сегментов. Например, 30.

3.Между любыми двумя соседними точками создаем отрезок.


Рис.9

4. Выделяем отрезок и создаем круговой массив. Указываем количество сегментов, равное количеству отрезков, на которые была поделена окружность. Массив создан.

5. Удаляем вспомогательные точки и окружность. Расчленяем массив. Окружность преобразована в отрезки и готова к импорту в ПК ЛИРА 10.

Импорт сплайна в ПК ЛИРА 10

В ПК ЛИРА 10 можно импортировать сплайны, преобразовав их в полилинию.

1. Создадим произвольный сплайн (Главная > Рисование > Сплайн по определяющим точкам)

2. Выделяем сплайн. В контекстном меню выбираем Сплайн > Преобразовать в полилинию.

3. В командной строке указываем точность преобразования. Чем больше указанное число, тем точнее сплайн преобразуется в полилинию.

4. После расчленения получаем готовую к импорту в ПК ЛИРА 10 полилинию.


Рис.15


Рис. 16

Кроме создания конструктивных элементов, в DXF есть возможность создания нагрузок. Зададим распределенную нагрузку на участок перекрытия между 7 и 8 уровнем. Для этого необходимо создать дополнительный слой с именем ARB_AREA _LOAD (LC-Постоянная PZ(3)) и создать замкнутой полилинией контур нагрузки:

Рис.17. Чертеж восьмого уровня

Девятый и десятый уровни также будут нетиповыми, поэтому создаем их в отдельных DXF файлах под именами соответственно 9_h3000 и 10_h3000.

Рис.18. Чертеж девятого уровня

Рис.19. Чертеж десятого уровня

Необходимые чертежи созданы. Переходим к импорту модели в ПК ЛИРА10.6. Запускаем ПК ЛИРА 10 и выбираем опцию Открыть / Импортировать…

Читайте также  Курс обучения созданию сайтов на WordPress

Указав расширение «Файлы поэтажных планов в формате DXF» выбираем один из созданных файлов и нажимаем «Открыть».

Рис.20. Диалоговое окно импорта ПК ЛИРА

Если основными единицами измерения чертежа были миллиметры в диалоговом окне «Импорт поэтажных планов из DXF» указываем миллиметры и нажимаем ОК.

Рис.21. Диалоговое окно «Импорт поэтажных планов из DXF»

Таким образом, происходит создание модели в ПК ЛИРА 10 посредством импорта DXF файла из AutoCAD.

Рис.22. Модель здания в ПК ЛИРА

Рис.23 Модель здания с отображением назначенных сечений

Файл формата DXF: чем открыть, описание, особенности

Расширение DXF используется для создания файлов Computer-Aided Design (сокращенно CAD) в программах.

Расширение DXF используется для создания файлов Computer-Aided Design (сокращенно CAD) в программах систем автоматизированного проектирования. Такие файлы вмещают 2D и 3D модели архитектурных сборок. В статье мы подробно расскажем об этом формате и чем открыть файл DXF.

Общее описание формата DXF

Программы САПР созданы для автоматизации конструирования и черчения проектных моделей. Создание макета в таком формате визуализирует будущую конструкцию, позволяет исследовать и устранить недочеты изделия.

Автоматизированные программы расширяют возможности проектировки: увеличивается точность и скорость, но уменьшаются затраты; испытания “в реальном времени” сменились на 3D-моделирование; снизилась трудоемкость процесса.

Формат Drawing Exchange Format (DXF) сохраняет информацию в виде бинарного или векторного кода. Так хранятся трехмерные модели, веб-анимация, текстуры, а также информация об уровне освещения и затенения.

История возникновения

Кроме программ САПР такой формат файлов использовался в Micrografx Picture Publisher от Micrografx. Первоначально программа предназначалась для редактирования изображений, затем в пакет программ добавились инструменты моделирования Igrafx FlowCharter. После вхождения в состав Corel Corporation в 2002 году компания Micrografx прекратила отдельное существование, а ее наработки вышли на новый этап в виде интегрированных в Corel продуктов.

Первая ассоциация, создавшая программу САПР AutoCAD и текстовый формат DXF — Autodesk. Зимой 1982 года появилась первая модификация AutoCAD 1.0, в которой использовался закрытый формат обмена информацией DWG. В отличие от “родного” формата, файлы DXF – открытые, хотя и содержат одинаковую информацию.

По мере того, как усложнялись разновидности моделей, технических характеристик формата не хватало для взаимодействия в AutoCAD, и DWG начал использоваться как основной.

Как и чем открыть файл DXF расширения

Давайте посмотрим, чем открыть формат. Конечно, надежнее открывать такие файлы с помощью программы, которая для этого предназначена. А это Autodesk Autocad. Но и сторонние утилиты также помогут открыть документ.

  1. Просмотрщик Free DWG Viewer. В программу интегрирован зум, деление пластов, масштабирование. Макеты сохраняются в разных форматах, в том числе, в JPEG. Печать осуществляется по частям и целиком. Компонент ActiveX разрешает пользоваться программой в браузерах Internet Explorer, Фаерфокс и Netscape.
  2. Golden Software MapViewer. Утилита для создания картографического пространственного анализа с обширным инструментарием визуализации и распределения информации. Доступны карты России и США. Экспортирует и импортирует файлы различных форматов: DXF, LGS, STD.
  3. CADSoftTools ABViewer. Графический вьювер для растровых и векторных форматов. Поддерживает русскоязычный интерфейс с обширным функционалом для работы с проектными и технологическими документами и 3D-иллюстрациями.
  4. Blender Portable. Бесплатный программный пакет для создания трехмерных изображений. Открытый исходный код совместим с продуктами под общественной лицензией GNU. Включает 32-разрядную и 64-разрядную разновидности Blender, тогда компьютер автоматически использует подходящую. Используется для моделирования, затенения, анимации, рендеринга и компоновки, а также для создания интерактивных 3d-моделей.
  5. Adobe Illustrator. Признанный стандарт качества в среде векторного дизайна. Неважно, что вы разрабатываете: логотип, интерфейс приложения, типографику или сложную иллюстрацию, у Illustrator есть мощные инструменты для воплощения идей в визуальную жизнь.

Чем открыть DXF на Андроиде

AutoCAD работает с DXF файлами непосредственно на смартфонах и планшетах. Позволяет работать с локальными версиями проектов без Интернета, открывает файлы DWG, DWF и DXF™, отправлять файлы через электронную почту, добавлять комментарии и точные аннотации. Приложение может конвертировать файлы DXF в PDF.

Как открыть формат DXF онлайн

Программы, о которых сказано выше, помогут открыть файлы с расширением DXF, однако для этого нужно их скачать и установить. Неудобство не только в этом. Не все из них бесплатные и находятся в свободном доступе. Теперь давайте посмотрим, как открыть файл в онлайн режиме, не нагружая “железо” посторонними утилитами.

Файл в формате DXF можно открыть онлайн в сервисе ShareCAD. Для этого не требуется регистрация, а если есть собственный сайт, то ShareCAD предоставляет бесплатный плагин. Работать на платформе нетрудно:

  • загрузите файл с помощью кнопки «Выбрать»
  • нажмите «Отправить»
  • максимально допустимый объем – 50 МБ.

После этого откроется страница с изображением и панелью инструментов.

Онлайн-конвертер Zamzar. Работать с файлом на сайте не получится, однако можно преобразовать для дальнейших действий в другой программе.

  • В первом окне нажмите «Выбрать файлы»
  • Во втором поскрольте вниз и найдите подраздел «Image Formats».
  • Выберите формат DXF и нажмите «Конвертировать».
  • В таблице ниже нажмите «Download» для загрузки преобразованного документа.

Веб-интерфейс Convertio. Загрузите файл с компьютера, Dropbox, Google Drive или вставьте URL-ссылку, нажав соответствующую кнопку на красном поле. Укажите формат файла, который хотите преобразовать в DXF. После окончания нажмите «Скачать».

Какие еще могут быть проблемы с DXF файлом

Разберем часто встречающиеся затруднения с форматом DXF.

  1. Встречаются случаи, когда при попытке открыть файл DXF появляется уведомление об ошибке: «Неопределенный код группы 40 для объекта на линии 1380». Причина в том, что отдельные элементы создавались в несовместимой программе или некорректно редактировались. Попробуйте заменить эти фрагменты и сохранить файл заново.
  2. Если вдруг после сохранения с изображения исчезли элементы, проверьте инструмент «Слои». Откройте файл единым семплом, поскольку один слой в редакторе передается несколькими, которые называются layer Name1, 2…(зависит от количества слоев).
  3. Файл, созданный в Autocad, не “грузится” в сторонний вьювер. Используйте команды Insert/object или импортируйте в формате jpg, gif.
  4. При экспорте файлов деформируются или пропадают фигуры, не читается текст. Поскольку вариантов кода несколько, выберите R12/LT2 DXF.

Импортируем DXF чертеж в программе на Java, наступая на все грабли этого «простого» формата

AutoCAD и подобные ему САПР давно уже стали стандартом в области проектирования, и неудивительно что таким же стандартом стали широко используемые в них форматы файлов DWG/DXF. Так что если вы разрабатываете какое-то решение для архитекторов и проектировщиков, то умение работать с этими форматами (ну или хотя бы с одним из них) — must have фича вашего продукта.

В рамках своего вебсервиса для симуляции движения пешеходов пришлось и мне озаботиться импортом генпланов в этих форматах. Раньше с САПР я дела не имел, поэтому наивно думал «да что там, подумаешь — еще один формат чертежей, линии и многоугольники, что там может быть сложного?». Но в процессе работы выяснилось что сложного там может быть достаточно, некоторые нюансы вполне похожи на древние костыли, тянущиеся из глубин веков, при этом многие вещи толком не документированы в спецификациях самого формата (например работа с блоками или с кривыми). Видимо они считаются очевидными для любого чертежника, но что делать если вы родом из другой области, и таких знаний не имеете?

В общем под катом — перечисление граблей и решений, которые не удалось нагуглить и пришлось добывать полуночными бдениями над чертежами.

Решаемая задача

Мне для моего приложения на Java нужно было настроить импорт генпланов районов и конвертацию его во внутреннее упрощенное GeoJSON представление. При этом мне не нужна была полная информация и все виды сущностей, лишь некоторая их часть, которая бы использовалась в симуляции. Так что данный материал не охватывает все возможности и Нетривиальные Технические Решения DXF. А почему именно DXF, а не DWG? А про это ниже.

Выбор формата

Итак, что в первую очередь ассоциируется со словами «автокад» и «формат файла»? А это DWG. Бинарный закрытый формат, который изначально был создан AutoDesk’ом и его спецификации не раскрывались, однако в свое время он был удачно реверснут Open Design Alliance.
И вот тут следует разочарование №1: не существует актуальных бесплатных реализаций этого формата. Вообще.
Есть библиотека по работе с ним от AutoDesk. Есть популярная библиотека Teigha, созданная ODA. И… все. Обе они платные, причем хорошо платные (речь о сотнях и тысячах долларов). Не подходит.
Есть некоторое количество попыток реализовать стандарт в виде бесплатного Open-source решения. Например jdwglib. Но все они давно мертвы, обновлялись последний раз 5-10 лет назад. А прогресс не стоит на месте, новые версии автокада добавляют новые фичи и в DWG, в итоге с мечтой читать файлы современных версий можете попрощаться, как и с поддержкой и надеждой на фикс багов.

Альтернативой является DXF. Несколько менее популярный, но в то же время поддерживаемый всеми САПР, изначально открытый и поэтому, по идее, более распространенный.
Поиск библиотек поначалу тоже обескураживает — конкретно для Java нет ни одного живого проекта, везде та же картина: последние релизы 5-летней давности, заброшенные репозитории, грустно глядящие в вечность последние новости, полные неоправдавшегося оптимима и обещаний. Но сам по себе формат в отличие от DWG не так активно развивается, поэтому даже довольно старой библиотекой вполне можно открыть актуальные чертежи.

Читайте также  Как исправить ошибки DLL файлов?

В итоге была выбрана библиотека Kabeja, последний релиз которой был в 2011 году. С помощью идущего в комплекте сэмпла (конвертация DXF в SVG) было проверено что все актуальные файлы чертежей корректно открываются, после чего я приступил к импорту. Слегка правда насторожил меня один комментарий к вопросу про парсинг DXF от некоего CAD-гуру на Stackoverflow что, мол, «DXF выглядит простым но на деле ты запаришься с ним работать».

DXF чертеж содержит в себе набор слоев (layer) и блоков (block). Там есть и другие сущности, но для того чтобы выдрать координаты геометрии в простейшем случае они не нужны.

Со слоями все очевидно, работают они так же как и в каком-нибудь Photoshop. Слои можно включать-выключать и можно задавать дефолтные параметры графики для слоя (то есть например все линии по умолчанию на данном слое будут иметь такую-то толщину). Поскольку моей задачей была только выжимка координат, вопросами отображения я не занимался.

Окей, все кажется просто: бежим по списку слоев, для каждого слоя — по списку объектов, преобразуем координаты. Впрочем уже тут я наступил на первые грабли: набор слоев который вы видите в CAD и который есть в файле — это не одно и то же. Я себе голову сломал, почему у меня вдруг пропадали куски дорог. В NanoCAD они есть, в моем экспорте — нет. Полез в отладчик — их и в возвращаемых Kabeja структурах нет. Зато если проэкспортировать файл целиком их семплом — они есть. В общем выяснилось что один слой из редактора в файле может представляться несколькими слоями, с именами вида «layerName», «layerName @ 1». Зачем это сделано и откуда оно берется — черт его знает, но факт — поиск на точное совпадение имени слоя (на который намекает даже структура кода библиотеки, хранящая слои в Map с ключом-именем) не работает.

Блоки представляют собой шаблоны, которые единожды нарисовав можно многократно вставлять. При этом изменение базового блока изменит и все его вставки. Удобно. Еще круче то, что блок может содержать в себе объекты с нескольких слоев. При этом вставка тоже принадлежит какому-то слою. При этом блок может содержать в себе вставки других блоков. То есть можно сделать блоки «секция дома», затем составить из них блок «дом», который затем несколько раз вставить на карту. При этом итоговый объект будет иметь несколько слоев (отдельно заливка, отдельно контуры, отдельно специальные пометки), так же как исходные блоки. Все это очень круто с точки зрения пользователя, но добавляет работы программисту.
Более того, блок может вставляться не просто разово, а многократно в виде прямоугольной матрицы. Для этого у объекта вставки есть параметры с количеством рядов, столбцов и с расстоянием между ними.

В итоге пока что код обработки вставки выглядит как-то так:

При этом еще важно знать что блоки и слои в файле не упорядочены. То есть поочередно обрабатывая блоки можно наткнуться в нем на вставку из другого блока, который еще не был обработан. Честно говоря не знаю, можно ли умудриться сделать цикл и что в таком случае будет.

Напомню, что моя задача — преобразовать DXF в GeoJSON, который из всех видов геометрии признает лишь ломаную и многоугольник, никаких дуг и кривых.

DXF поддерживает кучу разных вариантов линий:

  1. Аж 2 типа ломаных — Polyline и LWPolyline. В моем случае простых 2д чертежей разницы между ними никакой
  2. Дуги, причем аж двух видов — эллиптические и круговые. К счастью в классах Kabeja уже есть готовые методы для получения координат точек на них, так что преобразовать дугу в ломаную с нужной точностью несложно
  3. Сплайны — опять же Kabeja сама умеет их преобразовывать в Polyline
  4. Просто линейные отрезки

Казалось бы все просто, но нет. Даже простой на первый взгляд тип Polyline может использоваться для отображения кривых второго порядка (а не просто ломаных). Для этого у вершины может быть задан параметр bulge. Если он указан то две вершины соединяются не прямой линией, а дугой окружности, проходящей через эти вершины и центр которой можно выразить через них и этот параметр.

Вот такой вот код позволяет определить центр окружности:

Над этими дугами я бился долго, да в итоге плюнул и отключил их, соединяя вершины напрямую. Так как в генпланах такие дуги обычно используют для закруглений на углах перекрестков, я мог на них вполне забить — разница с точки зрения симуляции невелика.

Заливки/штриховки (hatch)

Это то с чем непосредственно работает мой симулятор. Здания, дороги и генераторы я пока требую задавать именно заливками (иначе непонятно где в мешанине отдельных линий внутренняя часть, а где — внешняя).

И тут тоже есть нюансы:

  1. Границей заливки может быть любая комбинация объектов-линий. Часть границы может быть ломаной, затем несколько дуг, потом просто куча отрезков разных линий
  2. Один объект заливки может иметь произвольное число непересекающихся областей (что нехарактерно для многих других форматов где у многоугольника есть только одна внешняя граница), каждая из которых может иметь произвольное число дырок
  3. Заливки могут быть многократно вложенными: то есть внутри заливки дырка, в которой еще одна заливка, в которой снова дырка, причем все это в DXF задается одним объектом HATCH с несколькими границами.
  4. Есть и еще более экзотические варианты отношений заливки и ее границ (см картинку) но мне они пока слава богу не попадались

В общем из DXF для заливки мы получаем кучу границ, имеющих флаг «внешняя или внутренняя», а дальше сами должны как-то разбираться как они вообще сделаны и как их раскидать по GeoJSON-овским полигонам, которые могут иметь только одну внешнюю границу и не имеют вложенности.

Я сходил по нескольким путям, но на каждый алгоритм я довольно быстро получал чертеж, на котором этот алгоритм не работал. Например вот этот вот: схема улиц и проездов для жилого района Читы, в котором они все заданы буквально парой объектов HATCH с очень сложной структурой, в которой почему-то все границы были помечены как внешние (чую тут какой-то баг в Kabeja, так как DXF определяет сразу два схожих флага External и Outer, но в самой библиотеке есть только один):

В итоге единственный рабочий алгоритм выглядит так:

  1. Создать полигон для каждой внешней границы
  2. Вычесть из него все остальные границы, неважно отмечены ли они внешними или внутренними
  3. Исправить возможные проблемы (полигон получился пустой, дырки выходят за границы внешнего контура, полигон разбился на несвязанные области и т.п.)

Для третьего пункта (да и вообще для работы с геометрией уже внутри самого алгоритма симуляции) я использовал библиотеку JTS — Java Topology Suite. Она содержит довольно много всяких нужных примитивов и операций по работе с геометрией, начиная от операций типа построения буфера и заканчивая структурами данных типа квадродерева.

После множества мучений и подперев все что можно костылями, я все-таки смог создать поддержку нужного мне подмножества DXF и загружать чертежи напрямую в свой симулятор, чтобы использовать их для определения косяков проектировщиков. Поскольку большую часть из указанной выше информацией мне пришлось добывать с боем и сидением до двух ночи над NanoCAD-ом (не реклама, но это единственный легкодоступный бесплатный и качественный редактор DXF который я нашел, тот же LibreCAD не осилил открыть правильно первый же чертеж что я ему передал), я решил поделиться ей и с хабрасообществом — вдруг мой опыт сэкономит кому-то время.

Ну и да, вот как-то так выглядит предсказание моего алгоритма для района со скриншота выше:

Очевидные выводы — не надо делать дорожки под прямым углом, но не надо и пытаться делать какие-то непонятные закругления там где не надо. Посмотрим через несколько лет, оправдается ли мой прогноз когда район этот построят.

Борис Аладышкин/ автор статьи

Приветствую! Я являюсь руководителем данного проекта и занимаюсь его наполнением. Здесь я стараюсь собирать и публиковать максимально полный и интересный контент на темы связанные с современными технологиями и программным обеспечением. Уверен вы найдете для себя немало полезной информации. С уважением, Борис Аладышкин.

Понравилась статья? Поделиться с друзьями:
Itsovet61.ru
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: