Управление отображением
Команды, описываемые в данном разделе не создают и не изменяют объектов сцены. Они служат для работы с видовыми окнами в смысле отображения информации.
Создать эпюр Монжа
epure <VPort>
Команда epure располагает проекции на видовых окнах таким образом, чтобы получился эпюр Монжа с базовым видом — по видовому окну с номером <VPort>
. Эпюром Монжа (назван в честь Гаспара Монжа, французского архитектора) называют направление видов чертежа, применяемое сейчас при черчении. Отличительная особенность — наличие проекционной связи между видами чертежа.
Погасить объекты
Команда 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
).
Панорама изображения
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 — полутоновое изображение с использованием наложенных текстур;
- 3 - полутоновое изображение цветом объекта;
- 4 - настраиваемое отображение видимых и невидимых линий;
- 5 - полутоновое рисования цветом, зависящим от характеристик вершин (отклонение нормали от вертикали).
Динамические панорама и масштабирование
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, так как действие не произведено — отсечение и так было выключено.