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:
PlaceBlocks
Select Blocks from a list and place in a grid for easy editing, comparing, exporting, etc.
ConsolidateLayers
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.
CreateSimilar
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.
AddToBlock
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.
SelInstances
Select all visible instances of a specified block.
RenameBlock
Rename selected block without having to go through the block manager.
DupBlock
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.
MatchBlock
Similar to Revit’s Match Type Properties command. Select a source block and then select blocks you want to swap.
DropBlocks
Drop blocks to a specified surface, polysurface, or mesh
DropBlocksToNormal
Drop block to a specified surface, polysurface, or mesh and orient to the base normal at the drop point (bottom center of block instance)
RandomTransform
Randomly scale and rotate selected blocks.
SprayBlocks
“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.
Back to Top