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
Метод сбрасывает выделение со всех выделенных фигур.