Move a face/edge/curve/vertex of the form, specified by a reference, and an offset vector.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 26.4.0.0 (26.4.0.0)
Syntax
C#
public void MoveSubElement(
Reference subElementReference,
XYZ offset
)
Parameters
- subElementReference Reference
- The geometry reference of face/edge/curve/vertex
- offset XYZ
- The vector by which the element is to be moved.
Example
C#
public void MoveSubElement(Form form)
{
if (form.ProfileCount > 0)
{
int profileIndex = 0;
ReferenceArray ra = form.get_CurveLoopReferencesOnProfile(profileIndex, 0);
foreach (Reference r in ra)
{
ReferenceArray ra2 = form.GetControlPoints(r);
foreach (Reference r2 in ra2)
{
Point vertex = document.GetElement(r2).GetGeometryObjectFromReference(r2) as Point;
XYZ offset = new XYZ(0, 15, 0);
form.MoveSubElement(r2, offset);
break;
}
}
}
}
VB
Public Sub MoveSubElement(form As Form)
If form.ProfileCount > 0 Then
Dim profileIndex As Integer = 0
Dim ra As ReferenceArray = form.CurveLoopReferencesOnProfile(profileIndex, 0)
For Each r As Reference In ra
Dim ra2 As ReferenceArray = form.GetControlPoints(r)
For Each r2 As Reference In ra2
Dim vertex As Point = TryCast(document.GetElement(r2).GetGeometryObjectFromReference(r2), Point)
Dim offset As New XYZ(0, 15, 0)
form.MoveSubElement(r2, offset)
Exit For
Next
Next
End If
End Sub
See Also
Reference