Thank you all for your replies. Your answers let me get it to do what I asked it to do..
But there is a small problem. The attribute text is middle left justified which works if you bring it in on the right (you can have 32A, 20A D-CURVE, REFER NOTE 1 whatever and the text flows out to the right). Usually we mirror the block to get it on to the left hand side of the bus bar and the middle left justified text becomes middle right justified (which is how I want it to be on the left hand side).
Now that I use the lisp to bring in the block with a -ve X value to mirror the block the att text still remains MR justified.
It turns out that It'll work better if I mirror the last block from right to left, not bring it with a -ve scale factor.
poor thinking/wording on my part.
I guess if I do an ENTGET on the assoc numbers of the block when it comes in on the right I can then use the MIRROR command on the last object with two points (original xy and original x&y+100) and it'll work to flip it to the left (and the attribute text will be MR justified).
I guess the other way is to fiddle with the mirrored block on the left and justify it's attribute text to middle right. That seems more complicated to me than a simple mirror command.
Big Al -
I'm always interested to learn. ATM I've got about 60 lisps for about 12 blocks (diff visibility states) which I'm happy with.
Maybe there is a more elegant way to do it. Does your lisp (via LM) recognize a variable (say rotation) and then adjust the vis state to accommodate it?