;Rotate by existing object/angle...
(vl-load-com)

(defun C:RotBy (/ obj rot)
  (if (cond ((setq obj (entsel "\nSelect the source object for rotation <specify manually>: "))
             (and (setq obj (vlax-ename->vla-object (car obj)))
                  (or (not (vl-catch-all-error-p (setq rot (vl-catch-all-apply 'vla-get-rotation (list obj)))))
                      (prompt "\nRotation angle cannot be detected!"))))
            ((setq rot (getangle "\Specify final angle: ")))
      )

    (while (setq obj (entsel "\nSelect next target object to be rotated <exit>: "))
      (and (setq obj (vlax-ename->vla-object (car obj)))
           (or (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-put-rotation (list obj rot))))
               (prompt "\nCannot apply rotation angle!")
               )
           )
      )
    )
  (princ)
)