by TTT in Scripts and Addons

Copies the active object to selected objects positions with rotation and scale. Perfect for replacing imported objects(autocad blocks etc.) with your own objects. You can copy the objects linked or unlinked. It lets you replace objects with group instances, links, metaballs or curves which is kind of a problem in vanilla Blender.

You can also change the scale of the copied objects or add some random scale or rotation.

Let's say you have a scene full of imported autocad trees, and you have a tree as a collection instance consisting of curves and meshes, first selecting the autocad blocks and setting the tree as an active object will scatter the trees precisely to the locations of blocks, and you can also add some random scale or rotation. 

Or just the opposite, Replace trees with Circles or a simple mesh to have some kind of a LOD system.

Or you have an imported model and replace the empties with blender cameras, TTTools will do it in no time. 

Ctrl+Shift+T to activate TTTools.

The Story:

Every now and then at the office I need to replace imported objects with trees and benches etc. for further use in UE4 or etc., which is a boring repetitive task, so I actually needed that for my own workflow but thought someone else might find it useful too.

15.04.2021 Update 0.0.21:

Added optional Constant Rotation on top of the original Rotation.

Constant rotation allows you to choose which global axis you want to rotate

Euler changed to radians for comfort.

Random rotation now enables to randomize individual axis.(or just enable them all to get crazy rotations.).