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

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

программное создание размеров в dxf файле

Ответ
Поиск в этой теме
Непрочитано 01.02.2011, 12:45 #1
программное создание размеров в dxf файле
_Oleg_
 
Dnepropetrovsk
Регистрация: 28.09.2006
Сообщений: 683

Всем доброго здоровья)

Столкнулся с такой проблемой.
Программно создаю dxf файл формата AC2000, набиваю текст согласно этой спецификации:
http://www.autodesk.com/techpubs/autocad/acad2000/dxf/
и затем присваивается расширение файлу .dxf

Проблем вроде не возникало, пока не уперся в создание размеров.

Если нарисовать пару размеров в AutoCad и потом сохранить этот файл в формате dxf(2000) можно увидеть, что для каждого размера объявляется блок из примитивов *D1 *D2 и т.д.
И соответственно каждый размер ссылается на свой блок
Цитата:
2
Name of the block that contains the entities that make up the dimension picture
- это из спецификации.

Не могу понять как для каждого например только для линейного типа размеров задать его блок. В какой момент это надо делать?

Какая последовательность действий должна быть? Сначала рисуем блок примитивов, а потом размер или сначала размер, а затем блок с его примитивами?

Моск улетает.

Спасибо за ответ)
Просмотров: 5700
 
Непрочитано 01.02.2011, 14:32
#2
Кулик Алексей aka kpblc
Moderator

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


По-моему, сначала создается блок, потом в него добавляются примитивы выносных линий, размерной линии, ссылки на ename-представления блоков стрелок / засечек и текст. Могу ошибаться, в жизни не работал с dxf-файлами...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 01.02.2011, 14:45
#3
_Oleg_


 
Регистрация: 28.09.2006
Dnepropetrovsk
Сообщений: 683


Видимо Вы правы. Блок отрисовки размера находится в секции блоков, которая выше секции отрисовки размера. Видимо всетаки вначале блок, потом размер.

Думаю построить алгоритм так:
1. Зная число размеров их тип и параметры вначале для каждого размера в цикле пишется блок атрибутов с уникальным обозначением каждого
2. Потом рисуются размеры опять же в цикле с сылками на соответствующий блок

Стоит попробовать, но в успехе честно говоря не уверен.

Можно просто набивать размеры из примитивов, но нет желания это делать, хочеться, чтобы все было правильно) Чтобы размер был размером, а не набором букашек
_Oleg_ вне форума  
 
Непрочитано 01.02.2011, 16:08
#4
zamtmn

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


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

Судя по всему во время записи секции entities у вас наступает необходимость дописать чтото в уже записаную секцию блоков.
Выход - пробегать по своим примитивам во время записи секции блоков, чтобы всё что понадобится в дальнейшем там уже было.
Или писать не сразу в готовый dxf а в разные файлы (грубо говоря один - блоки, второй примитивы), тогда будет возможность дописывать в блоки во время формирования примитивов. в конце файлы "склеивать" и получать dxf
zamtmn вне форума  
 
Автор темы   Непрочитано 01.02.2011, 16:36
#5
_Oleg_


 
Регистрация: 28.09.2006
Dnepropetrovsk
Сообщений: 683


zamtmn,
Цитата:
Судя по всему во время записи секции entities у вас наступает необходимость дописать чтото в уже записаную секцию блоков.
Да именно так.
Цитата:
Выход - пробегать по своим примитивам во время записи секции блоков, чтобы всё что понадобится в дальнейшем там уже было.
Или писать не сразу в готовый dxf а в разные файлы (грубо говоря один - блоки, второй примитивы), тогда будет возможность дописывать в блоки во время формирования примитивов. в конце файлы "склеивать" и получать dxf
Спасибо за совет.
Пока остановился на том, чтобы во время записи секций блоков, пробегать по примитивам.
Кстати про "склеивание" файлов - дельный совет), очень даже
_Oleg_ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > программное создание размеров в dxf файле

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программное создание размерных стилей Кулик Алексей aka kpblc Программирование 89 08.04.2013 12:59
создание из множества размеров одного Mtext sasha_lif AutoCAD 23 14.06.2010 17:25
Заблокировать объект в DXF файле zamtmn Программирование 7 09.04.2009 01:44
Создание дубликатов DXF файлов. Dark Программирование 2 26.04.2007 22:35