标注 | 说明 | 数据类型 |
输入 3D 文件和文件夹 | 将导入的 3D 文件或包含 3D 文件的文件夹。 提供文件夹后,将导入其中包含的所有受支持的 3D 模型及其子目录。 支持以下模型:
| File; Folder |
输出 3D 对象要素类 | 将创建或更新的 3D 对象要素图层。 | Feature Layer |
更新策略 (可选) | 指定如何更新现有 3D 对象要素类。
| String |
XY 偏移 (可选) | 将应用于导入模型的 x 和 y 坐标偏移。 | Point |
高程偏移 (可选) | 将应用于导入模型的高度偏移。 | Double |
比例因子 (可选) | 将用于调整导入的 3D 模型大小的比例因子。 | Double |
旋转角度 (可选) | 将应用于导入模型的旋转角度度数。 应用旋转时假设零度 (0°) 代表北,角度值按顺时针方向递增。 | Double |
如果未指定数据,则 Y 轴向上 | 指定 y 坐标是否被解释为高度或沿水平面。 仅 Wavefront 对象文件 (.obj) 支持此参数。
| Boolean |
摘要
可从一种或多种 3D 文件格式导入 3D 模型并创建或更新 3D 对象要素图层。
使用情况
3D 对象要素类提供了一种使用 3D 模型的本机渲染功能(例如灯光效果、反射率和材质)以在 ArcGIS AllSource 中存储、地理配准和可视化 3D 模型的方法。
3D 对象要素类的几何可用于任何支持多面体要素的地理处理工具。 例如,3D 对象要素图层可用于分析视线和可见性中的视线,或确定太阳阴影频率和太阳阴影体积中阴影的影响。
使用此工具,您可以直接创建 3D 对象要素图层,而无需将 3D 模型导入多面体或使用 3D 对象要素图层功能增强多面体。 该工具还支持比导入 3D 文件工具更多的 3D 模型格式。 可以导入以下 3D 格式:
- COLLADA (.dae)
- 工程图(.dwg)
- Autodesk Filmbox (.fbx)
- 图形库传输(.glb)
- JSON 图形库传输(.gltf)
- 工业基础类(.ifc)
- Wavefront 对象(.obj)
- 通用场景描述(.usdc)
- 压缩通用场景描述 (.usdz)
创建 3D 对象要素类并且导入的模型具有空间参考时,3D 对象要素类将继承模型的坐标系。 如果您导入的模型没有坐标系,则输出的坐标系将为 WGS 1984 Web Mercator (WKID 3857),使用米的线性单位。 如果 3D 模型具有线性单位,其坐标将自动转换以匹配输出投影。 当 3D 模型没有定义线性单位时,可以使用比例因子参数来应用适当的转换。
参数
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 模型及其子目录。 支持以下模型:
| File; Folder |
updated_features | 将创建或更新的 3D 对象要素图层。 | Feature Layer |
update (可选) | 指定如何更新现有 3D 对象要素类。
| String |
translate (可选) | 将应用于导入模型的 x 和 y 坐标偏移。 | Point |
elevation (可选) | 将应用于导入模型的高度偏移。 | Double |
scale (可选) | 将用于调整导入的 3D 模型大小的比例因子。 | Double |
rotate (可选) | 将应用于导入模型的旋转角度度数。 应用旋转时假设零度 (0°) 代表北,角度值按顺时针方向递增。 | Double |
y_is_up | 指定 y 坐标是否被解释为高度或沿水平面。 仅 Wavefront 对象文件 (.obj) 支持此参数。
| Boolean |
代码示例
下面的示例演示了如何在 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)
下面的示例演示了如何在独立 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)