Hi matt,
> Currently i take a piece and run 'separate', then i can get a surface which has many holes in it,
> from here i manually select all the holes edges and delete.
Instead of this current process, what I'd recommend is keep the object joined together, do not run separate on it.
Instead zoom in and select one of the little hole side wall pieces. That's done by a "drill in" selection where on the second click on an object it will switch selection from the whole object to a sub-object. Edges have priority over faces and so you need to be zoomed in enough so you have a spot where you can click near the middle area of a face that is not directly next to an edge a few pixels away so that you can target the face instead of edges.
Once you have one of those little side wall face sub-objects selected, zoom back out a little bit and now do window selects to capture more of those side wall faces. Once you have an intial face or edge sub-object selection active then window selects will only target that same type of sub-objects after that. Sometimes it's easiest to just select a big face to sort of "prime the pump" to be in face targeting mode and then do some window selects of small faces and then click a second time on the big face you used for the "priming" to deselect it. That way has less zooming involved.
Do your selection windows starting on the left and dragging towards the right, that will only capture faces that are totally contained within the selection window. Be careful in the corner areas where there are also some smallish faces in the outer corner spots, you don't want to accidentally delete those too.
If you make a mistake and accidentally unselect things or select the wrong thing, do a single undo right then before doing anything else, undo works to revert just the last done selection action.
After you've built up a selection over a minute or so hit delete to remove those and then repeat that process until you've deleted all the side wall faces.
Now after you have deleted all those side wall pieces instead of just a big pile of surfaces you've got a joined surface with naked edges in the holes, you can then select all the naked edges using the script here and then delete them all in one go:
http://moi3d.com/forum/index.php?webtag=MOI&msg=6051.2
This sequence should be significantly faster than your previous method.
- Michael