fn findIsolatedPolys obj:selection[1] faces: = if iskindof obj Editable_Poly do
(
fn firstBit arr = if arr.isEmpty then #{} else #{(arr as array)[1]}
--if faces == unsupplied do faces = obj.selectedfaces as bitarray
if faces == unsupplied do faces = obj.faces as bitarray
local vertsUsingFace = polyop.getVertsUsingFace
local facesUsingVert = polyop.getFacesUsingVert
local iso = #(), f, ff, flist
f = firstBit faces
flist = faces
while not f.isEmpty do
(
ff = facesUsingVert obj (vertsUsingFace obj f)
ff *= faces
flist -= ff
f = if not (ff - f).isEmpty then ff else
(
append iso ff
firstBit (faces = flist)
)
)
iso
)
obj_elements_array=findIsolatedPolys()
print obj_elements_array