Revit 2025 API
Analytical |
Adds a new association between an analytical element and a physical element.
Namespace: Autodesk.Revit.DB.Structure
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public void AddAssociation( ElementId analyticalElementId, ElementId physicalElementId )
Public Sub AddAssociation ( analyticalElementId As ElementId, physicalElementId As ElementId )
public: void AddAssociation( ElementId^ analyticalElementId, ElementId^ physicalElementId )
member AddAssociation : analyticalElementId : ElementId * physicalElementId : ElementId -> unit
Parameters

Exception | Condition |
---|---|
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 |

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 Member
- Analytical Panel

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();
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()
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.
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