I've been waiting for you to come in and while what you've done shows that you're progressing well, your program here is built with a closing parenthesis in the wrong place. It will load, but everything past setq pt2 won't be part of the program as these have become four separate entities. Now, I'm sure the reason you want to jump ahead here and just work for horizontal dimensions is because you want something that works, so you can keep working at work, while continuing to learn and develop a more complete piece of code. So, fix your code above and localize your variables, meaning add variable names to (/ ) <-that area in the defun line. No globals.
I'm not done with you in the direction I want to take you. I see that you understand how to use (command etc...). I'm glad. That means I don't have to teach that. What it does mean is I need to teach you when you don't need to use it. In this training session we're not going to use it unless absolutely necessary. Let's continue. Did you look up subst (substitute), entmod (ENTity MODify), entupd (ENTity UPDate) and cons (CONStruct). This is where we stand.
I did a lot of thinking last night on how to know whether we need to send polar in a negative angle or a positive angle and it's pretty simple, really. Once we get a general direction, we'll get into if, cond and predicate functions.