Импорт файлов 3D (3D Analyst)

Сводка

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

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

  • Сохраните текстуру 3D моделей, сохранив выходной мультипатч в базе геоданных. Шейп-файлы не поддерживают сохранение текстур.

  • Если верхняя сторона итоговых объектов-мультипатчей повернута вбок, попробуйте еще раз настроить ориентацию с помощью этого инструмента, включив параметр Y вверх (Ось Y направлена вверх).

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

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

    Примечание:

    Для файлов VRML не поддерживаются следующие типы геометрии: Box, Cone, Cylinder, Extrusion, PointSet, Sphere и Text.

Синтаксис

arcpy.3d.Import3DFiles(in_files, out_featureClass, {root_per_feature}, {spatial_reference}, {y_is_up}, file_suffix, {in_featureClass}, {symbol_field})
ParameterОбъяснениеТип данных
in_files
[in_files,...]

Одна или несколько моделей 3D или папок, содержащих такие файлы в поддерживаемых форматах, включая 3D Studio Max (*.3ds), VRML and GeoVRML (*.wrl), OpenFlight (*.flt), COLLADA (*.dae) и модели Wavefront OBJ (*.obj).

File; Folder
out_featureClass

Мультипатч, который будет создан на основе входных файлов.

Feature Class
root_per_feature
(Дополнительный)

Определяет, требуется ли создавать один объект для каждого файла, либо один объект для каждого корневого узла в файле. Данная опция применяется только к моделям VRML.

  • ONE_ROOT_ONE_FEATUREСоздаваемый выходной набор данных будет содержать один объект для каждого корневого узла в файле.
  • ONE_FILE_ONE_FEATUREСоздаваемый выходной набор данных будет содержать один файл для каждого объекта. Используется по умолчанию.
Boolean
spatial_reference
(Дополнительный)

Система координат входных данных. Для большинства форматов это неизвестная система координат. Только формат GeoVRML хранит свою систему координат, по умолчанию она будет получена из первого файла в списке, если не указана пространственная привязка.

Spatial Reference
y_is_up
(Дополнительный)

Определяет ось, которая задает вертикальную ориентацию входных файлов.

  • Z_IS_UPОсь Z направлена вверх. Используется по умолчанию.
  • Y_IS_UPОсь Y направлена вверх.
Boolean
file_suffix

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

  • *Все поддерживаемые файлы. Используется по умолчанию.
  • 3DS3D Studio Max
  • WRLVRML или GeoVRML
  • FLTOpenFlight
  • DAECollada
  • OBJМодели Wavefront OBJ
String
in_featureClass
(Дополнительный)

Точечные объекты, чьи координаты определяют реальное положение входных файлов. Каждый входной файл будет соответствовать своей точке на основании имен файлов, хранящихся в Поле символов. Параметр Система координат должен быть задан, чтобы совпадать с пространственной привязкой точек.

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

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

Field

Пример кода

Import3DFiles, пример 1 (окно Python)

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

arcpy.env.workspace = "C:/data"
arcpy.Import3DFiles_3d("AddisSheraton.skp", "Test.gdb/AddisSheraton", False, "", False)
Import3DFiles, пример 2 (автономный скрипт)

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

'''****************************************************************************
Name: Import3DFiles Example
Description: This script demonstrates how to use the
             ListFiles method to collect all OpenFlight (*.flt) models in a
             workspace as input for the Import3DFiles tool.
****************************************************************************'''

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Set Local Variables
OpenFlightList = arcpy.ListFiles("*.flt")
CS = "Coordinate Systems/Geographic Coordinate Systems/World/WGS 1984.prj"
outputFC = "Test.gdb/OpenFlight_Models"
if len(OpenFlightList) > 0:
    # Execute Import3DFiles
    arcpy.Import3DFiles_3d(OpenFlightList, outputFC, False, CS, False)
else:
    # Returned if there are no flt files in the target workspace
    print("There are no OpenFlight files in the " + env.workspace + " directory.")

Информация о лицензиях

  • Basic: Требуется 3D Analyst
  • Standard: Требуется 3D Analyst
  • Advanced: Требуется 3D Analyst

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