Copy;
Метод Copy выполняет копирование контейнера моделирования.
Для корректного выполнения копирования необходимо задать значения свойств IMsModelSpaceCopier.DestinationModelSpace и IMsModelSpaceCopier.SourceModelSpace.
Для выполнения примера предполагается наличие контейнера моделирования с идентификатором «MS_SOURCE». Также необходимо добавить ссылки на системные сборки «Metabase», «Ms».
Sub UserProc;
Var
mb: IMetabase;
CreateInfo: IMetabaseObjectCreateInfo;
Copier: IMsModelSpaceCopier;
MsDest, MsSource: IMetabaseObjectDescriptor;
Begin
mb := MetabaseClass.Active;
// создаем результирующий контейнер моделирования
CreateInfo := mb.CreateCreateInfo;
CreateInfo.ClassId := MetabaseObjectClass.KE_CLASS_MODELSPACE;
MsDest := mb.CreateObject(CreateInfo);
// получаем исходный контейнер моделирования
MsSource := mb.ItemById("MS_SOURCE");
// создаем объект, который будет копировать контейнеры
Copier := New MsModelSpaceCopier.Create;
// задаем исходный и результирующий контейреры
Copier.DestinationModelSpace := MsDest;
Copier.SourceModelSpace := MsSource;
// задаем параметры копирования
Copier.WithObjects := True;
Copier.WithObjectsData := False;
// выполняем копирование
Copier.Copy;
Debug.WriteLine("Контейнер '" + MsSource.Name +
"' скопирован в контейнер '" + MsDest.Name + "' с объектами, но без данных");
End Sub UserProc;
После выполнения примера будет осуществлено копирование контейнера моделирования «MS_SOURCE» с объектами, но без данных. Информация об этом будет выведена в окно консоли.
См. также: