here's something i came up with, actually some retards somehow broke some of the rev cloud. so yeah, they are not all closed. but there are always other closed polylines in the database, can't assume this is false.
Dim BTR_Layout As BlockTableRecord = CType(trans.GetObject(oLayout.BlockTableRecordId, OpenMode.ForWrite), BlockTableRecord)
For Each id As ObjectId In BTR_Layout
Dim entBlock As DBObject = CType(trans.GetObject(id, OpenMode.ForRead), DBObject)
Dim DXF_Name As String = entBlock.GetRXClass.DxfName.ToUpper
If DXF_Name = "LWPOLYLINE" Then
entBlock = CType(trans.GetObject(id, OpenMode.ForWrite), DBObject)
Dim bIsRevisionCloud As Boolean = True
Dim oPolyline As Polyline = CType(entBlock, Polyline)
For i As Integer = 0 To oPolyline.NumberOfVertices - 1
Select Case oPolyline.GetSegmentType(i)
Case SegmentType.Arc
'do nothing
Case SegmentType.Line
bIsRevisionCloud = False
End Select
Next
'delete object if it is rev cloud
If bIsRevisionCloud = True Then
entBlock.Erase()
End If
End If
Next
Stantec
Dell Precision 5530, Prism M320PU, C3D 14/17/19