Импорт 3D-объектов (Управление данными)

Краткая информация

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

Использование

  • Векторный класс 3D-объектов предоставляет способ хранить, назначать географическую привязку и визуализировать 3D-модели в ArcGIS AllSource с помощью встроенных возможностей отображения, таких как световые эффекты, отражение и материалы.

    Подробнее о векторном слое 3D-объектов

  • Геометрия векторного класса 3D-объектов может быть использована в любом инструменте геообработки, поддерживающем объекты-мультипатч. Например, векторный слой 3D-объектов может использоваться для анализа линий видимости в инструментах Линия видимости и Взаимная видимость, или определить влияние теней в инструментах Частота затенения и Объемный теневой объект.

  • С помощью этого инструмента можно создавать векторные слои 3D-объектов напрямую, без необходимости импортировать 3D-модели в мультипатч или усовершенствовать мультипатч для расширения возможностей векторных слоев 3D-объектов. Этот инструмент также поддерживает больше форматов 3D-моделей, чем инструмент Импорт 3D-файлов. Можно импортировать следующие 3D-форматы:

    • COLLADA (.dae)
    • Рисунок (.dwg)
    • Autodesk Фильмбокс (.fbx)
    • Передача графической библиотеки (Graphics Library Transmission) (.glb)
    • Передача графической библиотеки JSON (JSON Graphics Library Transmission) (.gltf)
    • Industry Foundation Class (.ifc)
    • Wavefront Object (.obj)
    • Универсальное описание сцены (.usdc)
    • Сжатое универсальное описание сцены (.usdz)
  • Если создается векторный класс 3D-объектов и импортируемые модели имеют пространственную привязку, то векторный класс 3D-объектов наследует систему координат моделей. Если импортируемые модели не имеют системы координат, то в качестве системы координат на выходе будет использоваться WGS 1984 Web Mercator (WKID 3857), в которой используются линейные единицы измерения - метры. Если 3D-модели имеют линейные единицы измерения, то ее координаты будут автоматически преобразованы для соответствия выходной проекции. Когда у 3D-моделей нет заданных линейных единиц, параметр Коэффициент масштабирования может использоваться для применения соответствующего преобразования.

Параметры

ПодписьОписаниеТип данных
Входные 3D-файлы или 3D-папки

3D-файлы или папки, содержащие 3D-файлы, которые будут импортированы. При выборе папки будут импортированы все поддерживаемые 3D-модели, содержащиеся в ней и ее подкаталогах.

Поддерживаются следующие модели:

  • COLLADA (.dae)
  • Рисунок (.dwg)
  • Autodesk Фильмбокс (.fbx)
  • Передача графической библиотеки (Graphics Library Transmission) (.glb)
  • Передача графической библиотеки JSON (JSON Graphics Library Transmission) (.gltf)
  • Industry Foundation Class (.ifc)
  • Wavefront Object (.obj)
  • Универсальное описание сцены (.usdc)
  • Сжатое универсальное описание сцены (.usdz)
File; Folder
Выходной класс пространственных объектов 3D-объектов

Векторный слой 3D-объектов, который будет создан или обновлен.

Feature Layer
Стратегия обновления
(Дополнительный)

Определяет, как будет обновляться существующий векторный класс 3D-объектов.

  • Заменить все существующие моделиВсе существующие объекты в векторном классе 3D-объектов будут удалены, и будут добавлены только те 3D-модели, которые указаны в качестве входных.
  • Только обновить существующие модели3D-модели, которые существуют в векторном классе 3D-объектов, будут обновлены. Новые модели будут пропущены.
  • Обновить существующие модели и добавить новые3D-модели, существующие в векторном классе 3D-объектов, будут обновлены, а новые модели - добавлены. Это значение по умолчанию
  • Добавить все моделиВсе 3D-модели будут добавлены без замены тех, которые уже существуют в векторном классе 3D-объектов.
String
XY смещение
(Дополнительный)

Смещение x- и y-координаты, которое будет применяться к импортированным моделям.

Point
Смещение высоты
(Дополнительный)

Смещение по высоте, которое будет применяться к импортированным моделям.

Double
Масштабный коэффициент
(Дополнительный)

Коэффициент масштабирования, который будет использоваться для изменения размера импортируемых 3D-моделей.

Double
Угол поворота
(Дополнительный)

Угол поворота в градусах, который будет применяться к импортированным моделям. Поворот применяется с учетом того, что ноль градусов (0°) обозначает север, а угловые значения увеличиваются по часовой стрелке.

Double
Y наверху, если не указано в данных

Указывает, будут ли координаты y интерпретироваться как высота или как горизонтальная плоскость. Этот параметр поддерживается только для файлов Wavefront Object (.obj).

  • Отмечено — координаты Y будут интерпретироваться как высота. Это значение по умолчанию
  • Не отмечено — координаты Z будут интерпретироваться как высота.

Boolean

arcpy.management.Import3DObjects(files_and_folders, updated_features, {update}, {translate}, {elevation}, {scale}, {rotate}, y_is_up)
ИмяОписаниеТип данных
files_and_folders
[files_and_folders,...]

3D-файлы или папки, содержащие 3D-файлы, которые будут импортированы. При выборе папки будут импортированы все поддерживаемые 3D-модели, содержащиеся в ней и ее подкаталогах.

Поддерживаются следующие модели:

  • COLLADA (.dae)
  • Рисунок (.dwg)
  • Autodesk Фильмбокс (.fbx)
  • Передача графической библиотеки (Graphics Library Transmission) (.glb)
  • Передача графической библиотеки JSON (JSON Graphics Library Transmission) (.gltf)
  • Industry Foundation Class (.ifc)
  • Wavefront Object (.obj)
  • Универсальное описание сцены (.usdc)
  • Сжатое универсальное описание сцены (.usdz)
File; Folder
updated_features

Векторный слой 3D-объектов, который будет создан или обновлен.

Feature Layer
update
(Дополнительный)

Определяет, как будет обновляться существующий векторный класс 3D-объектов.

  • REPLACE_ALLВсе существующие объекты в векторном классе 3D-объектов будут удалены, и будут добавлены только те 3D-модели, которые указаны в качестве входных.
  • UPDATE_EXISTING3D-модели, которые существуют в векторном классе 3D-объектов, будут обновлены. Новые модели будут пропущены.
  • UPDATE_EXISTING_ADD_NEW3D-модели, существующие в векторном классе 3D-объектов, будут обновлены, а новые модели - добавлены. Это значение по умолчанию
  • ADD_ALLВсе 3D-модели будут добавлены без замены тех, которые уже существуют в векторном классе 3D-объектов.
String
translate
(Дополнительный)

Смещение x- и y-координаты, которое будет применяться к импортированным моделям.

Point
elevation
(Дополнительный)

Смещение по высоте, которое будет применяться к импортированным моделям.

Double
scale
(Дополнительный)

Коэффициент масштабирования, который будет использоваться для изменения размера импортируемых 3D-моделей.

Double
rotate
(Дополнительный)

Угол поворота в градусах, который будет применяться к импортированным моделям. Поворот применяется с учетом того, что ноль градусов (0°) обозначает север, а угловые значения увеличиваются по часовой стрелке.

Double
y_is_up

Указывает, будут ли координаты y интерпретироваться как высота или как горизонтальная плоскость. Этот параметр поддерживается только для файлов Wavefront Object (.obj).

  • Y_IS_UPКоординаты Y будут интерпретироваться как высота. Это значение по умолчанию
  • Z_IS_UPКоординаты Z будут интерпретироваться как высота.
Boolean

Пример кода

Import3DObjects пример (окно Python)

В следующем примере показано использование этого инструмента в окне Python.

import arcpy
arcpy.env.workspace = 'C:/project_directory'

arcpy.management.Import3DObjects("import_models", 
                                 "city_models.gdb/Downtown_Buildings", 
                                 update="ADD_ALL", translate="50 100.5", 
                                 elevation=-52.73, scale=0.3048, rotate=15.25)
Import3DObjects пример (рабочий процесс)

В следующем примере показано использование этого инструмента как автономного скрипта Python.

import arcpy
arcpy.env.workspace = 'C:/project_directory'

# Export the feature class or layer to model files on disk
arcpy.management.Export3DObjects("city_models.gdb/Downtown_Buildings", 
                                 "exported_models", ["FMT3D_IFC"])

# Optionally, edit the exported model files in other software, or replace the 
# files with a new version. 
# Keep the file names the same to update existing features. New file names are
# interpreted as new features.

# The input folder and feature class or layer in Import 3D Objects are the same
# values used in Export 3D Objects.
arcpy.management.Import3DObjects("exported_models", 
                                 "city_models.gdb/Downtown_Buildings", 
                                 update="UPDATE_EXISTING_ADD_NEW", 
                                 translate="350 150",
                                 elevation=100, scale=2.54, rotate=-90)

Связанные разделы