Zusammenfassung
Konvertiert eine Auswahl von CAD-Dateien in Feature-Classes und Datentabellen. Hierbei wird ein vordefiniertes und hochgradig normalisiertes Schema verwendet, sodass die Dateien weiter in GIS-Daten übertragen werden können.
Die Ausgabe wird vorübergehend in einer Staging-Geodatabase gespeichert. Die Geodatabase kann dann verwendet werden oder es können weitere Nachbearbeitungen ausgeführt werden.
Verwendung
Mit diesem Werkzeug wird standardmäßig eine File-Geodatabase erstellt. Wenn der Benutzer die entsprechende Erweiterung angibt, kann aber auch eine Personal-Geodatabase erstellt werden.
In dem angegebenen Ausgabe-Feature-Dataset wird eine feststehende Gruppe von Feature-Classes generiert. Diese Feature-Classes enthalten die Geometrie für die Linien, Flächen, Punkte und Dokumentausdehnungen. Optional können Point-Feature-Classes für die einzelnen eindeutigen Block-/Zellennamen generiert werden.
Mit diesem Werkzeug wird eine neue Geodatabase erstellt. Die Daten werden nicht an die vorhandene Geodatabase angehängt.
Sie müssen eine Nachbearbeitung durchführen, wenn Sie Daten oder Beziehungen verknüpfen möchten. Es werden Daten aus den CAD-Eingaben ausgegeben. Es bestehen keine Beziehungen. Aufgrund der flachen Struktur können sie auf beliebige Weise wieder zusammengefügt werden.
Für den Parameter Eingabedateien können in einer Operation verschiedene Arten von CAD-Daten (DGN, DWG, DXF) hinzugefügt werden.
Im Ausgabe-Workspace werden CAD-Eigenschaftentabellen erstellt. Diese normalisierten Tabellen können mithilfe von Schlüsselfeldern wie EntID verknüpft werden. EntID befindet sich auch in den Feature-Classes, die vom Werkzeug Import aus CAD erstellt wurden.
Tabellen im Ausgabe-Feature-Dataset oder Workspace, deren Name mit dem Namen einer mit Import aus CAD erstellten Tabelle übereinstimmt, werden gelöscht und neu erstellt.
Das Werkzeug "Import aus CAD" unterstützt die Erstellung von Annotation-Feature-Classes nicht.
Die CAD-Eigenschaftentabellen können vom Ausgabe-Workspace in einem Modell oder Skript mit dem Werkzeug Daten auswählen aufgerufen werden. Entsprechend können Sie mit dem Werkzeug Daten auswählen im Ausgabe-Feature-Dataset auf die Feature-Classes zugreifen, die aus den CAD-Daten generiert wurden.
CAD-Text und Attributentitäten werden in Punkt-Features konvertiert.
"Import aus CAD" kann nicht in eine ArcSDE-Feature-Class ausgeben. Es wird eine neue Personal-Geodatabase erstellt.
Beachten Sie die folgenden Beschränkungen, wenn Sie das Feld DocPath in der Feature-Class CadDoc oder das Feld TextMemo in der Tabelle TxtProp aus der Staging-Geodatabase in eine ArcSDE-Geodatabase kopieren möchten. Das Feld DocPath in der Feature-Class CadDoc und das Feld TextMemo in der Tabelle TxtProp verfügen über ein Memofeld, das für eine ArcSDE-Geodatabase zu lang ist. Informationen zu Beschränkungen der ArcSDE-Geodatabase erhalten Sie von Ihrem Systemadministrator. Teile der Informationen in diesen Feldern werden in anderen Feldern dupliziert. Aufgrund ihrer kürzeren Länge können sie in eine ArcSDE-Geodatabase verschoben werden. Das Feld DocName enthält Teile des Feldes DocPath. Das Feld TextValue enthält Teile des Feldes TextMemo.
Diese Funktion wird im Allgemeinen bei der Übertragung von CAD-Daten in eine vorhandene Geodatabase verwendet. Dabei werden einige andere Geoverarbeitungsfunktionen in einem Skript- oder ModelBuilder-Modell verwendet. Die aus dieser Funktion resultierenden Daten sind daher in der Regel temporär.
In dem angegebenen Ausgabe-Workspace werden normalisierte Tabellen generiert. Diese Tabellen enthalten die tabellarischen Attribute der Layer-, Text- und Entitäts-Eigenschaften, Block-/Zellenattribute und erweiterten Entitätsdaten oder MSLink-Werte.
Wenn für die Eingabe-CAD-Datei eine Projektionsdatei vorhanden ist, wird der Raumbezugsparameter automatisch mit den Projektionsinformationen gefüllt. Wenn mehrere CAD-Dateien als Eingabe verwendet werden, wird der Raumbezug der ersten CAD-Datei entnommen, in deren Eingabeliste sich eine Projektionsdatei befindet.
Für die Generierung eines Standardraumbezuges für die Staging-Geodatabase empfiehlt sich die durchgängige Verwendung des Standardausdehnungsmodells der CAD-Datei als Grundlage. Auf diese Weise können Entitäten, die sich außerhalb der Standardausdehnung für CAD-Felder befinden, verworfen werden. Stellen Sie sicher, dass das Modell mit der größten Ausdehnung als Standardmodell in einer DGN-Zeichnung verwendet wird. Nur Microstation Version 8 unterstützt die Verwendung mehrerer Modelle in einer einzelnen Designdatei.
Wenn eine DGN-Datei über mehrere Modelle verfügt, achten Sie darauf, dass das erste Modell die größte Domäne hat. Mit "Import aus CAD" können Sie die Domäne für die gesamte DGN-Datei aus dem ersten Modell berechnen. Stellen Sie andernfalls sicher, dass die Domäne im ersten Modell groß genug ist, um alles aufzunehmen.
Wenn Sie als Parameter für den Raumbezug eine PRJ-Datei verwenden, müssen Sie zunächst die X-, Y- und Z-Domäne einrichten. Wenn Sie keine Domäne einrichten, können Features, die außerhalb der ad hoc berechneten Domäne liegen, möglicherweise nicht importiert werden.
Es stehen spezifische Werkzeuge zur Verfügung, mit denen Sie CAD-Annotations in Geodatabase-Annotations konvertieren können, z. B. CAD-Annotation importieren.
Syntax
arcpy.conversion.ImportCAD(Input_Files, out_personal_gdb, {spatial_reference}, {Explode_Complex})
Parameter | Erklärung | Datentyp |
Input_Files [Input_Files,...] | Die Sammlung von CAD-Dateien, die in Geodatabase-Features konvertiert werden sollen. | CAD Drawing Dataset |
out_personal_gdb | Die neue Ausgabe-Geodatabase, in der alle Eingabe-CAD-Features zusammen mit den entsprechenden Tabellen gespeichert werden. Wenn Sie Tabellen oder Features verknüpfen möchten, ist eine Nachbearbeitung erforderlich. | Workspace |
spatial_reference (optional) | Der auf die Ausgabe-Staging-Geodatabase anzuwendende Raumbezug. | Spatial Reference |
Explode_Complex (optional) | Gibt an, ob beim Einfügen von Blöcken in DWG oder DXF und/oder beim Einfügen von Zellen in DGN ein Feature für alle Einzelelemente im komplexen Objekt oder nur ein einzelnes Punkt-Feature am definierten Einfügepunkt erstellt wird.
| Boolean |
Codebeispiel
# To create Points from the CAD block inserts.
# Create the Geoprocessor object
import arcgisscripting
gp = arcgisscripting.create()
# Script arguments...
blocks = sys.argv[1]
if blocks == '#':
blocks = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb/blocks"
# provide a default value if unspecified
res00051_pc22j_dwg = sys.argv[2]
if res00051_pc22j_dwg == '#':
res00051_pc22j_dwg = "C:/Test_data/CAD/MetroGAS/res00051_pc22j.dwg"
# provide a default value if unspecified
Select_Set_Name = sys.argv[3]
if Select_Set_Name == '#':
Select_Set_Name = "[SetName] = 'COD_90_50M'"
# Local variables...
Pivoted_AttrTags_by_OwnerID = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb/Attrib_PivotTable"
Attrib_Table = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb/Attrib"
Entities_Table = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb/Entity"
joined = "joined"
Output_Staging_Geodatabase = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb"
points_new2 = "points_new"
Point = "C:/Test_data/CAD/MetroGAS/res00051_pc22j_ImportCAD1.mdb/CADStaging/Point"
points_new = "points_new"
points_new3 = "points_new"
try:
# Process: Import from CAD...
gp.ImportCAD_conversion("'C:/Test_data/CAD/MetroGAS/res00051_pc22j.dwg'", Output_Staging_Geodatabase, "", "Do_Not_Explode_Complex")
# Process: Select Data...
gp.SelectData_management(Output_Staging_Geodatabase, "CADStaging/Point", )
# Process: Make Layer...
gp.MakeFeatureLayer_management(Point, points_new, "", "", "EntID EntID VISIBLE")
# Process: Select Data (Entities Table)...
gp.SelectData_management(Output_Staging_Geodatabase, "Entity", )
# Process: Add Join...
gp.AddJoin_management(points_new, "EntID", Entities_Table, "EntID", "OUTER", )
# Process: Select Data (Attrib Table)...
gp.SelectData_management(Output_Staging_Geodatabase, "Attrib", )
# Process: Make Table View...
gp.MakeTableView_management(Attrib_Table, joined, Select_Set_Name, "", "EntID EntID VISIBLE;OwnerID OwnerID VISIBLE;AttrFlag AttrFlag VISIBLE;MSSet MSSet VISIBLE;AtrTag AtrTag VISIBLE;AtrHndl AtrHndl VISIBLE;AttrType AttrType VISIBLE;AttrStr AttrStr VISIBLE;AttrLong AttrLong VISIBLE;AttrDbl AttrDbl VISIBLE")
# Process: Pivot Table...
gp.PivotTable_management(joined, "'Attrib.OwnerID';'OwnerID'", "AttrTag", "AttrStr", Pivoted_AttrTags_by_OwnerID)
# Process: Add Join2...
gp.AddJoin_management(points_new2, "Point.EntID", Pivoted_AttrTags_by_OwnerID, "OwnerID", "INNER", )
# Process: Copy Features...
gp.CopyFeatures_management(points_new3, blocks, "", "0", "0", "0")
except:
# If an error occurred while running a tool print the messages
print gp.GetMessages()
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja