Минимальное содержание DXF
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Минимальное содержание DXF

Минимальное содержание DXF

Ответ
Поиск в этой теме
Непрочитано 16.07.2010, 14:20 #1
Минимальное содержание DXF
Штурман
 
Регистрация: 09.07.2010
Сообщений: 4

Ситуация такая. Из своей программы сохраняются объекты в DXF. При этом при сохранении типов POINT, TEXT, LINE достаточно блока ENTITIES и минимальной информации об объектах. А вот с типами LWPOLYLINE и IMAGE так не получается - автокад пишет, что файл испорчен. Что нужно добавить? Пробовал добавлять в ENTITIES всё по максимуму (из документации DXF) - не помогает. Нужны ещё какие-то блоки?
Просмотров: 3640
 
Непрочитано 16.07.2010, 14:22
#2
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


Я бы открыл DXF Reference и в нем смотрел те элементы, которые не optional. Думаю, это окажется самым эффективным вариантом...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 16.07.2010, 14:27
#3
Штурман


 
Регистрация: 09.07.2010
Сообщений: 4


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Я бы открыл DXF Reference и в нем смотрел те элементы, которые не optional
по блоку ENTITIES я так и делал. Делать это по всем блокам - слишком заморочно.. проще тогда использовать подставной пустой файл, но это крайний вариант. Вопрос как раз в том, какие блоки можно смело отбросить?
Штурман вне форума  
 
Непрочитано 16.07.2010, 14:35
#4
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


если опустить все секции, оставмв только ENTITIES - автокад будет считать что это DXF12, соответственно будет ругаться на все примитивы не входящие в этот формат. IMAGE не в курсе, а LWPOLYLINE вроде появился только с DXF2000. Соответственно либо используй POLYLINE, либо пиши полноценный DXF2000, но там многое не опустить
zamtmn вне форума  
 
Непрочитано 16.07.2010, 14:35
#5
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


Для LWPOLYLINE требуется указывать, насколько я помню:
  • 100 "AcDbEntity"
  • 100 Subclass marker "AcDbPolyline"
  • 90 Number of vertices
  • 70 Polyline flag (bit-coded); default is 0
  • 10 X coordinates
  • 20 Y coordinates
  • 210, 220, 230 - Extrusion direction
Что из этого ты вводишь, а что - нет?
---
Добавлено: насчет DXF R12 не знал...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 16.07.2010, 14:44
#6
Штурман


 
Регистрация: 09.07.2010
Сообщений: 4


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Что из этого ты вводишь, а что - нет?
Extrusion direction не вводил, но он вроде опциональный..

Цитата:
Сообщение от zamtmn Посмотреть сообщение
либо пиши полноценный DXF2000, но там многое не опустить
это я и подозревал.. а можно узнать, что именно нельзя отбросить?
Штурман вне форума  
 
Непрочитано 16.07.2010, 15:00
#7
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>это я и подозревал.. а можно узнать, что именно нельзя отбросить?

Не подскажу. Когдато экспериментировал по этому поводу, результат всеравно содержал много "лишнего", но это было давно и не сохранилось. Записать DXF2000 можно довольно просто используя пустой шаблон сохраненный автокадом:
построчно копируем из шаблона в новый файл, и ловим нужные секции типа блоки, слои, примитивы - в них дописываем свою информацию.
при этом нужно не забывать про группы хэндлов 5,320,330,340,350,1005,390,360,105 (возможно вру), их или перенумеровывать с сохранением ссылок друг на друга, или для своих примитивов использовать хэндлы заведомо большие чем есть в шаблоне
zamtmn вне форума  
 
Автор темы   Непрочитано 16.07.2010, 15:27
#8
Штурман


 
Регистрация: 09.07.2010
Сообщений: 4


спасибо. не хотелось использовать готовый файл, но, видимо, придётся..
Штурман вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Минимальное содержание DXF

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как открыть DXF файл с новыми типами линий МихаилМ AutoCAD 7 20.01.2010 19:28
Представление 3d поверхностей и импорт DXF в SolidWorks kurish SolidWorks 17 16.06.2009 12:09
Заблокировать объект в DXF файле zamtmn Программирование 7 09.04.2009 01:44
Lira и DXF что то несовмещается... dextron3 Лира / Лира-САПР 14 18.07.2008 17:26
Пакетный перегон dxf -> dwg возможно ли ? bdfy AutoCAD 4 15.11.2006 21:41