Thanks John thats helpful. I’ve been thinking about similar things for when I have time to approach this again.
My thoughts were carrying on from what I have. Getting the bounding box of windows and doors. Getting the perimeter outline on the plane the wall is on. Getting the bottom curve and then using the length of the curve to space the tag off to the side of the opening or somehow remove that length of curve from the wall. Could get into a scenario where a door is at the end of the wall and it places it to the wrong side. However I could get the bottom wall plan surfaces and if the point misses a wall change its vector to the other side. So many things to account for. Its a good challenge. Ill post when I get a chance to see how it goes.
I would use this method for the bottom wall surfaces to try keep everything running as fast as possible when people tag many plans.