I couldn't help myself, but I rewrote the code. There is not much error checking, but it should work. I added a prompt for the gap width so that it would be more universal.
I hope this is what your after.
(defun c:panel (/ cmd osm pt1 pt2 pt3 pt4 wid hgt pns gap pwid ppt)
(setq cmd (getvar "CMDECHO")
osm (getvar "OSMODE")
)
(mapcar 'setvar '("CMDECHO" "OSMODE") '(0 175))
(and (setq pt1 (getpoint "\nPick bottom left corner of glass frame: "))
(setq pt2 (getpoint pt1 "\nPick top right corner of glass frame: "))
(setq pt3 (list (car pt1) (cadr pt2) 0.0))
(setq pt4 (list (car pt2) (cadr pt1) 0.0))
(setq wid (distance pt1 pt4))
(setq hgt (distance pt1 pt3))
)
(initget (+ 1 2 4))
(setq pns (getint "\nEnter number of panes: "))
(initget (+ 1 2 4))
(setq gap (getreal "\nEnter gap distance in decimal inches: ")
pwid (/ (- wid (* (1+ pns) gap)) pns)
ppt (polar pt1 0 gap)
)
(setvar "OSMODE" 0)
(command "undo" "begin")
(repeat pns
(command "_rectang"
ppt
(strcat "@" (rtos pwid 2 2) "," (rtos hgt 2 2))
)
(setq ppt (polar ppt 0 (+ pwid gap)))
)
(command "undo" "end")
(mapcar 'setvar '("CMDECHO" "OSMODE") (list cmd osm))
(princ)
)