In my use of Rhino for architectural design, I have typically relied on heavy use of blocks not only for entourage but also for building elements. Because blocks in Rhino are a pain to use and manage, I've begun writing and creating a suite of python scripts to make using blocks easier. Some of these commands provide a way to increase efficiency in placing and manipulating entourage, and others are simple enhancements to make block management easier in general.
Below are listed some of the commands I've created and use on a daily basis:
Select Blocks from a list and place in a grid for easy editing, comparing, exporting, etc.
Ever try deleting a layer only to discover it has some block objects on it preventing you from doing so? Use this command to move everything, including objects in blocks, from one layer to another.
Similar to Revit's Create Similar command. I use it for quickly copying and placing a selected block. It is also simplifies the editing of scaled blocks. Use the command to place a clean block without any transformations so it can be easily edited.
Add objects to blocks without having to go into the block editor, click add objects, select objects, hit enter, close block editor, and delete added objects that were left over.
Select all visible instances of a specified block.
Rename selected block without having to go through the block manager.
Duplicate block in place with a new name. I use this a lot. Useful for creating interchangeable blocks because block basepoints remain consistent from original block to duplicated one.
Similar to Revit’s Match Type Properties command. Select a source block and then select blocks you want to swap.
Drop blocks to a specified surface, polysurface, or mesh
Drop block to a specified surface, polysurface, or mesh and orient to the base normal at the drop point (bottom center of block instance)
Randomly scale and rotate selected blocks.
“Spray” blocks onto a surface, polysurface, or mesh. “Radius” adjusts brush size, “Proximity” sets the min distance between blocks, “Density” adjusts the number of blocks placed during each click (Density 100 attempts to place as many as possible with the given proximity, Density 10 places 10% of the possible placements), “MaxRotation”,”MinScale”, and “MaxScale” specify the range of randomness for the transformations, and “Eraser” allows you to toggle eraser mode to erase blocks (the “Density” option factors in with the Eraser in that Density 50 will erase half within the circle and Density 100 erases all). See image below for effects of the distribution options.