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

Материал из K3-Macro
Макро | Работа с видом | Видовые окна | Параметры проецирования | Управление отображением | Фотовизуализация

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

Создать эпюр Монжа[править | править код]

epure <VPort>

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

Скрыть невидимые линии[править | править код]

hide

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

Погасить объекты[править | править код]

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


invisible [partly|wholly] <Objects>

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


invisible allvport [partly|wholly] <Objects>

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


invisible rendervport [partly|wholly] <Objects>

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


invisible norendervport [partly|wholly] <Objects>

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

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

Включить погашенные объекты[править | править код]

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


visible [partly|wholly] <Objects>

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


visible allvport [partly|wholly] <Objects>

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


visible rendervport [partly|wholly] <Objects>

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


visible norendervport [partly|wholly] <Objects>

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

Перерисовать изображение[править | править код]

redraw all | <VPort>

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

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

immediately

Команда immediately мгновенно обновляет текущее изображение во всех видовых окнах. Во время исполнения макропрограммы "К3-Мебель" работает в режиме отложенного вывода, то есть изменения, происходящие с объектами, будут отображены тогда, когда будет осуществлён выход в интерактивный режим работы или выполнение макропрограммы будет завершено. Но иногда требуется отобразить текущее состояние объектов. Такая необходимость может возникнуть, например, если в скрипте на Python создано диалоговое окно, из которого вызываются команды "К3-Мебель". Чтобы результат работы команды был отображён на экране сразу, а не после закрытия диалогового окна, необходимо вызвать команду immediately.

Регенерировать изображение[править | править код]

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

Начиная с версии 8.0 ключ previous больше не поддерживается. Вместо zoom previous можно использовать view save - view restore

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


zoom [viewall] byobjects [partly | wholly] <Objects>

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

  • partly — необязательный ключ, позволяющий выбирать объекты на любом уровне;
  • wholly — необязательный ключ, позволяющий выбирать объекты только на верхнем уровне;

Режимы отображения объектов на экране[править | править код]

stdisplay[править | править код]

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


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, так как действие не произведено - отсечение и так было выключено.


Макро | Работа с видом | Видовые окна | Параметры проецирования | Управление отображением | Фотовизуализация