how to create routine to mimic - pick viewport, pick grip, pick new location

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
I would like to be able to mimic the following steps in AutoLisp -
Pick a Viewport
Pick a grip
Pick a new location
I've gotten as far as
(and
(setq EL (entget (entlast)))
(= "VIEWPORT" (cdr (assoc 0 EL)))
(setq VPobj (vlax-ename->vla-object (cdr (assoc -1 EL))))
(setq P1 (getpoint "\nPick OLD location of Viewport corner to move or [Enter]=no move ? "))
(setq P2 (getpoint P1 "\nPick NEW location for Viewport corner ? "))
(setq VPc (vlax-safearray->list (vlax-variant-value (vla-get-center VPobj))))
(setq VPh (vla-get-height VPobj))
(setq VPw (vla-get-width VPobj))
(setq PLL (list (- (car VPc) (/ VPw 2.0)) (- (cadr VPc) (/ VPh 2.0)) 0.0))
(setq PLR (list (+ (car VPc) (/ VPw 2.0)) (- (cadr VPc) (/ VPh 2.0)) 0.0))
(setq PUL (list (- (car VPc) (/ VPw 2.0)) (+ (cadr VPc) (/ VPh 2.0)) 0.0))
(setq PUR (list (+ (car VPc) (/ VPw 2.0)) (+ (cadr VPc) (/ VPh 2.0)) 0.0))
(member P1 (list PLL PLR PUL PUR))
)