That does appear to get them into an ordered array but now I’ve got to find the correct starting point of the array so that transform_by_vectors method applies the correct vector to the correct point:
In the image below the right side of the footing has been properly modified by the transform whereas the left side is jumbled up because the incorrect vectors are being applied to the specific points. Both the points and vectors are ordered in this case but they are not synchronized, or more correctly clocked to the same starting point. The other thing I didn’t think about is that the order may be also reversed even though it is ordered.
It sure would be nice if I had an easier way to modify these faces for an angled cut but unfortunately I can’t rely on a boolean operation in this instance since the two end of the footings may actually contact or overlap each other and then the cut operation would inadvertently cut the other end and vice versa.
Somehow I manage to get myself into some real messy topological problems. I guess this is the plight of a plugin developer.