These will help you with the Visual LISP:
- (defun v-move (ss p1 p2 / i ent) (vl-load-com) (setq i -1) (while (setq ent (ssname ss (setq i (1+ i)))) (vla-move (vlax-ename->vla-object ent) (vlax-3D-point p1) (vlax-3D-point p2))) ss)(defun v-copy (ss p1 p2 / i ent) (vl-load-com) (setq i -1) (while (setq ent (ssname ss (setq i (1+ i)))) (vla-move (vla-copy (vlax-ename->vla-object ent)) (vlax-3D-point p1) (vlax-3D-point p2))) ss)(defun c:test (/ ss pt1 pt2) (if (and (setq ss (ssget "_:L")) (setq pt1 (getpoint "\nFrom: ")) (setq pt2 (getpoint pt1 "\nTo: "))) (v-move ss pt1 pt2)) (princ))
"ss" is a SelectionSet, p1, p2 are points. |