Перейти к основному содержимому

Viewer3D

Отображает 3D-модель

Позволяет визуализировать 3D-модели и выполнять с ними различные операции, например, следующие:

  • вращение;
  • масштабирование;
  • смена проекции;
  • сечения по плоскостям.

См. демонстрационный пример использования компонента в разделе https://<Platform_server_URL>/demo/p/ui-kit/Viewer3d/.

Свойства

AccessToken

Токен доступа к 3D-модели

Тип: undefined

AddAnnotations

Добавление объектов на сцену { value: [] }

Тип: object

AddComment

Свойство для обратной совместимости. Не рекомендуется использовать. Комментарий к выбранному объекту 3D-модели

Тип: string

AddCuttingPlanes

Добавление сечений на сцену { value: [] }

Тип: object

AddDimension

Включение режима сцены для добавления точек измерения расстояния на выбранных объектах 3D-модели

Тип: number

AddLightSource

Добавление точки освещения

Тип: object

AddNote

Комментарий к выбранному объекту 3D-модели

Тип: object

Значение по умолчанию: <pre>{
"value": ""
}</pre>

ApiSubPath

Дополнительный путь до API 3D сервиса, необходим для совместимости прошлых версий

Тип: string

Значение по умолчанию: /

BackendPath

URL-адрес бэкенд-сервиса 3D

Тип: string

Badge

Количественная информация в компонентах Menu, Accordion, Link, Text.

В качестве значения может использоваться объект с полями: counter (число), position ("post" или "pre"), color (цвет)

Тип: any

CSS

Массив строк-классов CSS-стилей, описанных в файле CSS.css DevTools-проекта или встроенных CSS-стилей Платформы. Пример: // CSS-стиль, определяющий внешние (m) и внутренние (p) отступы для компонента. Число после символа "-" (в этом примере - 4) должно быть кратно величине, указанной в параметре, определяющем кратность отступов, в файле Style.mdtheme DevTools-проекта CSS={["m-4", "p-4"]}

Тип: array

CameraControls

Настройки вращения камеры, передаются массивом, например: { value: ["Pan", "Zoom", "Orbit", "Rotation"] }. Возможные значения: Pan - Перемещение в плоскости камеры, FreeRotation - Свободное вращение вокруг объекта, Orbit - Вращение объекта Rotation - Вращение вокруг объекта Zoom - Приближение к объектам

Тип: object

Значение по умолчанию: <pre>{}</pre>

CameraOrientation

Свойство для обратной совместимости. Не рекомендуется использовать. Ориентация камеры

Тип: enum

Возможные значения:

Down - снизу Front - спереди ISO - изометрически Left - слева Rear - сзади Right - справа Up - сверху

  • Значение для инициализации по умолчанию

CameraPosition

Ориентация камеры: снизу: { value: Down }, спереди: { value: Front }, слева: { value: Left }, сзади: { value: Rear }, справа: { value: Right }, сверху: { value: Up }, изометрически: { value: ISO }

Тип: object

Значение по умолчанию: <pre>{
"value": ""
}</pre>

CameraProjection

Свойство для обратной совместимости. Не рекомендуется использовать. Проекция камеры

Тип: enum

Возможные значения:

Orthogonal - Ортогональная Perspective - Перспективная

  • Значение для инициализации по умолчанию

CameraView

Проекция камеры: Параллельная: { value: Orthogonal, }, Перспективная: { value: Perspective, }

Тип: object

Значение по умолчанию: <pre>{
"value": ""
}</pre>

CaptureEvent

Событие сдвига камеры после однократной установки точки обзора

Тип: undefined

ChangeBackground

Измнить цвет фона ({ value: { fColor: "#FFFFFF", sColor: "#FFFFFF" }})

Тип: object

ColorElements

Окрашивание элементов по UUID

Тип: array

CombineConfig

Служебное свойство, используемое в визуальном режиме Редактора Форм, для присваивания значений свойствам компонента в виде генерируемых фрагментов кода. Запрещено изменять значение

Тип: object

CuttingPlane

Свойство для обратной совместимости. Не рекомендуется использовать. Сечение по точкам:

Тип: enum

Возможные значения:

OnePointPlaneXY - По одной точке XY OnePointPlaneXZ - По одной точке XZ OnePointPlaneYZ - По одной точке YZ ThreePointSlice - По трем точкам

  • Значение для инициализации по умолчанию

CuttingPlanesColors

Тип: object

Значение по умолчанию: <pre>{
"transparent": 0.3,
"rect": "#0000ff",
"lines": "#0000ff"
}</pre>

DisplayingObjects

Скрытие или отображение объектов: Скрытие выбранных объектов: { value: HideSelected }, Отображение выбранных объектов: { value: ShowSelected }, Отображение всех объектов: { value: ShowAll }

Тип: object

Значение по умолчанию: <pre>{
"value": ""
}</pre>

DisplayingObjectsIds

Отображение выбранных объектов ["someId1", "someId2"] или отображение всех объектов ["*"]

Тип: array

DynamicLoad

Тип: boolean

Значение по умолчанию: True

EnableBackground

Тип: boolean

Значение по умолчанию: True

Hidden

Признак состояния компонента Скрыт

Тип: boolean

HiddenObjectsIds

Скрытие выбранных объектов ["someId1", "someId2"] или скрытие всех объектов ["*"]

Тип: array

HighlightColor

Тип: string

Значение по умолчанию: #e1decd

HighlightCuttingPlaneId

Идентификатор подсвечиваемого сечения

Тип: string

HighlightPlaneMode

Подсвечивание сечения с идентификатором HighlightCuttingPlaneId

Тип: number

Hint

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

Тип: any

Hostname

Имя узла сервиса 3D

Тип: string

Id

Идентификатор компонента для навигации к нему на HTML-странице. Подробнее см. HTML id Attribute или ID

Тип: string

IdToClose

Идентификатор закрываемой 3D-модели

Тип: string

IdToOpen

Идентификатор открываемой 3D-модели

Тип: string

OnAddAnnotation

Обработчик события после добавленния объекта на сцену

Тип: undefined

OnClick

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

В качестве параметра принимает объект типа объект события компонента экранной формы с дополнительными полями типа MouseEvent. Пример:

OnClick={() => { // Получение параметра события const event = getEvent(); // Вывод параметра события в консоль console.log(event); }

Тип: undefined

OnCuttingPlane

Обработчик события добавления сечения по точкам

Тип: undefined

OnFPS

Тип: undefined

OnGetAnnotations

Обработчик события для получения всех объектов, добавленных на сцену

Тип: undefined

OnGetLightSources

Обработчик события по добавлению точек освещения

Тип: undefined

OnGettingCuttingPlanes

Обработчик события для получения всех сечений, добавленных на сцену

Тип: undefined

OnInitialize

Обработчик события инициализации контрола, возвращающий объект initResult

Тип: undefined

OnItemsSelect

Обработчик события выбора объектов 3D-модели; возвращает массив GUID-объектов модели на сцене

Тип: undefined

OnKeyDown

Обработчик события нажатия любой клавиши клавиатуры. В качестве параметра принимает объект типа объект события компонента экранной формы с дополнительными полями типа KeyboardEvent. Пример: OnKeyDown={() => { // Получение параметра события const event = getEvent(); // Вывод параметра события в консоль console.log(event); }

Тип: undefined

OnKeyUp

Обработчик события отпускания любой клавиши клавиатуры. В качестве параметра принимает объект типа объект события компонента экранной формы с дополнительными полями типа KeyboardEvent. Пример: OnKeyUp={() => { // Получение параметра события const event = getEvent(); // Вывод параметра события в консоль console.log(event); }

Тип: undefined

OnLightSourcesChanged

Тип: undefined

OnMouseDown

Обработчик события нажатия любой кнопки мыши, когда указатель мыши находится на компоненте. В качестве параметра принимает объект типа объект события компонента экранной формы с дополнительными полями типа MouseEvent. Пример: OnMouseDown={() => { // Получение параметра события const event = getEvent(); // Вывод параметра события в консоль console.log(event); }

Тип: undefined

OnMouseEnter

Обработчик события перемещения указателя мыши на компонент. Событие срабатывает только в случае, если указатель мыши находится за пределами компонента и пользователь перемещает указатель мыши внутрь компонента. Если указатель мыши в текущий момент находится внутри компонента, для срабатывания события пользователь должен переместить указатель мыши за пределы компонента, а затем обратно внутрь компонента. В качестве параметра принимает объект типа объект события компонента экранной формы с дополнительными полями типа MouseEvent. Пример: OnMouseEnter={() => { // Получение параметра события const event = getEvent(); // Вывод параметра события в консоль console.log(event); }

Тип: undefined

OnMouseLeave

Обработчик события перемещения указателя мыши за пределы компонента. Событие срабатывает, только если указатель мыши находится внутри компонента, а пользователь перемещает указатель мыши за пределы компонента. Если указатель мыши в текущий момент находится за пределами компонента, для срабатывания события пользователь должен переместить указатель мыши внутрь компонента, а затем обратно за пределы компонента. В качестве параметра принимает объект типа объект события компонента экранной формы с дополнительными полями типа MouseEvent. Пример: OnMouseLeave={() => { // Получение параметра события const event = getEvent(); // Вывод параметра события в консоль console.log(event); }

Тип: undefined

OnMouseMove

Обработчик события наведения указателя мыши на компонент. В качестве параметра принимает объект типа объект события компонента экранной формы с дополнительными полями типа MouseEvent. Пример: OnMouseMove={() => { // Получение параметра события const event = getEvent(); // Вывод параметра события в консоль console.log(event); }

Тип: undefined

OnMouseOut

Обработчик события перемещения указателя мыши за пределы компонента. Когда пользователь наводит указатель мыши на компонент, происходит одно событие MouseOver, за которым следует одно или несколько событий MouseMove, когда пользователь перемещает указатель мыши внутри компонента. Одно событие MouseOut возникает, когда пользователь выводит указатель мыши за пределы компонента. В качестве параметра принимает объект типа объект события компонента экранной формы с дополнительными полями типа MouseEvent. Пример: OnMouseOut={() => { // Получение параметра события const event = getEvent(); // Вывод параметра события в консоль console.log(event); }

Тип: undefined

OnMouseOver

Обработчик события перемещения указателя мыши на компонент. Событие возникает, когда пользователь наводит указатель мыши на компонент, и не повторяется до тех пор, пока пользователь не выведет указатель мыши за пределы компонента и затем не вернет его обратно. В качестве параметра принимает объект типа объект события компонента экранной формы с дополнительными полями типа MouseEvent. Пример: OnMouseOver={() => { // Получение параметра события const event = getEvent(); // Вывод параметра события в консоль console.log(event); }

Тип: undefined

OnMouseUp

Обработчик события отпускания кнопки мыши, когда указатель мыши находится на компоненте. В качестве параметра принимает объект типа объект события компонента экранной формы с дополнительными полями типа MouseEvent. Пример: OnMouseUp={() => { // Получение параметра события const event = getEvent(); // Вывод параметра события в консоль console.log(event); }

Тип: undefined

OnNumberTriangles

Тип: undefined

OnSaveView

Обработчик события для добавления точек обзора

Тип: undefined

OnUnmount

Обработчик события размонтирования согласно жизненному циклу экранной формы. Не имеет параметров. Пример:

OnUnmount={() => { // Отмена выполнения периодического действия при размонтировании экранной формы return clearInterval(getValue("pleerInterval")) } }

Тип: undefined

PlaneSlice

Сечение по точкам: По одной точке XY: { value: OnePointPlaneXY }, По одной точке XZ: { value: OnePointPlaneXZ }, По одной точке YZ: { value: OnePointPlaneYZ }, По трем точкам: { value: ThreePointSlice }

Тип: object

Значение по умолчанию: <pre>{
"value": ""
}</pre>

Port

Порт сервиса 3D

Тип: string

Print3DImage

Распечатать 3D изображение

Тип: number

Protocol

Протокол, который использует сервис 3D

Тип: string

Значение по умолчанию: https

RemoveComments

Свойство для обратной совместимости. Не рекомендуется использовать. Триггер для вызова команды удаления комментария с выбранных объектов 3D-модели

Тип: number

RemoveCommentsIds

Массив идентификаторов комментариев, которые должны быть удалены. Пример: ["someId1", "someId2"]

Тип: array

RemoveCuttingPlane

Удаление сечения с идентификатором RemoveCuttingPlaneId

Тип: number

RemoveCuttingPlaneId

Идентификатор удаляемого сечения

Тип: string

RemoveDimensions

Удаление указателей для измерения расстояния с выбранных 3D-моделей

Тип: number

RemoveDimensionsIds

Массив идентификаторов указателей (измерения расстояний на 3D-моделях), которые должны быть удалены. Пример: ["someId1", "someId2"]

Тип: array

RemoveLightSourceId

Удаление точки освещения

Тип: number

RenderMode

Настройки рендеринга сцены,передаются строкой например: { value: "shaded" }., Возможные значения: shaded - отображаются только поверхности модели, wireFrame - отображаются только ребра, shadedAndWireFrame - поверхности и ребра модели отображаются вместе

Тип: object

Значение по умолчанию: <pre>{}</pre>

ResetHighlightPlaneMode

Удаление подсветки сечений

Тип: number

SavingImageFileName

Сохранение изображения 3D ({ value: "screen-shot.png" })

Тип: object

SelectByColor

Выбор объектов с одинаковым цветом ({ value: "#FFFFFF" })

Тип: object

SelectByOpacity

Выбор объектов с одинаковой прозрачностью

Тип: number

SelectedObjects

Выбранные объекты 3D-модели

Тип: array

SelectionColor

Тип: string

Значение по умолчанию: #fdec04

ServiceName

Имя сервиса 3D

Тип: string

Значение по умолчанию: integration3d

SetLightSourceOn

Включение/выключение всех точек освещения

Тип: boolean

Значение по умолчанию: True

SetLightSources

Добавление точек освещения

Тип: object

SetViewPoint

Установка камеры в передаваемую точку обзора ({view: savedOrientation, duration: 1000}).

Тип: object

Show3DComponent

Тип: boolean

Значение по умолчанию: True

Slot

Именованное пространство во фрагменте экранной формы.

Тип: string

SurfaceInterpretation

Признак включения режима отображения поверхности объекта

Тип: boolean

Tolerance

Радиус в пикселях для поиска ближайших точек

Тип: number

Tooltip

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

Тип: any

TraceId

Идентификатор для отслеживания состояния компонента исходя из жизненного цикла экранной формы. Используется для выполнения фрагмента кода по изменению состояния компонента

Тип: string

TriggerFetchAndUpdateLights

Тригерр для вызова обработчика события по получению точек освещения, добавленных на сцену

Тип: number

TriggerFetchAndUpdateView

Инкремент делегата для запуска внешней функции контрола Viewer3d (getView)

Тип: number

TriggerGetAnnotations

Тригерр для вызова обработчика события по получению всех объектов, добавленных на сцену

Тип: number

TriggerGetCuttingPlanes

Тригерр для вызова обработчика события по получению сечений, добавленных на сцену

Тип: number

UnloadLoadedModels

Признак очистки 3D-модели, загруженной перед добавлением новой 3D-модели в рабочую область

Тип: boolean

UseLogger

Признак записи в журнал команд, переданных в API C3D Viewer. Информация журнала также записывается консоль браузера

Тип: boolean

ViewMode

Переключатель режима работы сцены

Тип: enum

Значение по умолчанию: selection

Возможные значения:

selection - Режим выбора объектов на сцене default - Режим по умолчанию

VisibilityObjects

Свойство для обратной совместимости. Не рекомендуется использовать. Скрытие или отображение выбранных элементов

Тип: enum

Возможные значения:

HideSelected - Скрытие выбранных объектов ShowSelected - Отображение выбранных объектов ShowAll - Отображение всех скрытых объектов

  • Значение для инициализации по умолчанию

Visible

Признак инверсии состояния компонента Скрыт

Тип: boolean

Значение по умолчанию: True

ZoomFitAll

Масштабирование всех объектов 3D-модели согласно размеру сцены

Тип: number

ZoomFitSelected

Масштабирование выбранных объектов 3D-модели согласно размеру сцены

Тип: number

Примеры

Скрипты:


setState({
triggerFetchAndUpdateView: 0,
viewPointsArray: [],
selectedViewPoint: undefined,
triggerGetAnnotations: 0,
allAnnotations: [],
triggerGetCuttingPlanes: 0,
allCuttingPlanes: []
})

JSX:

<Group >
<Viewer3D
ServiceName="c3dservice/"
BackendPath="/c3drpc"
AccessToken={()=>"Bearer " + getToken()}
/>
&lt;/Group>