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

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

Как описать статический блок автокада в DXF формате

Ответ
Поиск в этой теме
Непрочитано 30.03.2012, 09:47 #1
Как описать статический блок автокада в DXF формате
onix
 
Регистрация: 20.05.2011
Сообщений: 38

Здравствуйте!
Хочу программно создать DXF файл с описанием статического блока (с атрибутами) автокада. Возникает вопрос какие строки нужно записать и в какой раздел в dxf файле?
И второй вопрос: какие строки нужно записать и в какой раздел, чтобы получить dxf файл со вставленным блоком в пространстве модели?
Также интересует создание слоя в автокаде посредством записи в dxf файл.

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

P.S. Если есть ссылки на какие-нибудь статьи с примерами создания файла dxf "ручками" буду признателен.
(на сайте автокада смотрел описание dxf формата, но чё-то не могу разобраться с блоками)

Файл блока во вложении...

Вложения
Тип файла: rar Блок.rar (2.7 Кб, 78 просмотров)

Просмотров: 8159
 
Непрочитано 30.03.2012, 11:25
#2
zamtmn

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


самое простое - подготовить болванку (пустой файл с определениями всех нужных блоков, стилей, слоев и т.д.) и дописывать нужные данные в секцию entities
zamtmn вне форума  
 
Непрочитано 30.03.2012, 11:30
#3
Кулик Алексей aka kpblc
Moderator

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


См. DXF Reference
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 30.03.2012, 12:00
#4
onix


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
См. DXF Reference
Смотрел....с текстом, линиями и т.п. разобрался ....записываем всё в секцию entities...
Вот с блоками не совсем понял...там кроме entities надо ещё по ходу данные в секцию tables записывать..
создал блок..сохранил в dxf...попытался разобраться, что именно записывать..не получается.. слишком много данных в dxf файле, сохраняемым автокадом....мне бы просто кто-нить сказал какие именно строки и в какие секции записать...желательно пример dxf файла блока, который во вложении, только со строками описания блока без всего остального
onix вне форума  
 
Непрочитано 30.03.2012, 12:47
#5
zamtmn

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


>>Смотрел....с текстом, линиями и т.п. разобрался ....записываем всё в секцию entities...
плохо значит разобрался. например текст требует определения соответствующего стиля текста, все примитивы - определения соответствующих слоев и типов линий

для сохранения блоков в формате dxf2000 нужно:
перечислить имена определенных в чертеже блоков в таблице BLOCK_RECORD
привести все содержимое (то из чего состоит блоки) в секции BLOCKS
это ЕМНИП.

повторяю, если ты не генерируешь определения новых блоков програмно, а только расставляешь уже имеющиеся определения - лучше пользоваться подготовленным пустым dxf в котором уже есть нужные определения и разделы BLOCK_RECORD и BLOCKS уже заполнены должным образом

Последний раз редактировалось zamtmn, 30.03.2012 в 12:52.
zamtmn вне форума  
 
Автор темы   Непрочитано 30.03.2012, 13:38
#6
onix


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


Цитата:
Сообщение от zamtmn Посмотреть сообщение
одготовленным пустым dxf
вот я об этом и прошу.. чтоб из приложенного dxf файла мне помогли оставить только то, что отвечает за формирование описания/вставки блока и слои на чертеже...без всяких строк про описание версии и т.п.
onix вне форума  
 
Непрочитано 30.03.2012, 13:46
#7
zamtmn

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


в какой версии нужен файл?
>>без всяких строк про описание версии и т.п.
видимо dxf r12

Зачем его очищать? используй то что на выходе автокада без чистки. экономия нескольких килобайт не стоит таких головняков.

Я когдато пытался получить минимальный dxf2000, оно того не стоит
zamtmn вне форума  
 
Автор темы   Непрочитано 30.03.2012, 14:36
#8
onix


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


Цитата:
Сообщение от zamtmn Посмотреть сообщение
в какой версии нужен файл?
>>без всяких строк про описание версии и т.п.
видимо dxf r12

Зачем его очищать? используй то что на выходе автокада без чистки. экономия нескольких килобайт не стоит таких головняков.

Я когдато пытался получить минимальный dxf2000, оно того не стоит
файл dxf должен создаваться программно (PHP на сервере), я просто замучаюсь прописывать в php все эти строки.... мне нужно прописать только строки отвечающие за создание описания/вставки блока и создание слоя в автокаде и всё...для примера прикладываю dxf файл сгенерированный на сервере с помощью php там только секция ENTITIES и всё....нормально работает..открывается..тоже самое мне надо и для блока ...
Вложения
Тип файла: rar схема.rar (603 байт, 78 просмотров)
onix вне форума  
 
Непрочитано 30.03.2012, 14:56
#9
zamtmn

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


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

мешать программу и данные - неправильное решение, потом понадобится изменить\добавить блики - придется лезть в текст программы

Последний раз редактировалось zamtmn, 30.03.2012 в 15:04.
zamtmn вне форума  
 
Автор темы   Непрочитано 30.03.2012, 15:11
#10
onix


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


Должны создаваться блоки (один dxf файл - один блок) по одному шаблону (как во вложении первом)...
  • будет меняться только название блока,
  • название, количество и значение атрибутов в блоке (свойства у всех будут одинаковые)
  • тект однострочный в блоке

Хорошо. Задам вопрос по другому....
Имеем:
  • Пустой файл с расширением dxf.
Вопрос:
  • Что именно нужно записать в dxf файле чтобы создать описание статического блока с атрибутами?
  • Что именно нужно записать в dxf файле чтобы вставить статический блок с атрибутами в пространство модели?
  • Что именно нужно записать в dxf файле чтобы создать слой?
Требуется из dxf файла (в первом посте) оставить только то что отвечает за перечисленное выше.

Последний раз редактировалось onix, 30.03.2012 в 15:21.
onix вне форума  
 
Непрочитано 30.03.2012, 15:23
#11
zamtmn

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


>>Хорошо. Задам вопрос по другому....
на этот вопрос дан ответ #3
Написание полноценной поддержки dxf довольно сложное занятие.

>>Имеем:
>>Пустой файл с расширением dxf.
Зачем вам именно пустой файл?

>>Требуется из dxf файла (в первом посте) оставить только то что отвечает за перечисленное выше.
Зачем это делать програмно - сделайте это в любом бесплатном каде.
zamtmn вне форума  
 
Автор темы   Непрочитано 30.03.2012, 15:31
#12
onix


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


Цитата:
Сообщение от zamtmn Посмотреть сообщение
>>Требуется из dxf файла (в первом посте) оставить только то что отвечает за перечисленное выше.
Зачем это делать програмно - сделайте это в любом бесплатном каде.
Вы можете мне помочь: открыть dxf файл из первого вложения в блокноте и скопировать в другой файл txt только те строки, которые отвечают за создание описания, вставку блока и создание слоя???
onix вне форума  
 
Непрочитано 30.03.2012, 15:49
#13
zamtmn

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


могу, но для начала создайте файл с ноля, чтоб в нем было как можно меньше мусора. в вашем файле например к примитивам привязаны расширенные данные приложений, они вам нужны?
zamtmn вне форума  
 
Автор темы   Непрочитано 30.03.2012, 15:56
#14
onix


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


Цитата:
Сообщение от zamtmn Посмотреть сообщение
могу, но для начала создайте файл с ноля, чтоб в нем было как можно меньше мусора. в вашем файле например к примитивам привязаны расширенные данные приложений, они вам нужны?
Так вот... в этом и беда... данный файл я получил так: сначала создал в автокаде блок... вставил его на чертёж в пространстве модели..затем сохранил как dxf файл...

Теперь я из этого dxf файла хочу вычленить только то что нужно (см. выше)
onix вне форума  
 
Непрочитано 30.03.2012, 16:04
#15
zamtmn

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


Это не беда, просто файл нужно создавать в "голом" автокаде, без установленных на него сторонних программ, добавляющих всякий "мусор" из пустого шаблона. После этого из файла можно будет удалить некоторые "ненужные" таблицы и секции (в случае dxf12). "Ненужные" они потому что автокад их при следующем открытии создаст сам
zamtmn вне форума  
 
Автор темы   Непрочитано 30.03.2012, 17:11
#16
onix


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


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Это не беда, просто файл нужно создавать в "голом" автокаде, без установленных на него сторонних программ, добавляющих всякий "мусор" из пустого шаблона. После этого из файла можно будет удалить некоторые "ненужные" таблицы и секции (в случае dxf12). "Ненужные" они потому что автокад их при следующем открытии создаст сам
создавал файл на основе шаблона acadiso.dwt...вот я и спрашивал как мне выделить то что мне нужно???..методом подбора???

Последний раз редактировалось onix, 01.04.2012 в 22:59.
onix вне форума  
 
Непрочитано 30.03.2012, 18:11
#17
zamtmn

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


вот мнимальный dxf12.
содержит таблицу слоев(2 слоя),секцию блоков(1 определение блока с атрибутом),пустую секцию примитивов

>>вот я и спрашивая как мне выделить то что мне нужно???..методом подбора???
изначально ненужно ничего. используете блоки - появляется секция блоков, слои отличные от 0 - таблица слоев, тексты с своими стилями - появляется таблица стилей и т.д. и т.п.
Это касается версии dxf12 (файлы без заголовка автоматом считаются этой версией). ее просто записать, но в ней нет некоторых примитивов - мтекста, лвполилинии. Из последних версий выкинуть практически ничего нельзя.
Вложения
Тип файла: rar min.rar (433 байт, 169 просмотров)

Последний раз редактировалось zamtmn, 30.03.2012 в 18:19.
zamtmn вне форума  
 
Автор темы   Непрочитано 01.04.2012, 23:00
#18
onix


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


zamtmn, спасибо огромное.... то что и требовалось

Последний раз редактировалось onix, 01.04.2012 в 23:11.
onix вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как описать статический блок автокада в DXF формате

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как оптом сохранить все чертежи в формате 14-го автокада? Соня AutoCAD 26 20.03.2011 14:59
Как в Dxf формате кодируется элипс? nau-max Программирование 2 08.01.2010 18:13
Как задать толщину (вес) линии (LINE) в формате DXF? Автон Программирование 8 10.03.2006 11:47