Sel Planar Mesh
Last changed: dale@mcneel.com-204.177.179.144

.
DeveloperRhinoScript
SummaryDemonstrates how to select mesh objects that are planar using RhinoScript.

Question

Is there a tool or a script that will let me select all planar meshes?

Answer

Currently, RhinoScript does not have a method that returns whether or not a mesh is planar. But, if you obtain a meshes vertices, you can test to see if all of the points are coplanar.

Example

The following example RhinoScript demonstrates how to select all planar mesh objects.

  Sub SelPlanarMeshes
    Const rhMesh = 32
    Dim arrMeshes, arrVertices, i
    arrMeshes = Rhino.ObjectsByType(rhMesh)
    If IsArray(arrMeshes) Then
      Rhino.EnableRedraw vbFalse
      For i = 0 To UBound(arrMeshes)
        arrVertices = Rhino.MeshVertices(arrMeshes(i))
        If Rhino.PointsAreCoplanar(arrVertices) Then
          Rhino.SelectObject arrMeshes(i)
        End If
      Next
      Rhino.EnableRedraw vbTrue
    End If
  End Sub

Here is a Rhino tooolbar button macro version of the above.

  _NoEcho
  _-RunScript (
  arrMeshes = Rhino.ObjectsByType(32)
  If IsArray(arrMeshes) Then
  Rhino.EnableRedraw vbFalse
  For i = 0 To UBound(arrMeshes)
  arrVertices = Rhino.MeshVertices(arrMeshes(i))
  If Rhino.PointsAreCoplanar(arrVertices) Then
  Rhino.SelectObject arrMeshes(i)
  End If
  Next
  Rhino.EnableRedraw vbTrue
  End If
  arrMeshes = vbNull
  arrVertices = vbNull
  )