AnalyticalToPhysicalAssociationManager.AddAssociation(ElementId, ElementId)
Public Class
ArgumentException
ArgumentNullException
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)
Parameters
analyticalElementId ElementId
Id of the analytical element.
physicalElementId ElementId
Id of the physical element.
Exceptions
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
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
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()