Файлы слайдов AutoCAD являются изображениями на экране, которые записываются командой ДСЛАЙД и читаются командой СЛАЙД. В этом разделе приводится описание формата файлов слайдов для разработчиков, которым требуется добавить поддержку слайдов в программы.
Файл слайда состоит из заголовка (31 байт) и одной или нескольких записей данных переменной длины. Все координаты и размеры, записанные в файле слайда, отражают область чертежа на мониторе, на основе которого слайд был создан, при этом начальная точка (0,0) располагается в левом нижнем углу области чертежа. В AutoCAD версии 9 или более поздней заголовок файла слайда состоит из следующих полей:
Заголовок файла слайда |
||
---|---|---|
Поле |
Байты |
Описание |
Строка идентификатора |
17 |
"AutoCAD Slide" CR LF ^Z NUL |
Индикатор типа |
1 |
Текущее значение — 56 (десятичное) |
Индикатор уровня |
1 |
Текущее значение — 2 |
Верхняя точка X |
2 |
Ширина графической области: 1 (пкс) |
Верхняя точка Y |
2 |
Высота графической области: 1 (пкс) |
Соотношение сторон |
4 |
Соотношение сторон области чертежа (горизонтальный размер/вертикальный размер в дюймах) в масштабе 10 000 000. Это значение всегда записывается с наименее значимым байтом в начале. |
Аппаратная заливка |
2 |
0 или 2 (значение несущественно) |
Проверочный номер |
2 |
Число (1234, шестнадцатеричное), используемое для определения того, записаны ли все двухбайтовые значения в слайде со старшим байтом в начале (процессоры семейства Intel 8086) или младшим байтом в начале (процессоры семейства Motorola 68000). |
Записи данных следуют за заголовком. Каждая запись данных начинается с двухбайтового поля, где старший байт является типом записи. Оставшаяся часть записи может состоять из одно- или двухбайтовых полей, как описано в следующей таблице. Чтобы определить, записаны ли все двухбайтовые значения в слайде со старшим байтом или младшим байтом в начале, проверьте поле проверочного номера заголовка, приведенное в таблице выше.
Записи данных файла слайда |
|||
---|---|---|---|
Тип записи (шестнадцатеричный) |
Байты |
Расшифровка |
Описание |
00-7F |
8 |
Vector |
Значение координат "от X" для обычного вектора. Значения "От Y", "до X" и "до Y" задаются следом в указанном порядке как двухбайтовые значения. Точка "от" сохраняется в качестве последней точки. |
80-FA |
— |
Неопределено |
Зарезервировано для дальнейшего использования |
FB |
5 |
Вектор смещения |
Младший байт и следующие три байта указывают конечные точки (от X, от Y, до X, до Y) вектора, полученного в результате смещения (от -128 до +127) от последней сохраненной точки. Скорректированная точка "от-" сохраняется в качестве последней точки для использования в последующих векторах |
FC |
2 |
Конец файла |
Младший байт — 00 |
FD |
6 |
Сплошная заливка |
Младший байт — всегда 0. Два последующих двухбайтовых значения — это координаты X и Y одной из вершин многоугольника, к которому применяется сплошная заливка. От трех до десяти таких записей может быть указано последовательно. Запись сплошной заливки с отрицательной координатой Y обозначает начало или конец такой последовательности заливки. В записи начала заливки координата X обозначает количество записей вершин, которые должны быть обработаны. |
FE |
3 |
Общие конечная точка вектор |
Это вектор, исходящий из последней точки. Младший байт и последующий байт — это значения "до X" и "до Y", полученные путем смещения (от -128 до +127) от последней сохраненной точки. Скорректированная точка "до-" сохраняется в качестве последней точки для использования в последующих векторах |
FF |
2 |
Новый цвет |
Последующие векторы будут нарисованы с использованием цвета, номер которого обозначен младшим байтом. |
Если слайд не содержит векторов, запись нового цвета будет первой записью данных. Порядок векторов в слайде и порядок конечных точек этих векторов могут отличаться.
Например, ниже приводится аннотированной шестнадцатеричный дамп обычного файла слайда, созданного на ПК IBM /AT с расширенным графическим адаптером IBM. Слайд состоит из белой диагональной линии, проходящей из левого нижнего угла в правый верхний угол области чертежа, зеленой вертикальной линии рядом с левым нижним углом и маленького красного прямоугольника в левом нижнем углу.
41 75 74 6F 43 41ID string (“AutoCAD Slide” CR LF ^Z NUL)44 20 53 6C 69 64 65 0D 0A 1A 00 56Type indicator (56)02Level indicator (2)3C 02High X dot (572)24 01High Y dot (292)0B 80 DF 00Aspect ratio (14,647,307 / 10,000,000 = 1.46)02 00Hardware fill (2)34 12Test number (1234 hex)07 FFNew color (7 = white)3C 02 24 01 00 00 00 00Vector from 572,292 to 0,0. 572,292 becomes “last”point3 FFNew color (3 = green)0F 00 32 00 0F 00 13 00Vector from 15,50 to 15,19. \x1115,50 becomes“last” point01 FFNew color (1 = red)12 FB E7 12 CEOffset vector from 15+18,50-25 (33,25) to 15+18,50-50 (33,0). 33,25 becomes “last” pointDF FE 00Common-endpoint vector from 33,25 to 33-33,25+0(0,25). 0,25 becomes “last” point00 FE E7Common-endpoint vector from (0,25) to 0+0,25-25(0,0). 0,0 becomes “last” point21 FE 00Common-endpoint vector from (0,0) to 0+33,0+0(33,0).33,0 becomes “last” point00 FCEnd of file