A bit long winded, but given your drawing has the points in 3d and the blocks in 2d, a few extra steps are required.
Here are the steps that I got to work:
1. Elevate the blocks by the level attribute value
lisp Attools | Cal | Delta | 0
2. Attsync blocks
3. rotate the blocks using your alignment
4. ucs ob pick left hand side of line
5. view cube front
6. UCS view
7. Copy paste into new drawing, to get the ucs as wcs for the next step.
8. Rotate blocks so that they are readable
Lisp reverttoblocks
See attached files and elev.dwg
This lisp would save copying and pasting into a new drawing if it could be modified to work with multiple blocks using their individual insertion points
.
;;;;http://www.cadtutor.net/forum/archive/index.php/t-84738.html?s=4e68c2e84bd785f978a37c43d09042a7
(defun c:3dbr
( / ang axs bpt ent obj
) (princ "\nMissed, try again.") )
( (/= 'ename
(type ent
)) nil) (princ "\nPlease select a block.") )
ang (/ pi 2.0)
)
(princ "\nRotate about [X/Y/Z] <Exit>: ") '(
((2 120) 1.0 0.0 0.0)
((2 088) 1.0 0.0 0.0)
((2 121) 0.0 1.0 0.0)
((2 089) 0.0 1.0 0.0)
((2 122) 0.0 0.0 1.0)
((2 090) 0.0 0.0 1.0)
)
)
)
)
)
)
)
)
)
)
P