Экспорт изображения объектов сцены
ExportVI
Logical ExportVI(Object ARRAY <Obj>, INT <NumObj>, double ARRAY <View>, STRING <FileName>, INT <Hide>[, INT <ExportType>, INT <Mono>, INT <Opt>])
Функция осуществляет экспорт объектов в массиве <Obj> в количестве <NumObj> штук в файл с именем <FileName>. В массиве <View> должны находится координаты вектора проецирования сцены.
Параметр <Hide> содержит режим экспорта:
- 0 — векторно без удаления невидимых линий;
- 1 — векторно с удалением невидимых линий;
- 2 — растрово с текстурами (только для функции с 5-ю параметрами);
- 3 — фотореалистически (только для функции с 5-ю параметрами);
- 4 — растрово цветом объекта (только для функции с 5-ю параметрами);
- 5 — растрово с удалением невидимых линий (только для функции с 5-ю параметрами).
Необязательные параметры:
<ExportType> — тип экспорта (см. Запись изображения в формате других систем).
- 0 — FRG (векторный формат),
- 1 — DXF (векторный формат),
- 2 — HP (векторный формат),
- 3 — PIC (векторный формат),
- 4 — WMF (векторный формат),
- 5 — BMP (растровый формат),
- 6 — JPEG (растровый формат),
- 7 — GIF (растровый формат),
- 8 — TGA (растровый формат),
- 9 — K3 (векторный формат),
- 10 — PDF (растровый формат),
- 11 — PNG (векторный формат),
- 12 — EMF (векторный формат),
- 13 — SVG (векторный формат).
<Mono> — цветность изображения
- 0 — цветное
- 1 — монохром
<Opt> — управление наложением отрезков
- 0 — не удалять накладывающиеся отрезки
- 1 — исключить наложение отрезков
Если задано только пять обязательных параметров, то функция открывает диалоговое окно, в котором выводится изображение объектов и есть возможность его зуммированияи/или панорамирования, вывода на принтер и экспорт в файл в различных форматах.
Стоит иметь в виду, что экспорт в векторные форматы может принимать значения параметра <Hide> только 1 или 0.
Функция возвращает:
- 1 — Экспорт осуществлен успешно
- 0 — Произошла ошибка
ExportVIM
INT ExportVIM(Object ARRAY <Obj>, INT <NumObj>, double ARRAY <View>, STRING <FileName>, INT <Hide>, INT <Mode>, STRING <Title>)
Функция осуществляет вызов диалогового окна просмотра массива <Obj> изображений объектов в количестве <NumObj> с возможностью экспорта и печати
Входные параметры:
<Obj> — массив указателей на объекты
<NumObj> — количество объектов
<View> — массив из трех чисел — вектор "проецирования" (используется только при добавлении первого изображения и задает аппарат проецирования у всех изображений)
<FileName> — полное имя файла для экспорта (можно без расширения)
<Hide> — режим удаления невидимых линий:
- 0 — без удаления невидимых линий;
- 1 — с удалением невидимых линий
<Mode> — битовая маска:
- 0x001 — добавить изображение без открытия диалога;
- 0x002 — добавить изображение и открыть диалог по их просмотру (после просмотра массив изображений очищается)
- 0x004 — добавить изображение и создать многостраничный PDF-файл (после создания PDF-файла массив изображений очищается)
<Title> — строка в заголовке окна диалога (используется только при открытии диалога)
Функция возвращает:
- 1 — экспорт осуществлен успешно
- 0 — ошибка: массив изображений очищен
Пример:
// Макропрограмма демонстрирует работу функции ExportVIM
// для каждого объекта на сцене создается отдельное изображение
defarr view[3], objs[1];
view[1]=0.33;
view[2]=0.8;
view[3]=0.37;
title="Заголовок";
n=sysvar(60);
if (n>0)
{
i=1;
l:
if (i==n)
{
Mode=2;
}
else
{
Mode=1;
}
objs[1]=getobjnum(i);
name1=str(i);
ret=exportvim(objs,1,view,name1,1,Mode,Title);
if (ret==1)
{
i=i+1;
if (i<=n)
{
goto l;
}
}
}
exit;