An array of edge arrays.
Namespace:
Autodesk.Revit.DB
Assembly:
RevitAPI
(in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
Examples
Copy
C#
public void GetEdgeArrayArray(Autodesk.Revit.ApplicationServices.Application app, Autodesk.Revit.DB.Element element)
{
// Get geometry element of the selected element
Options geoOptions = app.Create.NewGeometryOptions();
Autodesk.Revit.DB.GeometryElement geoElement = element.get_Geometry(geoOptions);
// Get geometry object
foreach (GeometryObject o in geoElement)
{
Solid solid = o as Solid;
if (null != solid)
{
foreach (Face face in solid.Faces)
{
if (face != null)
{
EdgeArrayArray edgeArrays = face.EdgeLoops;
foreach (EdgeArray edges in edgeArrays)
{
foreach (Edge edge in edges)
{
// Get one test point
XYZ testPoint = edge.Evaluate(0.5);
string edgeInfo = string.Format("Point on edge: ({0},{1},{2})", testPoint.X, testPoint.Y, testPoint.Z);
TaskDialog.Show("Revit",edgeInfo);
}
}
}
}
}
}
}
Copy
VB.NET
Public Sub GetEdgeArrayArray(app As Autodesk.Revit.ApplicationServices.Application, element As Autodesk.Revit.DB.Element)
' Get geometry element of the selected element
Dim geoOptions As Options = app.Create.NewGeometryOptions()
Dim geoElement As Autodesk.Revit.DB.GeometryElement = element.Geometry(geoOptions)
' Get geometry object
For Each o As GeometryObject In geoElement
Dim solid As Solid = TryCast(o, Solid)
If solid IsNot Nothing Then
For Each face As Face In solid.Faces
If face IsNot Nothing Then
Dim edgeArrays As EdgeArrayArray = face.EdgeLoops
For Each edges As EdgeArray In edgeArrays
For Each edge As Edge In edges
' Get one test point
Dim testPoint As XYZ = edge.Evaluate(0.5)
Dim edgeInfo As String = String.Format("Point on edge: ({0},{1},{2})", testPoint.X, testPoint.Y, testPoint.Z)
TaskDialog.Show("Revit", edgeInfo)
Next
Next
End If
Next
End If
Next
End Sub