Chris, i yous the following in my 3d-tools. ename is the entityname of the block, element is the element list of this block. The blocks are rotated to the current ucs. You can use it, if it helps to your problem. (setq vektneu (trans '(0 0 1) 1 0 T)) (setq pktneu (trans (setq pkt (cdr (assoc 10 element))) (cdr (assoc 210 element)) vektneu)) (setq element (subst (cons 10 pktneu) (assoc 10 element) element)) (setq element (subst (cons 210 vektneu) (assoc 210 element) element)) (entmod element) (setq elements (entget (setq enames (entnext ename)))) (while (not (= (cdr (assoc 0 elements)) "SEQEND")) (setq diff (mapcar '- (cdr (assoc 10 elements)) pkt)) (setq pktneus (mapcar '+ pktneu diff)) (setq elements (subst (cons 10 pktneus) (assoc 10 elements) elements)) (setq elements (subst (cons 210 vektneu) (assoc 210 elements) elements)) (entmod elements) (setq elements (entget (setq enames (entnext enames)))) ) (entupd ename)