Между прочим: Перебирая все подряд объекты стоит учесть, что вам могут попасться:
1. удаленные объекты (id.IsErased) - надо игнорить
2. невидимые объекты entity.Visible - сами решайте что с ними делать
3. объекты с заблокированных слоев - если хотите двигать и их тоже, то используйте tr.GetObject с forceOpenOnLockedLayer
И подумайте об аннотациях в пространстве бумаги поверх вьюпортов - то же надо бы двигать.