导入 CAD 注记 (转换)
摘要
将 CAD 注记要素的集合转换为地理数据库注记。可以将每一级分别转换为一个单独的注记类,也可以将其合并成一个类。此外,如果选择地图图层作为输入,则将应用级别和字体覆盖。
用法
-
此转换需要排它锁,以使它不能被其他应用程序打开。写入 ArcSDE 地理数据库的输出将不会版本化。
-
您可以将每个 CAD 工程图图层转换为单独的注记类,或者将它们合并成单个类。此外,如果您选择地图图层作为输入,则工程图图层和字体都将被覆盖。
-
请选择一个与正常显示注记所采用的比例大致相等的参考比例。您可以将参考比例想象成按照特定地图比例来“冻结”符号和文本大小。在查看地图时,符号和文本大小会根据查看比例而变化。放大(当前地图比例大于参考比例)时符号和文本会变大,缩小(当前地图比例大于参考比例)时符号和文本会变小。
-
如果选择 CAD 注记要素和/或使用定义查询,则将只转换那些所选的可见要素。
-
如果您选中了需要从符号表中选择符号的选项,则新创建或更新的注记要素必须引用符号集中预定义的一个符号;此符号不可内嵌存储。如果取消选中此选项,用户可以将任何类型的注记(包括图形)存储在注记要素类中。
-
与要素关联的注记与地理数据库中另一个要素类中的特定要素相关联。如果选中,则在创建输出注记要素类时,也将自动生成关系类。此关系类用于定义注记与要素之间的关系,并使您可以通过此关系类对此关系进行定义和自定义。它不会在要素与注记之间建立连接。此操作必须在 ArcMap 编辑器中完成。
语法
参数 | 说明 | 数据类型 |
input_features [input_features,...] |
要转换为地理数据库注记的 CAD 注记要素。如果在 ArcMap 中选择 CAD 注记图层,转换过程中会应用此图层的以下属性:
| Feature Layer |
output_featureclass |
希望将 CAD 注记转换成的地理数据库注记要素类。 | Feature Class |
reference_scale |
输入要用作注记参考的比例。注记中的所有符号及文本的大小都会参照此处设置的参考比例。 | Double |
use_levels (可选) |
许可: 仅当有 ArcEditor 和 ArcInfo 许可时,此参数才可用。 指定是否将所有 CAD 工程图图层或级别都转换为要素类中的注记类。
| Boolean |
match_symbols_from_first_input (可选) |
如果您要转换多个工程图文件中的 CAD 注记,而且需要替换符号的字体属性并将其应用至所有输入要素,则可使用此选项。
| Boolean |
require_symbol_from_table (可选) |
指定输出注记要素是否会引用存储在要素类符号集中的符号。
| Boolean |
feature_linked (可选) |
许可: 仅当有 ArcEditor 和 ArcInfo 许可时,此参数才可用。 选择是否将输出注记要素类关联到其他要素类中的要素。如果使用的是 ArcView 许可,则与要素关联的选项不可用。
| Boolean |
linked_feature_class (可选) |
许可: 仅当有 ArcEditor 和 ArcInfo 许可时,此参数才可用。 与注记要素关联的要素类。此要素类必须是点、线或面要素类。如要将注记转换至 ArcSDE,则不可将关联要素类注册为版本。 只有在将前一参数选择为 FEATURE_LINKED 时,此选项才可用。 | Feature Layer |
create_annotation_when_feature_added (可选) |
许可: 仅当有 ArcEditor 和 ArcInfo 许可时,此参数才可用。 指定在向注记要素类所关联的要素类中添加新要素时是否生成新注记。 只有在将与要素关联的参数选择为 FEATURE_LINKED 并指定关联要素类时,此选项才可用。
| Boolean |
update_annotation_when_feature_modified (可选) |
许可: 仅当有 ArcEditor 和 ArcInfo 许可时,此参数才可用。 指定在对注记要素类所关联的要素类中的要素进行编辑时是否自动更新注记的放置位置。 只有在将与要素关联的参数选择为 FEATURE_LINKED 并指定关联要素类时,此选项才可用。
| Boolean |
代码示例
以下 Python 窗口脚本演示了如何在立即模式下使用 ImportCADAnnotation 工具。
import arcpy arcpy.env.workspace = "C:\data" arcpy.ImportCADAnnotation_conversion("roads.dxf/annotation", "roads.gdb/roadsanno", 1200, "CLASSES_FROM_LEVELS", "NO_MATCH", "NO_SYMBOL_REQUIRED", "STANDARD", "", "AUTO_CREATE", "NO_AUTO_UPDATE")
以下独立脚本演示了如何使用 ImportCADAnnotation 工具。
# Name: ImportCADAnnotation_Example.py # Description: Create a geodatabase and import CAD annotation into it using the #ImportCADAnnotation tool. # Author: ESRI # import system modules import arcpy, os from arcpy import env # Set environment settings # User input workspace - eg. C:/data env.workspace = raw_input('Workspace: ') # User input data name - eg. roads.dxf inputCADAnno = raw_input('Data name: ') # Create file geodatabase based on CAD file fgdb = env.workspace + os.sep + inputCADAnno[:-4] + ".gdb" arcpy.CreateFileGDB_management(os.path.dirname(fgdb), os.path.basename(fgdb)) # Set variables inputFeatureClass = inputCADAnno + os.sep + "Annotation" outFeatureClass = fgdb + os.sep + inputCADAnno.replace(".", "") + "_Anno" refScale = 1200 useLevels = "CLASSES_FROM_LEVELS" matchSymbols = "NO_MATCH" requireSymbol = "NO_SYMBOL_REQUIRED" featLinked = "STANDARD" linkedFeatClass = "" autoCreate = "AUTO_CREATE" autoUpdate = "AUTO_UPDATE" print "Importing CAD annotation..." try: arcpy.ImportCADAnnotation_conversion(inputFeatureClass, outFeatureClass, refScale, useLevels, matchSymbols, requireSymbol, featLinked, linkedFeatClass, autoCreate, autoUpdate) except: # If an error occurred while running a tool print the messages print arcpy.GetMessages() print "Import complete"