ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

从 CAD 导入

  • 摘要
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

使用高度规范化的预定义方案将 CAD 文件的集合转换为要素类和数据表,以便进一步转换为 GIS 数据。

输出将存储在临时过渡地理数据库中。然后,可使用地理数据库或执行进一步后处理。

旧版本:

此工具已弃用。此功能已替换为 CAD 至地理数据库。

用法

  • 默认情况下,此工具将输出文件地理数据库,但如果用户已定义适当的扩展名,则此工具还将输出个人地理数据库。

  • 一组固定的要素类将在指定的输出要素数据集中生成。这些要素类包含线、面、点几何和文档范围,还可以针对每个唯一的块或单元格名称生成点要素类。

  • 此工具将创建新的地理数据库,而不会追加到现有地理数据库。

  • 如果需要执行任意数据或关系的连接,则需进行后处理。输出数据来自 CAD 输入,且不存在任何关系。展平结构使其可以根据需要复原。

  • 输入文件参数允许在一次操作中添加多种 CAD 数据(DGN、DWG 和 DXF)。

  • CAD 属性表在输出工作空间中创建。可使用关键字段(例如也可在“导入 CAD”工具创建的要素类中找到的 EntID)将这些规范化表链接到一起。

  • 如果输出要素数据集或工作空间中的表与“导入 CAD”创建的表具有相同的名称,则将删除此表并重新创建。

  • “从 CAD 导入”工具不支持创建注记要素类。

  • 可使用选择数据工具从模型或脚本中的输出工作空间访问 CAD 属性表。同样,可使用输出要素数据集中的“选择数据”工具访问通过 CAD 数据生成的要素类。

  • CAD 文本和属性实体会转换为点要素。

  • “从 CAD 导入”无法输出到 ArcSDE 要素类;它将创建新的个人地理数据库。

  • 如果要将 CadDoc 要素类中的 DocPath 字段或 TxtProp 表中的 TextMemo 字段从过渡地理数据库复制到 ArcSDE 地理数据库中,则需注意某些限制。CadDoc 要素类中的 DocPath 字段和 TxtProp 表中的 TextMemo 字段均带有备注字段,该字段过长,不适合 ArcSDE 地理数据库。有关 ArcSDE 地理数据库限制的信息,请咨询您的系统管理员。上述字段中的部分信息会复制到其他字段中。这些字段的长度更短,因此可将其移动至 ArcSDE 地理数据库。DocName 字段包含部分 DocPath 字段,TextValue 字段包含部分 TextMemo 字段。

  • 使用脚本或模型构建器模型中的一系列其他地理处理函数将 CAD 数据转换到现有地理数据库中时,通常使用此函数,此函数生成的数据通常为临时数据。

  • 规范化表在指定的输出工作空间中生成。这些表包含图层属性、文本属性、实体属性、块或单元属性的表格属性以及扩展实体数据或 MSLink 值。

  • 如果存在输入 CAD 文件的投影文件,则会使用此投影信息自动填充空间参考参数。如果将多个 CAD 文件用作输入,则会从在输入列表中具有投影文件的第一个 CAD 文件中获取空间参考。

  • 生成过渡地理数据库的默认空间参考时,应始终使用 CAD 文件默认模型的范围作为基础。这表示如果存在位于 CAD 字段默认范围之外的实体,则可将其拒绝。确保在 DGN 工程图中将范围最大的模型用作默认模型。仅 MicroStation 版本 8 支持在单个设计文件中使用多个模型。

  • 如果 DGN 文件具有多个模型,请确保第一个模型具有最大的域。“从 CAD 导入”会根据第一个模型计算整个 DGN 文件的域。如果不是这样,请务必对第一个模型中的域进行扩展,使其足以包含所有模型。

  • 如果使用 PRJ 文件作为空间参考参数,请务必设置 x,y,z 域。如果不设置域,则在某些要素落在动态计算域之外的情况下,可能导致无法导入这些要素。

  • 如需将 CAD 注记转换为地理数据库注记,可使用导入 CAD 注记等特定工具。

语法

ImportCAD_conversion (Input_Files, out_personal_gdb, {spatial_reference}, {Explode_Complex})
参数说明数据类型
Input_Files
[Input_Files,...]

要转换为地理数据库要素的 CAD 文件的集合。

CAD Drawing Dataset
out_personal_gdb

用于放置所有输入 CAD 要素和随附表的新输出地理数据库。如果需要表或要素的连接,则需进行后处理。

Workspace
spatial_reference
(可选)

要应用至输出过渡地理数据库的空间参考。

Spatial Reference
Explode_Complex
(可选)

指定将块插入 DWG 还是 DXF 和/或 DGN 中的单元会为复杂对象中的每个构成元素都创建一个要素,还是只在其定义的插入点处创建单个点要素。

  • Do_Not_Explode_Complex —工具将各个复杂对象处理为单个点要素。
  • Explode_Complex —工具将复杂对象的几何扩展到各自的子实体,然后将各个子实体添加到输出要素数据集中相应的要素类。
Boolean

代码示例

# 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()

环境

  • 当前工作空间
  • 默认输出 Z 值
  • 输出配置关键字
  • 输出 M 值域
  • 输出 XY 值域
  • 输出 Z 值域
  • 输出坐标系
  • 范围
  • 输出包含 M 值
  • 输出空间格网 1;输出空间格网 2;输出空间格网 3
  • 临时工作空间

许可信息

  • ArcGIS Desktop Basic: 是
  • ArcGIS Desktop Standard: 是
  • ArcGIS Desktop Advanced: 是

相关主题

  • 导出为 CAD
  • 数据透视表
  • 关于在 ArcMap 中加载数据
  • 地理数据库快速浏览
  • “转为地理数据库(Geodatabase)”工具集概述

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • Esri 博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2019 Esri. | 隐私政策 | 法律声明