Degenerate polygons are usually zero-area polygons.
Here’s a script that uses the ICE attribute PolygonArea to find polygons with area less than a specified epsilon:
si = Application epsilon = 0.00001 # Get PolygonArea DataArray (which is a tuple) attr = si.Selection(0).ActivePrimitive.GetICEAttributeFromName( "PolygonArea" ) areaData = attr.DataArray # # Find the indices of the bad polys # bad = [ x for x,y in enumerate( areaData ) if y < epsilon] # Select the degenerates with a string like 'cube.poly[112,114,155]' si.SelectGeometryComponents( 'cube.poly[%s]' % ','.join(str(i) for i in bad) ) ### OR ### # # Get the actual Polygon objects # polys = si.Selection(0).ActivePrimitive.Geometry.Polygons bad = [] for i in range( len(areaData) ): if areaData[i] < epsilon: bad.append( polys(i) ) si.SelectObj( polys )