TbtkScriptCadViewObject ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. pas:class:: TbtkShapeDisplayMode Перечисление. Описывает режим отображения фигур 3D-модели. .. warning:: |not_supported| .. pas:attribute:: sdmUndefined Отсутствие значения. Может быть возвращён, если получить значение невозможно. .. pas:attribute:: sdmWireFrame Каркасное отображение фигуры (только рёбра) .. pas:attribute:: sdmShaded Полное отображение фигуры (рисуются грани) .. _3DView_script: .. pas:class:: TbtkScriptCadViewObject Класс реализует API управления представлением 3D-модели. Даёт доступ к методам работы с камерой, детализацией модели, управлению режимами отображения модели и её составных частей. .. seealso:: Реализуется фреймами: * :class:`btkFrame.TbtkLookup3DViewFrame` .. warning:: |not_supported| Проекция ********* .. warning:: |not_supported| .. pas:class:: .. pas:method:: ZoomAll Метод подбирает размер модели таким образом, чтобы она оказалась вписана в размеры окна просмотрщика .. pas:method:: SetProjection(X, Y, Z: Double) Метод выставляет угол обзора камеры. На данный момент поддерживаются только следующие значения координат: -1, 0, 1. :param Double X: Положение камеры по оси координат `X` :param Double Y: Положение камеры по оси координат `Y` :param Double Z: Положение камеры по оси координат `Z` .. pas:method:: GetDetected: array of THandle Массив содержащий фигуру над которой находится мышь, если под мышью нет фигур - пустой массив. :rtype: array :returns: Если мышь над фигурой - массив из этой фигуры, иначе - пустой массив. .. code-block:: delphi :caption: Пример операции всплывающего меню detected := Selection.Controller.Cad.GetDetected; if Length(detected) > 0 then ShowMessage(Selection.Controller.Cad.GetShapeName(detected[0])); В результате выполнения данного кода будет показано сообщение с именем детали на которой было вызвано всплывающее меню. Фигуры ****** .. warning:: |not_supported| .. pas:class:: .. pas:method:: GetShapesByNames(Names: array of string): array of THandle Метод возвращает набор составных частей модели по имени. :param array Names: Массив имён фигур которые требуется найти и вернуть как результат. :rtype: array .. code-block:: delphi :caption: Пример поиска фигур по имени viewer := Selection.Controller.CAD; if not Assigned(viewer) then Exit; metalware := viewer.GetShapesByNames(['Bolt 8x16', 'Gayka 8']); viewer.SetSelected(metalware); В результате выполнения данного примера будут выделены болты и гайки .. pas:method:: GetShapeName(Shape: THandle): string Метод возвращает имя фигуры. :param THandle Shape: Фигура, чьё имя будет возвращено :rtype: string .. pas:method:: GetShapeSelected(Shape: THandle): Boolean Метод возвращает состояние выделенности фигуры. :param THandle Shape: Фигура, чьё состояние выделения будет возвращено :rtype: Boolean .. pas:method:: SetShapesColor(Shapes: array of THandle; Color: TColor) Метод задаёт цвет фигур. :param array Shapes: Фигуры, которым будет задан цвет. :param TColor Color: Новый цвет фигур. Не поддерживаются системные цвета (только RGB), кроме `clNone`. Если передать специальное значение `clNone` - цвет будет сброшен, просмотрщик будет использовать цвет по умолчанию. .. pas:method:: GetShapeColor(Shape: THandle): TColor Метод возвращает цвет фигуры. Если цвет не задан - возвращается значение `clNone` :param THandle Shape: Фигура, чей цвет будет возвращён :rtype: TColor .. pas:method:: SetShapesTransparent(Shapes: array of THandle; Value: Double) Метод задаёт значение прозрачности фигур. :param array Shapes: Фигуры, которым будет задано значение прозрачности. :param Double Value: Новое значение прозрачности для фигур из переданного набора. Допускается использование диапазона от 0 до 1, где 0 - непрозрачность, а 1 - полная прозрачность. .. pas:method:: GetShapeTransparent(Shape: THandle): Double Метод возвращает значение прозрачности фигуры. :param THandle Shape: Фигура, чьё значение прозрачности будет возвращено :rtype: Double :returns: Дробное значение от 0 до 1, где 0 - непрозрачность, а 1 - полная прозрачность (фигура невидима и отображается только каркас). .. pas:method:: SetShapesDisplayMode(Shapes: array of THandle; Value: TbtkShapeDisplayMode) Метод устанавливает режим отрисовки фигур. :param array Shapes: Фигуры, которым будет задан режим отображения. :param TbtkShapeDisplayMode Value: .. pas:method:: GetShapeDisplayMode(Shape: THandle): TbtkShapeDisplayMode Метод возвращает режим отображения фигуры. :param THandle Shape: Фигура, чей режим отображения будет возвращён :rtype: TbtkShapeDisplayMode .. pas:method:: SetShapesVisible(Shapes: array of THandle; Value: Boolean) Метод устанавливает видимость фигур. :param array Shapes: Фигуры, которым будет задана видимость. :param Boolean Value: .. pas:method:: GetShapeVisible(Shape: THandle): Boolean Метод возвращает видимость фигуры. :param THandle Shape: Фигура, чья видимость будет возвращена :rtype: Boolean Выделение ********* .. warning:: |not_supported| .. pas:class:: .. pas:method:: GetSelected: array of THandle Метод возвращает набор выделенных фигур модели. :rtype: array .. pas:method:: SetSelected(Shapes: array of THandle) Метод задаёт текущее выделение в просмотрщике. :param array Shapes: Фигуры которые будут выделены после выполнения метода .. pas:method:: AddSelected(Shapes: array of THandle) Дополнить существующее выделение заданным набором фигур :param array Shapes: Фигуры которые будут добавлены к существующему выделению. Если какая-либо фигура уже состоит в выделении - с ней ничего не произойдёт. .. pas:method:: RemoveSelected(Shapes: array of THandle) Снять выделение с заданного набора фигур :param array Shapes: Фигуры которые не будут выделенными после выполнения метода. Если какая-либо фигура из набора изначально не выделена - с ней ничего не произойдёт. .. pas:method:: ToggleSelected(Shapes: array of THandle) Изменить выделение фигур из набора :param array Shapes: Все переданные фигуры изменят своё состояние выделения. Кто был выделен - перестанет. Кто нет - станет. .. pas:method:: ClearSelected Метод сбрасывает выделение со всех выделенных фигур.