In these kinds of [I assume] rectangular-concrete-column buildings, I have typically seen the "column line" [the position on a column that remains in the same place from floor to floor going up through the building, as columns get smaller] on an edge or corner, not through the center, particularly around the perimeter [as at the lower right corner with the two "start point" lines]. And it looks that way with the alignment of some [but not all] 12" & 9" columns that I assume represent different floors. That would make it very difficult to automate, if what one has to work with are mostly closed Polyline rectangles, some of which may need column lines on their edges [how to decide which edges?], and some through their centers.
The one thing you didn't include in the drawing is any actual column lines to show what you intend. If you provide another drawing with those, include what you intend for an L-shaped column [I don't see any in the sample drawing].
Your Layer naming is peculiar -- 21"x27" and 18"x33" columns on a Layer called "12INCH COLUMN", lift shaft walls on one called "9 INCH COLUMN", etc. That would make it hard to automate -- I assume you don't want a column line generated through lift shaft walls, but they're closed Polylines on the same Layer as some that I assume you do want column lines through. How would a routine differentiate, since selection would typically be filtered by Layer and object type? Would it need to check the number of vertices? If you might have L-shaped ones, it couldn't, for example, just ignore anything with more than 4 vertices, but could it assume that anything with 6 or fewer is always a column?
Kent Cooper, AIA