Autolisp Programming: Principles and Techniques