Файлы шаблонов вывода атрибутов предназначены для извлечения данных из атрибутов из чертежа в отдельный текстовый файл, который впоследствии может быть передан в какую-либо систему управления базами данных.
Имеется возможность извлечения данных из атрибутов из чертежа в отдельный текстовый файл, который впоследствии может быть передан в какую-либо систему управления базами данных. Это позволяет легко создавать различные спецификации и отчеты, опираясь на данные, содержащиеся в базах данных внутри чертежей. Извлечение информации, хранящейся в атрибутах, никак не влияет на чертеж.
Для создания спецификации или отчета
Для извлечения данных из атрибутов вначале создается файл шаблона атрибутов с помощью любого текстового редактора, затем формируется файл вывода атрибутов, который, наконец, можно передать в систему управления базами данных. Если данные атрибутов необходимо выводить в файл DXF графического обмена, то создание шаблона не требуется.
Необходимо убедиться в том, что имена файла вывода атрибутов и файла шаблона атрибутов не совпадают.
Перед тем как извлекать данные из атрибутов, вначале необходимо создать текстовый (ASCII) файл шаблона, описывающий структуру формируемого файла, куда должны выводится данные. В файле шаблона содержится информация о тегах выводимых атрибутов, типах данных, длине полей и количестве знаков представления числовых значений.
Поля файла шаблона описывают информацию, извлекаемую из вхождений блоков чертежа. Каждая строка в шаблоне соответствует одному полю в файле вывода; она задает имя поля, его ширину (в символах) и точность представления. Каждая запись в файле вывода включает в себя заданные поля именно в том порядке, в каком они перечислены в шаблоне.
В следующем файле шаблона перечислено 15 возможных полей. N означает числовой тип, C символьный тип, www общая длина поля в виде трехзначного числа, ddd число выводимых знаков после десятичной точки в виде трехзначного числа.
BL:NAMECwww000 (Имя блока)
BL:LEVELNwww000 (Уровень вложенности блокаl)
BL:X Nwwwddd(Координата X точки вставки)
BL:Y Nwwwddd(Координата Y)
BL:Z Nwwwddd(Координата Z)
BL:NUMBERNwww000 (Счетчик блоков; один и тот же для блоков, вставленных по МВСТАВИТЬ)
BL:HANDLECwww000 (Тег блоков; одна и та же для блоков, вставленных по МВСТАВИТЬ)
BL:LAYERCwww000 (Имя слоя вставки блока)
BL:ORIENT Nwwwddd(Угол поворота блока)
BL:XSCALE Nwwwddd(Масштаб по X)
BL:YSCALE Nwwwddd(Масштаб по Y)
BL:ZSCALE Nwwwddd(Масштаб по Z)
BL:XEXTRUDE Nwwwddd(Составляющая X вектора выдавливания)
BL:YEXTRUDE Nwwwddd(Составляющая Y вектора выдавливания)
BL:ZEXTRUDE Nwwwddd(Составляющая Z вектора выдавливания)
numeric Nwwwddd (Числовой тег)
character Cwww000 (Символьный тег)
Шаблон может включать в себя все или некоторые из полей типа BL:xxxxxxx, перечисленных выше. Включенные в шаблон теги атрибутов задают, данные каких атрибутов (и, следовательно, каких блоков) включаются в файл вывода. Значения заданных в шаблоне, но не содержащихся в блоке атрибутов, заменяются пробелами (для символьных) или нулями (для числовых).
Пояснения о назначении стандартных полей приведены здесь исключительно в качестве комментария; включаться в шаблон они не должны.
В шаблоне вывода атрибутов задаются сведения об атрибутах; например, о наименовании детали, номере модели, стоимости и поставщике, как показано на чертеже блока с атрибутами и в таблице.
Поле |
Символьные (C) или числовые (N) данные |
Максимальная длина поля |
Число десятичных знаков |
---|---|---|---|
Тип |
C |
040 |
000 |
Изготовитель |
C |
006 |
000 |
Модель |
C |
015 |
000 |
Цена |
N |
006 |
002 |
Число создаваемых файлов шаблонов не ограничивается. Каждая запись в файле шаблона описывает одно поле, сохраняемое в файле вывода атрибутов.
При создании файла шаблона вывода атрибутов рекомендуется придерживаться следующих правил:
Ниже приведен пример простого файла шаблона для извлечения информации из атрибутов.
BL:NAME C008000 (Имя блока, 8 символов)
BL:X N007001 (Координата X, в формате nnnnnn.d)
BL:Y N007001 (Координата Y, в формате nnnnnn.d)
SUPPLIER C016000 (Фирма-изготовитель, 16 символов)
MODEL C009000 (Номер модели, 9 символов)
PRICE N009002 (Стоимость единицы, в формате nnnnnnnn.dd)
После создания файла шаблона пользователь может извлечь данные из атрибутов, сохранив их в файле вывода в одном из форматов:
Файл формата CDF содержит по одной записи для каждого вхождения блока в чертеж. Поля записи разделяются запятыми, а символьные поля заключаются в апострофы. Некоторые системы управления базами данных могут непосредственно воспринимать данный формат.
Файл формата SDF также содержит по одной записи для каждого вхождения блока в чертеж. Поля каждой записи имеют фиксированную длину и не требуют ни разделителей, ни ограничителей символьных полей. Операция dBASE III Copy . . . SDF также формирует файлы в формате SDI. Операция Append From... SDF позволяет читать файлы в формате dBASE IV, которые легко обрабатываются пользовательскими программами, написанными на языке FORTRAN.
При выводе в формате DXF образуется подмножество файла обмена чертежами, содержащее только вхождения блоков, атрибуты и символы конца последовательности. В данном случае файл шаблона вывода атрибутов не требуется. К имени файла будет автоматически добавлено расширение. dxx ).
Файл вывода атрибутов содержит список значений и других сведений всех тегов, вывод которых описан в шаблоне.
Если при выводе с помощью шаблона применяется формат CDF, то файл вывода может иметь следующий вид:
'DESK', 120.0, 49.5, 'ACME INDUST.', '51-793W', 379.95
'CHAIR', 122.0, 47.0, 'ACME INDUST.', '34-902A', 199.95
'DESK', -77.2, 40.0, 'TOP DRAWER INC.', 'X-52-44',249.95
По умолчанию, символьные поля заключаются в апострофы. Разделителем полей по умолчанию является запятая. Для переопределения этих настроек можно использовать две следующие записи в шаблоне:
C:QUOTE c (Разделитель символьных строк)
C:DELIM c (Разделитель полей)
Символ, следующий сразу (без пробела) за именем поля C:QUOTE или C:DELIM определяет соответственно ограничитель символьных строк или разделитель полей. Например, для того чтобы символьные строки заключались в кавычки, необходимо вписать в шаблон следующую строку:
C:QUOTE "
Ограничителем символьных строк не может быть символ, встречающийся в символьных значениях полей. Аналогично, разделителем полей не может быть символ, встречающийся в числовых значениях полей.
Если при выводе с помощью шаблона применяется формат SDF, то файл вывода может иметь следующий вид:
(NAME) |
(X) |
(Y) |
(SUPPLIER) |
(МОДЕЛЬ) |
(PRICE) |
---|---|---|---|---|---|
DESK |
120.0 |
49.5 |
ACME INDUST. |
51-793W |
379.95 |
CHAIR |
122.0 |
47.0 |
ACME INDUST. |
34-902A |
199.95 |
DESK |
-77.2 |
40.0 |
TOP DRAWER INC. |
X-52-44 |
249.95 |
Порядок вывода полей соответствует порядку описания полей в файле шаблона. Файлы, полученные после вывода атрибутов, могут использоваться в других приложениях, включая электронные таблицы. О порядке работы с данными других приложений см. документацию по используемому приложению обработки электронных таблиц. Если открыть файл в текстовом редакторе или текстовом процессоре, то данные из файла можно вставить в чертеж в виде текста с помощью буфера обмена.
Строка BL:LEVEL шаблона определяет уровень вложенности блока. Блок, вставленный в чертеж, имеет уровень вложенности, равный 1. Вхождение блока, являющееся частью другого блока (вложенное в другой блок), имеет уровень вложенности 2 и т.д.
Во вложенном вхождении блока координаты, масштабные коэффициенты, вектор выдавливания и угол поворота отражают реальные значения вложенного блока в Мировой системе координат.
В некоторых случаях, вложенные вхождения блоков невозможно корректно представить, оперируя только двумя масштабными коэффициентами и углом поворота. К таким случаям можно отнести вхождение блока, повернутое в трехмерном пространстве. В этой ситуации, масштабные коэффициенты и угол поворота в записях файла вывода отображаются значением 0.
Если заданная длина поля недостаточна для представления значения атрибута, то конец значения отсекается, затем появляется следующее сообщение:
** Переполнение в поле записи <номер_записи>
Подобная ошибка может произойти, например, если в шаблоне для поля BL:NAME указана длина поля 8, а в чертеже содержится имя длиной 10 символов.