Following Lee Mac's wisdom to intercept & analyze the user input before passing it to the ALIGN command, I wrote this function... Only now I see that you're searching for 3DALIGN... Never mind, I wrote it for ALIGN in 3D...Code - Auto/Visual Lisp: [Select]
) ) )
HTH
Welcome to the Swamp! 8-)
What type of object is your 'drill hole' (i.e. block reference / circle / 3D solid etc). If the object is planar, you could store the defining geometry (i.e. extrusion vector, position, rotation, etc.) and see how these properties are altered following the transformation. If the object is 3D, you may be able to interpret the changes to properties such as the Principal Directions / Centroid etc.
Alternatively, you could use a wrapper for the 3DALIGN command so that you can intercept & analyse the user input before passing it to the 3DALIGN command.