Parameters
- type
- The association type.
- row1
- The first row in the association.
- row2
- The second row in the association.
{
// This routine creates a structural attachment association between a pole and a transformer bank
static void CreateUNAssociation(UtilityNetwork utilityNetwork, AssetType poleAssetType, Guid poleGlobalID, AssetType transformerBankAssetType, Guid transformerBankGlobalID)
{
// Create edit operation
EditOperation editOperation = new EditOperation();
editOperation.Name = "Create structural attachment association";
// Create a RowHandle for the pole
Element poleElement = utilityNetwork.CreateElement(poleAssetType, poleGlobalID);
RowHandle poleRowHandle = new RowHandle(poleElement, utilityNetwork);
// Create a RowHandle for the transformer bank
Element transformerBankElement =
utilityNetwork.CreateElement(transformerBankAssetType, transformerBankGlobalID);
RowHandle transformerBankRowHandle = new RowHandle(transformerBankElement, utilityNetwork);
// Attach the transformer bank to the pole
AssociationDescription structuralAttachmentAssociationDescription =
new AssociationDescription(AssociationType.Attachment, poleRowHandle, transformerBankRowHandle);
editOperation.Create(structuralAttachmentAssociationDescription);
editOperation.Execute();
}
}
{
// This routine creates a pole and a transformer bank, and then creates a structural attachment association between them, all in a single edit operation
static void CreateUNFeaturesAndAssociations(FeatureLayer transformerBankLayer,
Dictionary<string, object> transformerBankAttributes, FeatureLayer poleLayer,
Dictionary<string, object> poleAttributes)
{
// Create an EditOperation
EditOperation editOperation = new EditOperation();
editOperation.Name = "Create pole; create transformer bank; attach transformer bank to pole";
// Create the transformer bank
RowToken transformerBankToken = editOperation.Create(transformerBankLayer, transformerBankAttributes);
// Create a pole
RowToken poleToken = editOperation.Create(poleLayer, poleAttributes);
// Create a structural attachment association between the pole and the transformer bank
RowHandle poleHandle = new RowHandle(poleToken);
RowHandle transformerBankHandle = new RowHandle(transformerBankToken);
AssociationDescription poleAttachment =
new AssociationDescription(AssociationType.Attachment, poleHandle, transformerBankHandle);
editOperation.Create(poleAttachment);
// Execute the EditOperation
editOperation.Execute();
}
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)