Zusammenfassung
Hiermit wird mindestens ein 3D-Modell in eine Multipatch-Feature-Class importiert.
Verwendung
Behalten Sie die Textur in den 3D-Modellen bei, indem Sie das Ausgabe-Multipatch in einer Geodatabase speichern. Shapefiles unterstützen die Beibehaltung von Texturen nicht.
Falls die obere Seite der entstehenden Multipatch-Features seitwärts ausgerichtet ist, können Sie die Ausrichtung anpassen, indem Sie dieses Werkzeug mit aktiviertem Parameter Y oben erneut verwenden.
GeoVRML ist das einzige Format mit einem definierten Koordinatensystem. Viele 3D-Modelle werden mit lokalen Koordinatensystemen generiert, deren XYZ-Achse um 0, 0, 0 zentriert ist. Solche Features können mit einer der folgenden Methoden mit realen Koordinaten georeferenziert werden:
- Müssen die 3D-Modelle gedreht und verschoben werden, sollten Sie die Verfahren der räumlichen Anpassung anwenden, um die Features ordnungsgemäß zu positionieren.
- Wenn die 3D-Modelle für ein bestimmtes Koordinatensystem ordnungsgemäß ausgerichtet sind und nur in die richtige Position verschoben werden müssen, passen Sie die Koordinatensystem-Eigenschaften so an, dass die notwendige Verschiebung erfolgt. Wenn Punkt-Features, die die Position des Schwerpunktes der einzelnen Modelle in realen Koordinaten definieren, verfügbar sind, verwenden Sie die Punkte als Eingaben für das Werkzeug, um die Modelle zu georeferenzieren.
Punkt- und Liniengeometrien, die in einer 3D-Datei vorhanden sein können, bleiben in der Ausgabe-Multipatch-Feature-Class nicht erhalten, da sie von Multipatches nicht unterstützt werden.
Hinweis:
Nicht unterstützte Geometrietypen für VRML-Dateien sind: Box, Kegel, Zylinder, Extrusion, PointSet, Kugel und Text.
Syntax
arcpy.3d.Import3DFiles(in_files, out_featureClass, {root_per_feature}, {spatial_reference}, {y_is_up}, file_suffix, {in_featureClass}, {symbol_field})
Parameter | Erklärung | Datentyp |
in_files [in_files,...] | Ein oder mehrere 3D-Modelle oder Ordner mit solchen Dateien in den unterstützten Formaten 3D Studio Max (*.3ds), VRML und GeoVRML (*.wrl), OpenFlight (*.flt), COLLADA (*.dae) und Wavefront OBJ-Modelle (*.obj). | File; Folder |
out_featureClass | Das Multipatch, das aus den Eingabedateien erstellt wird. | Feature Class |
root_per_feature (optional) | Gibt an, ob ein Feature pro Datei oder ein Feature für jeden Stammknoten in der Datei generiert werden soll. Diese Option gilt nur für VRML-Modelle.
| Boolean |
spatial_reference (optional) | Das Koordinatensystem der Eingabedaten. Für die meisten Formate ist dies unbekannt. Nur beim GeoVRML-Format wird das Koordinatensystem gespeichert. Der Standardwert wird aus der ersten Datei in der Liste abgerufen, wenn hier kein Raumbezug angegeben ist. | Spatial Reference |
y_is_up (optional) | Gibt die Achse an, welche die vertikale Ausrichtung der Eingabedateien definiert.
| Boolean |
file_suffix | Die Dateierweiterung der Dateien, die aus einem Eingabeordner importiert werden sollen. Dieser Parameter ist erforderlich, wenn als Eingabe mindestens ein Ordner angegeben wird.
| String |
in_featureClass (optional) | Die Punkt-Features, deren Koordinaten die reale Position der Eingabedateien definieren. Jeder Eingabedatei wird basierend auf den Dateinamen im Symbolfeld der entsprechende Punkt zugeordnet. Der Parameter Koordinatensystem sollte in Übereinstimmung mit dem Raumbezug der Punkte definiert werden. | Feature Layer |
symbol_field (optional) | Das Feld in den Punkt-Features, das für jeden Punkt den Namen der zugeordneten 3D-Datei enthält. | Field |
Codebeispiel
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
arcpy.env.workspace = "C:/data"
arcpy.Import3DFiles_3d("AddisSheraton.skp", "Test.gdb/AddisSheraton", False, "", False)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
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.")
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst