How to calculate the number of specific faces according to their size or area in a complex model?

If you want to automate a process, you need to be very, very specific because there won’t be a human with knowledge that can interprete what is meant to be done.

For example, a SketchUp model usually contains a lot of rectangles that are not panels, so you need an unambiguous criterium to distinguish panels from other rectangles so that the (stupid) program does not count any rectangle as panel. Ideally your panel is a component definition with a specific name and that contains exactly one rectangle.

Another challenge is that a model can be organised as a nested hierarchy of groups/components (building, building part, room, panel) which can all be scaled, so for the final size of a panel all scalings need to be considered. Ideally, we can assume your model does not scale components to any size other than the natural size of their component definition (100%), that would simplify the task, otherwise it is more complicated to compare the size of panels.

Similarly, due to the model hierarchy, the actual number of component instances can be multiplied if a parent component has multiple instances.

If that is all clarified, the solution is basically to find all occurences of panels (component instances whose defition has the given name), get their size, group by same size and then count the number of panels in each group. This can be done with Ruby.

1 Like