If you have a group of blocks, e.g. poles, trees, arranged in a plan view and you want to drape ("move", "drop", "plant") them in 3D onto the surface of a certain terrain (DTM model) - i.e. change just their elevation, you can use several ways.
If you are working in Civil 3D, you can use the MoveBlocksToSurface command in the TIN context ribbon of the surface and move the blocks (references) of the specified name to its surface globally.
In AutoCAD or in cases where your terrain is defined only by a triangular grid of 3D faces (3DFace), you can use the freeware LISP utility DTMmoveB.
Download DTMmoveB from Download, load it into your AutoCAD with APPLOAD and run it by typing the command DTMMOVEB. First select the terrain model triangles (or all or a true Surface/Solid) and then select the blocks to be moved, or specify them by name. The application moves the insertion points of these blocks (block references) to the terrain surface without changing their plan (XY) location. Blocks lying outside the terrain area will not be changed.
We recommend to perform this operation in plan view.