Share

AnalyticalToPhysicalAssociationManager.AddAssociation(ElementId, ElementId) Method

Adds a new association between an analytical element and a physical element.


Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.1.0.0 (26.1.0.34)

Syntax

C#

public void AddAssociation(
	ElementId analyticalElementId,
	ElementId physicalElementId
)

Parameters

analyticalElementId  ElementId
Id of the analytical element.
physicalElementId  ElementId
Id of the physical element.

Exceptions

ExceptionCondition
ArgumentException Analytical id is not valid or has already defined another association. -or- Physical id is not valid or has already defined another association.
ArgumentNullException A non-optional argument was null

Remarks

The arguments must be ids of an analytical and of a physical element that don't have other associations, otherwise an exception is thrown. Physical element can have one of these categories:
  • Columns
  • Curtain Wall Panels
  • Floors
  • Generic Models
  • Mass
  • Parts
  • Railings
  • Ramps
  • Roofs
  • Stairs
  • Structural Columns
  • Structural Foundation
  • Structural Framing
  • Structural Trusses
  • Structural Beam System
  • Walls
Analytical element can have one of these categories:
  • Analytical Member
  • Analytical Panel

Example

C#

using (Transaction trans = new Transaction(doc, "AddAssociationBetweenPhysicalAndAnalyticalElements"))
{
   trans.Start();

   ElementId idAnalyticalElem = GetSelectedObject(activeDoc, "Please select analytical element");
   ElementId idPhysicalElem = GetSelectedObject(activeDoc, "Please select physical element");

   //gets the AnalyticalToPhysicalAssociationManager for the current document
   AnalyticalToPhysicalAssociationManager analyticalToPhysicalManager = AnalyticalToPhysicalAssociationManager.GetAnalyticalToPhysicalAssociationManager(doc);
   if (analyticalToPhysicalManager == null)
      return Result.Failed;

   //creates a new association between physical and analytical selected elements
   analyticalToPhysicalManager.AddAssociation(idAnalyticalElem, idPhysicalElem);

   trans.Commit();

VB

Using trans As Transaction = New Transaction(doc, "AddAssociationBetweenPhysicalAndAnalyticalElements")
    trans.Start()
    Dim idAnalyticalElem = GetSelectedObject(activeDoc, "Please select analytical element")
    Dim idPhysicalElem = GetSelectedObject(activeDoc, "Please select physical element")

    'gets the AnalyticalToPhysicalAssociationManager for the current document
    Dim analyticalToPhysicalManager = AnalyticalToPhysicalAssociationManager.GetAnalyticalToPhysicalAssociationManager(doc)
    If analyticalToPhysicalManager Is Nothing Then Return Result.Failed

    'creates a new association between physical and analytical selected elements
    analyticalToPhysicalManager.AddAssociation(idAnalyticalElem, idPhysicalElem)
    trans.Commit()

VB

Using trans As Transaction = New Transaction(doc, "AddAssociationBetweenPhysicalAndAnalyticalElements")
    trans.Start()
    Dim idAnalyticalElem = GetSelectedObject(activeDoc, "Please select analytical element")
    Dim idPhysicalElem = GetSelectedObject(activeDoc, "Please select physical element")

    'gets the AnalyticalToPhysicalAssociationManager for the current document
    Dim analyticalToPhysicalManager = AnalyticalToPhysicalAssociationManager.GetAnalyticalToPhysicalAssociationManager(doc)
    If analyticalToPhysicalManager Is Nothing Then Return Result.Failed

    'creates a new association between physical and analytical selected elements
    analyticalToPhysicalManager.AddAssociation(idAnalyticalElem, idPhysicalElem)
    trans.Commit()

See Also

Reference

Was this information helpful?