Управление отображением (макро)

Материал из GEOS_WIKI
Перейти к: навигация, поиск

Эта глава о работе с изображением в макропрограммировании. О работе с изображением в интерфейсе К3-Мебель читайте здесь

Команды, описываемые в данном разделе не создают и не изменяют объектов сцены. Они служат для работы с видовыми окнами в смысле отображения информации.

Создать эпюр Монжа

epure <VPort>

Команда epure располагает проекции на видовых окнах таким образом, чтобы получился эпюр Монжа с базовым видом - по видовому окну с номером <VPort>. Эпюром Монжа (назван в честь Гаспара Монжа, французского архитектора) называют направление видов чертежа, применяемое сейчас при черчении. Отличительная особенность - наличие проекционной связи между видами чертежа.

Скрыть невидимые линии

hide

Команда hide осуществляет векторное удаление невидимых линий в текущем окне. В K3 существует возможность растрового удаления невидимых линий. Поэтому следует различать растровое удаление невидимых линий и векторное, описанное в данном разделе.

Погасить объекты

Команда invisible имеет несколько режимов работы, которые представлены ниже.


invisible [partly|tree|wholly|allscene] <Objects>

Команда гасит (делает невидимыми на всех видовых окнах) объекты <Objects>.


invisible allvport [partly|tree|wholly|allscene] <Objects>

Команда гасит (делает невидимыми на всех видовых окнах) объекты <Objects>. Данная команда является синонимом предыдущей команды.


invisible rendervport [partly|tree|wholly|allscene] <Objects>

Команда гасит (делает невидимыми на всех полутоновых видовых окнах) объекты <Objects>.


invisible norendervport [partly|tree|wholly|allscene] <Objects>

Команда гасит (делает невидимыми на всех векторных видовых окнах) объекты <Objects>.

С погашенным объектом нельзя производить никаких действий. Однако, команды подсчета количества объектов его "считают". Наличие погашенных объектов является неприятной ошибкой при создании прототипов, поскольку прототип должен состоять только из одного объекта, а в сцене в этот момент возможно, есть погашенные объекты.

Включить погашенные объекты

Команда visible имеет несколько режимов работы, которые представлены ниже.


visible [partly|tree|wholly|allscene] <Objects>

Команда включает (делает видимыми на всех видовых окнах) объекты <Objects>.


visible allvport [partly|tree|wholly|allscene] <Objects>

Команда включает (делает видимыми на всех видовых окнах) объекты <Objects>. Данная команда является синонимом предыдущей команды.


visible rendervport [partly|tree|wholly|allscene] <Objects>

Команда включает (делает видимыми на всех полутоновых видовых окнах) объекты <Objects>.


visible norendervport [partly|tree|wholly|allscene] <Objects>

Команда включает (делает видимыми на всех векторных видовых окнах) объекты <Objects>.

Перерисовать изображение

redraw all | <VPort>

Команда redraw перерисовывает изображение на видовом окне с номером <VPort> или на всех видовых окнах (all).

Данная команда не изменяет режим отображения (векторный, растровый) и не отменяет команду удаления невидимых линий. Команда лишь "освежает" изображение, восстанавливая те его (изображения) части, которые "пострадали" в результате работы над изображением. Такое возможно, например, если был удален объект, ребра которого совпадают с ребрами объекта, находящегося в сцене. Тогда ребра последнего объекта не будут видны четко.

Регенерировать изображение

regen all | <VPort>

Команда regen регенерирует (пересоздает) изображение на видовом окне с номером <VPort> или на всех видовых окнах (all).

Обновить экран

renew

Команда renew обновляет экран K3, включая меню, панели инструментов и пр. Данная команда в макропрограммах не используется.

Панорама изображения

pan [auto] ^x1,y1,z1 ^x2,y2,z2

Команда pan панорамирует (перемещает изображение, не объекты, а изображение!!!) в текущем окне. То есть, точка на плоскости видового окна с координатами x1,y1,z1 перемещается в точку x2,y2,z2. Соответствующим образом перемещается и изображение.

Необязательный ключ auto позволяет зациклить команду.

Масштабирование изображения

Команда zoom осуществляет масштабирование изображения (не объектов, а изображения) в видовых окнах. Команда имеет несколько режимов работы, которые представлены ниже.


zoom [viewall | oneview] <Scale>

Команда изменяет масштаб изображения в текущем видовом окне согласно параметру <Scale>. Параметр должен быть строго больше нуля. Значение параметра больше единицы увеличивает изображение, меньше единицы - уменьшает изображение. Необязательный ключ viewall позволяет устанавливать масштаб не в текущем, а во всех видовых окнах. Необязательный ключ oneview позволяет устанавливать масштаб не во всех видовых окнах, а в текущем видовом окне.


zoom [viewall | oneview] all

Команда устанавливает масштаб изображения в текущем видовом окне таким образом, чтобы все изображение поместилось в видовое окно. Необязательный ключ viewall позволяет устанавливать масштаб не в текущем, а во всех видовых окнах. Необязательный ключ oneview позволяет устанавливать масштаб не во всех видовых окнах, а в текущем видовом окне.


zoom [viewall | oneview] extents

Команда устанавливает масштаб изображения в текущем видовом окне таким образом, чтобы весь габаритный параллелепипед модели поместился в видовое окно. Необязательный ключ viewall позволяет устанавливать масштаб не в текущем, а во всех видовых окнах. Необязательный ключ oneview позволяет устанавливать масштаб не во всех видовых окнах, а в текущем видовом окне.


zoom window ^x1,y1,z1 ^x2,y2,z2

Команда изменяет масштаб изображения таким образом, чтобы в видовое окно поместилась часть изображения, попадающая в рамку с диагональю от токи с координатами ^x1,y1,z1 до точки с координатами ^x2,y2,z2.


zoom adjust <VPort>

Команда позволяет установить масштаб изображение в видовых окнах таким образом, чтобы изображения находились в проекционной связи между собой. За базовый берется вид в видовом окне с номером <VPort>.


zoom previous

Команда позволяет установить масштаб изображения, который был предыдущим установленным.


zoom [viewall] byobjects <Objects>

Команда устанавливает масштаб изображения таким образом, чтобы габариты объектов <Objects> вписались в видовое окно. Если выбран ключ viewall, то масштаб изображения устанавливается на всех видовых окнах.

Режимы отображения объектов на экране

stdisplay

Команда stdisplay позволяет изменить режимы отображения объектов на экране. Команда имеет несколько режимов работы, которые представлены ниже.

stdisplay backface on | off

Команда включает (on) или отключает (off) отображение задних граней объектов.


stdisplay ibox on | off

Команда включает (on) или отключает (off) режим игнорирования отображения габаритным параллелепипедом.


stdisplay dbpoint on | off

Команда включает (on) или отключает (off) отображение базовой точки.


stdisplay vi_approximation <D>

Команда устанавливает точность аппроксимации дуг при отображении на экране равным параметру <D>.


stdisplay margin <Z>

Команда устанавливает зазор между габаритами изображения и границами видового окна (в процентах) равным параметру <Z>.


stdisplay asize <P>

Команда устанавливает размер изображения осей ПСКпикселах) равным <P>.


stdisplay constr on | off

Команда включает (on) или отключает (off) отображение конструктивных ребер.


stdisplay sketch on | off

Команда включает (on) или отключает (off) отображение очерковых ребер.


stdisplay cond on | off

Команда включает (on) или отключает (off) отображение условно-отображаемых ребер.


stdisplay approch on | off

Команда включает (on) или отключает (off) отображение ребер аппроксимации.


stdisplay dummy on | off

Команда включает (on) или отключает (off) отображение мусорных ребер.


stdisplay full on | off

Команда включает (on) или отключает (off) режим отображения всех ребер.


stdisplay grfcoeff [absolute | relative] <Coeff>

Команда позволяет установить общий графический масштаб равным значению параметра <Coeff>. Ключи absolute и relative определяют абсолютную или относительную величину графического масштаба соответственно. То есть, устанавливается ли масштаб равным значению параметра <Coeff> или вычисляется путем умножения текущего графического масштаба на величину <Coeff>. По умолчанию действует ключ absolute.

rendmode

rendmode

Команда позволяет задать способ отображения объектов сцены в видовом окне.


rendmode <Vport> <Mode>

Команда устанавливает способ отображение объектов в видовом окне с номером <Vport> в соответствии в режимом <Mode>. Режим <Mode> может принимать следующие значения:

0 - каркасом;
1 - с удалением невидимых линий;
2 - полутоновое изображение.

Динамические панорама и масштабирование

dpan

Команда dpan позволяет установить динамический режим панорамирования изображения с помощью мыши. Данная команда в макропрограммах не используется.


dzoom

Данная dzoom команда позволяет установить динамическое изменение масштаба с помощью мыши. Данная команда в макропрограммах не используется.

Вывод изображения на экран

vimage on | off

Команда vimage включает (on) или отключает (off) режим вывода результата графических команд в видовые окна. По умолчанию, режим включен. При выключенном режиме результат работы команд в видовые окна не выводится, а существует исключительно в памяти компьютера. Благодаря этому происходит ускорение работы команд.

Параллелепипед видимости

Изображение, отсеченное по параллелепипеду видимости

Параллелепипедом видимости называется прямоугольный параллелепипед, грани которого ограничивают вывод отображения на экран. Он может быть включен, выключен, погашен и нарисован.

#st visbox {on | off | switch | offdisplay | ondisplay | {visbox [4points] <Point1> <Point2> <Point3> [<Point4>]} done

Команда visbox осуществляет работу с параллелепипедом видимости согласно введенным ключам:

  • on — включает отсечение параллелепипедом видимости;
  • off — выключает отсечение параллелепипедом видимости;
  • switch — переключает параллелепипед видимости. Если он был включен - включает. Если выключен - включает;
  • offdisplay — выключает отображение параллелепипеда видимости. То есть объекты, находящиеся вне параллелепипеда видимости будут или не будут отображаться в зависимости от ключей on или off. В то время, как сам параллелепипед не будет виден на экране;
  • ondisplay — включает отображение параллелепипеда видимости. То есть объекты, находящиеся вне параллелепипеда видимости будут или не будут отображаться в зависимости от ключей on или off. В то время, как сам параллелепипед будет виден на экране;
  • visbox — задает положение и размеры параллелепипеда видимости по трем (по умолчанию) или по четырем (4points) точкам. В случае задания параллелепипеда по трем точкам, первые две точки (<Point1> <Point2>) задают диагональ основания параллелепипеда, а третья (<Point3>) определяет его высоту. В случае четырех точек (4points) первые две точки (<Point1> <Point2>) задают положение одной из сторон основания параллелепипеда, третья (<Point3>) - высоту основания параллелепипеда, а четвертая (<Point4>) - высоту самого параллелепипеда.

В переменную st помещается 1, если команда произвела какое-то действие и 0, если не произвела. Используется это с ключами on и off Например, если было отсечение, а после команды с ключом off отсечение выключено, то переменная примет значение 1, так как действие произведено - режим переключен. Если же отсечения не было, и выполнена команда с ключом off, то переменная получит значение 0, так как действие не произведено - отсечение и так было выключено.