Сводка
Конвертирует набор файлов САПР в классы пространственных объектов и таблицы данных, используя предварительно сформированную и проверенную схему, с возможностью последующего перевода в данные ГИС.
Выходные данные сохраняются в промежуточную базу геоданных. Содержимое этой базы геоданных может быть использовано напрямую, или в качестве входных данных для последующих преобразований.
Использование
По умолчанию этот инструмент создает файловую базу геоданных, но может также создать и персональную базу геоданных, если пользователь выберет соответствующее расширение.
В определенном наборе выходных классов объектов будет создан фиксированный набор классов пространственных объектов. Эти классы пространственных объектов содержат геометрию для линий, площадей, точек и экстент документа, а также дополнительно, могут быть созданы классы точечных объектов для каждого уникального блока или имени ячейки.
Этот инструмент создает новую базу геоданных и не будет присоединять существующую.
Постобработка будет требоваться, если вам необходимо выполнить любые соединения данных или отношений. Выходные данные – это входные файлы САПР, и не существует никаких отношений. Их сглаженная структура позволяет опять поместить их вместе, как вы хотите.
Параметр Входные файлы будет допускать дополнение различных видов данных САПР (DGN, DWG, DXF) в одной операции.
Таблицы свойств САПР создаются в выходной рабочей области. Эти нормализованные таблицы могут соединятся друг с другом с помощью ключевых полей, например, EntID, которые также находятся в классах пространственных объектов, созданных инструментом Импорт в САПР.
Если таблица в выходном наборе классов объектов или рабочей области имеет такое же имя, как у таблицы, созданной инструментом ImportCAD, таблица будет удалена и создана заново.
Инструмент Импорт из САПР не поддерживает создание классов объектов аннотаций.
Таблицы свойств САПР можно открыть из выходной рабочей области в модели или скрипте с помощью инструмента Выбрать данные. Кроме того, можно получить доступ к классам пространственных объектов, созданных из данных САПР (CAD), используя инструмент Выбрать данные (Select Data)на выходном наборе классов объектов.
Элементы текста и атрибутов САПР конвертируются в точечные объекты.
Инструмент Импорт из САПР не может выводить в класс объектов ArcSDE; он создаст новую персональную базу геоданных.
Если вы собираетесь скопировать поле DocPath в класс объектов CadDoc, или поле TextMemo в таблицу TxtProp из промежуточной базы геоданных в базу геоданных ArcSDE, имеются некоторые ограничения, о которых вы должны знать. Поле DocPath класса пространственных объектов CadDoc и поле TextMemo таблицы TxtProp имеют поле memo, которое слишком длинное, чтобы вставлять в него базу геоданных ArcSDE. Информацию об ограничениях базы геоданных ArcSDE см. у системного администратора. Порции информации этих полей дублируются в других полях. Их длина короче, поэтому они могут быть перемещены в базу геоданных ArcSDE. Поле DocName содержит части поля DocPath, а поле TextValue содержит части поля TextMemo.
Эта функция обычно используется в процессе перевода данных САПР в существующую базу геоданных с помощью ряда других других функций геообработки в скрипте или модели ModelBuilder, и как таковые, результирующие данные этой функции обычно временные.
Нормализованные таблицы образованы в определенной выходной рабочей области. Эти таблицы содержат табличные атрибуты свойств слоя, свойств текста, свойств элементов, атрибуты блока и ячейки, расширенные данные примитивов или значения MSLink.
Если существует файл проекции для входного файла САПР, он будет автоматически заполнять параметр пространственной привязки информацией о проекциях. Если в качестве входных данных используется несколько файлов САПР, пространственная привязка будет взята из первого файла САПР, который имеет файл проекции, в перечне входных данных.
При создании пространственной привязки по умолчанию для промежуточной базы геоданных, вам необходимо всегда использовать модель экстента по умолчанию файла САПР (CAD) как основу. Это значит, что если есть примитивы вне экстентов полей САПР по умолчанию, они могут быть отклонены. Убедитесь, что модель с большим экстентом используется как модель по умолчанию в чертеже DGN. Только MicroStation 8 версии поддерживает использование нескольких моделей в одном файле проекта.
Если файл DGN имеет несколько моделей, убедитесь, что первая модель имеет больший домен. Инструмент Импорт из САПР вычисляет домен для всего файла DGN из первой модели. Если это не так, будьте готовы расширить домен в первой модели настолько, чтобы все соответствовало.
Если вы используете файл PRJ для параметра пространственной привязки, убедитесь, что установлен x,y,z домен. Если вы не указали домен, это может привести к тому, что некоторые пространственные объекты не будут импортированы, если они не попадают в границы домена, вычисляемого на лету.
Если вам нужно конвертировать аннотацию САПР в аннотацию базы геоданных, для этого существуют специальные инструменты, например Импорт аннотации САПР.
Синтаксис
arcpy.conversion.ImportCAD(Input_Files, out_personal_gdb, {spatial_reference}, {Explode_Complex})
Параметр | Объяснение | Тип данных |
Input_Files [Input_Files,...] | Набор файлов САПР, которые будут конвертированы в объекты базы геоданных. | CAD Drawing Dataset |
out_personal_gdb | Новая выходная база геоданных (промежуточная), в которую будут сохранены все входные объекты САПР (CAD) и соответствующие таблицы. Если требуется связать между собой объекты и табличные данные, то необходима дальнейшая обработка. | Workspace |
spatial_reference (Дополнительный) | Пространственная привязка, которая будет применяться к выходной промежуточной базе геоданных. | Spatial Reference |
Explode_Complex (Дополнительный) | Определяет, будет ли в блоках файлов DWG или DXF и/или ячейках DGN каждый элемент, составляющий сложный объект, преобразован в отдельный пространственный объект, или сложный объект будет преобразован в один точечный пространственный объект.
| 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 по умолчанию
- Выходное ключевое слово CONFIG
- Выходной домен M
- Выходной XY домен
- Выходной домен Z
- Выходная система координат
- Экстент
- Выходные данные имеют M-значения
- Выходная пространственная сетка 1
- Выходная пространственная сетка 2
- Выходная пространственная сетка 3
- Временная рабочая область
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да