Экспорт изображения объектов сцены

Материал из K3-Macro
Макро | Функции работы с объектами сцены | Инициализация списков объектов | Экспорт изображения объектов сцены | Выборка информации об объектах сцены | Функции работы с контурами | Проверка попадания объектов в область

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 (векторный формат).
Экспорт изображения

<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;

Макро | Функции работы с объектами сцены | Инициализация списков объектов | Экспорт изображения объектов сцены | Выборка информации об объектах сцены | Функции работы с контурами | Проверка попадания объектов в область