NewPointBoundaryConditions Method


Creates a new Point BoundaryConditions Element.

Namespace: Autodesk.Revit.Creation
Assembly: RevitAPI (in RevitAPI.dll) Version: 23.0.0.0 (23.1.0.0)

Syntax

C#
public BoundaryConditions NewPointBoundaryConditions(
	Reference reference,
	TranslationRotationValue X_Translation,
	double X_TranslationSpringModulus,
	TranslationRotationValue Y_Translation,
	double Y_TranslationSpringModulus,
	TranslationRotationValue Z_Translation,
	double Z_TranslationSpringModulus,
	TranslationRotationValue X_Rotation,
	double X_RotationSpringModulus,
	TranslationRotationValue Y_Rotation,
	double Y_RotationSpringModulus,
	TranslationRotationValue Z_Rotation,
	double Z_RotationSpringModulus
)
Visual Basic
Public Function NewPointBoundaryConditions ( _
	reference As Reference, _
	X_Translation As TranslationRotationValue, _
	X_TranslationSpringModulus As Double, _
	Y_Translation As TranslationRotationValue, _
	Y_TranslationSpringModulus As Double, _
	Z_Translation As TranslationRotationValue, _
	Z_TranslationSpringModulus As Double, _
	X_Rotation As TranslationRotationValue, _
	X_RotationSpringModulus As Double, _
	Y_Rotation As TranslationRotationValue, _
	Y_RotationSpringModulus As Double, _
	Z_Rotation As TranslationRotationValue, _
	Z_RotationSpringModulus As Double _
) As BoundaryConditions
Visual C++
public:
BoundaryConditions^ NewPointBoundaryConditions(
	Reference^ reference, 
	TranslationRotationValue X_Translation, 
	double X_TranslationSpringModulus, 
	TranslationRotationValue Y_Translation, 
	double Y_TranslationSpringModulus, 
	TranslationRotationValue Z_Translation, 
	double Z_TranslationSpringModulus, 
	TranslationRotationValue X_Rotation, 
	double X_RotationSpringModulus, 
	TranslationRotationValue Y_Rotation, 
	double Y_RotationSpringModulus, 
	TranslationRotationValue Z_Rotation, 
	double Z_RotationSpringModulus
)

Parameters

reference
Type: Autodesk.Revit.DB Reference
A Geometry reference to a Beam's, Brace's or Column's analytical line end.
X_Translation
Type: Autodesk.Revit.DB.Structure TranslationRotationValue
A value indicating the X axis translation option.
X_TranslationSpringModulus
Type: System Double
Translation Spring Modulus for X axis. Ignored if X_Translation is not "Spring".
Y_Translation
Type: Autodesk.Revit.DB.Structure TranslationRotationValue
A value indicating the Y axis translation option.
Y_TranslationSpringModulus
Type: System Double
Translation Spring Modulus for Y axis. Ignored if Y_Translation is not "Spring".
Z_Translation
Type: Autodesk.Revit.DB.Structure TranslationRotationValue
A value indicating the Z axis translation option.
Z_TranslationSpringModulus
Type: System Double
Translation Spring Modulus for Z axis. Ignored if Z_Translation is not "Spring".
X_Rotation
Type: Autodesk.Revit.DB.Structure TranslationRotationValue
A value indicating the option for rotation about the X axis.
X_RotationSpringModulus
Type: System Double
Rotation Spring Modulus for X axis. Ignored if X_Rotation is not "Spring".
Y_Rotation
Type: Autodesk.Revit.DB.Structure TranslationRotationValue
A value indicating the option for rotation about the Y axis.
Y_RotationSpringModulus
Type: System Double
Rotation Spring Modulus for Y axis. Ignored if Y_Rotation is not "Spring".
Z_Rotation
Type: Autodesk.Revit.DB.Structure TranslationRotationValue
A value indicating the option for rotation about the Z axis.
Z_RotationSpringModulus
Type: System Double
Rotation Spring Modulus for Z axis. Ignored if Y_Rotation is not "Spring".

Return Value

If successful, NewPointBoundaryConditions returns an object for the newly created BoundaryConditions with the BoundaryType = 0 - "Point". a null reference ( Nothing in Visual Basic) is returned if the operation fails.

Remarks

This method will only function with the Autodesk Revit Structure application.

Examples

Copy C#
bool CreatePointBoundaryCondition(Autodesk.Revit.DB.Document document, AnalyticalMember column)
{
   // Get the start point reference of the column
   Reference startReference = null;
   if (null != column)
   {
      AnalyticalModelSelector selector = new AnalyticalModelSelector(column.GetCurve(), AnalyticalCurveSelector.StartPoint);
      startReference = column.GetReference(selector);
   }
   else
   {
      throw new Exception("Cannot get end point for selected column");
   }

   // Get the Revit creation document
   Autodesk.Revit.Creation.Document docCreation = document.Create;

   // Create the Point Boundary Conditions for the start point
   BoundaryConditions condition = docCreation.NewPointBoundaryConditions(startReference,
                                                                         TranslationRotationValue.Fixed, 0,
                                                                         TranslationRotationValue.Fixed, 0,
                                                                         TranslationRotationValue.Fixed, 0,
                                                                         TranslationRotationValue.Fixed, 0,
                                                                         TranslationRotationValue.Fixed, 0,
                                                                         TranslationRotationValue.Fixed, 0);
   if (null == condition)
   {
      throw new Exception("Can't create the point boundary condition for selected column start point.");
   }

   // Give the user some information
   TaskDialog.Show("Revit", "Point boundary condition created successfully.");

   return (null != condition);
}
Copy VB.NET
Private Function CreatePointBoundaryCondition(document As Autodesk.Revit.DB.Document, column As FamilyInstance) As Boolean
    ' Get the start point reference of the column
    Dim startReference As Reference = Nothing
 Dim analyticalModel As Autodesk.Revit.DB.Structure.AnalyticalElement = Nothing
 Dim relManager As Autodesk.Revit.DB.Structure.AnalyticalToPhysicalAssociationManager = Autodesk.Revit.DB.Structure.AnalyticalToPhysicalAssociationManager.GetAnalyticalToPhysicalAssociationManager(document)

 If (relManager Is Nothing) Then
    Return False
 End If

 Dim counterpartId As ElementId = relManager.GetAssociatedElementId(column.Id)
 If (counterpartId Is Nothing) Then
    Return False
 End If

 analyticalModel = document.GetElement(counterpartId)

 If analyticalModel IsNot Nothing Then
    Dim selector As AnalyticalModelSelector = New AnalyticalModelSelector(analyticalModel.GetCurve(), AnalyticalCurveSelector.StartPoint)
    startReference = analyticalModel.GetReference(selector)
 Else
    Throw New Exception("Cannot get end point for selected column")
    End If

    ' Get the Revit creation document
    Dim docCreation As Autodesk.Revit.Creation.Document = document.Create

    ' Create the Point Boundary Conditions for the start point
    Dim condition As BoundaryConditions = docCreation.NewPointBoundaryConditions(startReference, TranslationRotationValue.Fixed, 0, TranslationRotationValue.Fixed, 0, TranslationRotationValue.Fixed, _
        0, TranslationRotationValue.Fixed, 0, TranslationRotationValue.Fixed, 0, TranslationRotationValue.Fixed, _
        0)
    If condition Is Nothing Then
        Throw New Exception("Can't create the point boundary condition for selected column start point.")
    End If

    ' Give the user some information
    TaskDialog.Show("Revit", "Point boundary condition created successfully.")

    Return (condition IsNot Nothing)
End Function

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →