Сводка
Импортирует одну или несколько 3D-моделей в класс пространственных объектов-мультипатчей.
Использование
Сохраните текстуру 3D моделей, сохранив выходной мультипатч в базе геоданных. Шейп-файлы не поддерживают сохранение текстур.
Если верхняя сторона итоговых объектов-мультипатчей повернута вбок, попробуйте еще раз настроить ориентацию с помощью этого инструмента, включив параметр Y вверх (Ось Y направлена вверх).
GeoVRML является единственным форматом с определенной системой координат. Многие 3D-модели создаются с помощью локальной системы координат с центром координат в точке 0, 0, 0. Для таких объектов можно выполнить геопривязку к реальным координатам одним из приведенных ниже способов:
- Если 3D модели необходимо повернуть и сдвинуть, рассмотрите возможность использования одного из методов векторной трансформации, чтобы правильно расположить объекты.
- Если 3D модели ориентированы в данной системе координат правильно, и их необходимо только сдвинуть, рассмотрите возможность настройки свойств Системы координат, чтобы получить необходимый сдвиг. Если есть точечные объекты, которые задают положение центроида каждой модели в координатах реального мира, используйте эти точки в качестве входных данных инструмента для геопривязки моделей.
Элементы точечной и линейной геометрии, которые могут существовать в файле 3D, не сохраняются в выходном классе пространственных объектов мультипатчей (мультипатчи не поддерживают такие элементы).
Примечание:
Для файлов VRML не поддерживаются следующие типы геометрии: Box, Cone, Cylinder, Extrusion, PointSet, Sphere и Text.
Синтаксис
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.
| Boolean |
spatial_reference (Дополнительный) | Система координат входных данных. Для большинства форматов это неизвестная система координат. Только формат GeoVRML хранит свою систему координат, по умолчанию она будет получена из первого файла в списке, если не указана пространственная привязка. | Spatial Reference |
y_is_up (Дополнительный) | Определяет ось, которая задает вертикальную ориентацию входных файлов.
| Boolean |
file_suffix | Разрешение файлов, импортируемых из входной папки. Этот параметр также необходим, если хотя бы одна папка указана в качестве входных данных.
| String |
in_featureClass (Дополнительный) | Точечные объекты, чьи координаты определяют реальное положение входных файлов. Каждый входной файл будет соответствовать своей точке на основании имен файлов, хранящихся в Поле символов. Параметр Система координат должен быть задан, чтобы совпадать с пространственной привязкой точек. | Feature Layer |
symbol_field (Дополнительный) | Поле в точечных объектах, содержащее имя файла 3D, связанного с каждой точкой. | Field |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
arcpy.env.workspace = "C:/data"
arcpy.Import3DFiles_3d("AddisSheraton.skp", "Test.gdb/AddisSheraton", False, "", False)
В следующем примере показано использование этого инструмента в автономном скрипте 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.")
Environments
Информация о лицензиях
- Basic: Требуется 3D Analyst
- Standard: Требуется 3D Analyst
- Advanced: Требуется 3D Analyst