Block
Toolbar | Menu | Shortcut |
---|---|---|
|
Edit Blocks > Create Block Definition |
Ctrl (CMD) + B |
The Block command defines a block object from the selected objects and replaces the selected objects with an instance of the block.
Using blocks lets you
- Create parts libraries.
- Update all instances by modifying the block definition.
- Keep a smaller model size by using block instances instead of copying identical geometry.
- Use the BlockManager command to view information about the blocks defined in the model.
- Use the Insert command to place block instances into your model, which scales and rotates the instance.
Block Definition Properties
Name
The name of the block definition.
- Type a letter to select the first block name starting with the letter.
See: Naming conventions in Rhino
Description
Optional descriptive information.
Hyperlink
Adds hyperlink information to a block definition. This information can be retrieved with the Hyperlink command.
Description
A description of the URL.
URL
A web address. Click the address to open the page in the default browser.
Define a block by inserting another file into a model
- Use the Insert command with the Insert as option set to Block Instance.
A block definition will be added to the model.
Define a block by dragging another file onto a model
- Drag and drop a supported file from Windows Explorer onto the model.
- Specify the Insert file option.
A block definition will be added to the model.
To redefine a block
- Follow the steps for defining a block and re-use the same block name.
Note
- Do not create blocks in a model that are named the same as the model itself.
- When inserting a file with the Insert command, the file's ModelBasepoint will determine how the geometry is being located in the new file.
Block Instances and Layers
The properties of the geometry (curves, surfaces, etc.) that are contained in the block instance are controlled either by the layer properties or object properties of the geometry itself. Block instances that you insert to the model insert onto the current layer and can be moved to any other layer. There is no relationship between the block instance's layer and the geometry contained in the block. For example, the block geometry does not change to match the layer color onto which the block instance is inserted.
When the block contains objects on a specific layer, turning that layer off will turn off only the objects on that layer. However, if the layer the block instance is inserted on is turned off, all of the objects will disappear.
Locking Layers
When you lock a layer, only the layer that contains the insertion point of the block instance is locked. If a block has objects that are on the locked layer, but the block instance insertion point is not on that layer, the object itself is not locked because the controlling factor is the layer of the block insertion point.
Groups
Grouped objects will not maintain their grouped status inside a block.
Properties by parent
This option is only useful for objects in blocks. Think of a block instance as a container that contains objects (block members). A block instance is the parent of its block members. A block instance has its own properties. If By Parent is selected in the properties of a block member, the properties will be controlled by the block instance.
Simple block example:
-
In this example, Block A contains a cylinder and a box. The Display Color of the box is By Parent and is controlled by its parent (Block A). The box will display Block A's layer color because the display color of Block A is By Layer. The cylinder will always display its own layer color and will not be changed by Block A.
Nested block example:
-
Now Block A is nested in Block B. The box still displays Block A's layer color because By Parent only works with the direct parent.
-
If the Display Color of Block A is changed to By Parent, the display color of the box will be indirectly controlled by its grandparent (Block B).
By Parent can be selected for Display Color, Linetype, Print Color and Print Width in object properties. For the Render material, select Use Object Parent. Render materials are only visible in Rendered and Raytraced display modes by default.
Toolbar | Menu |
---|---|
|
Edit Blocks > Block Manager |
The BlockManager command manages the block definitions in the model.
Steps
- In the Block Manager dialog box, set block properties.
Block Manager
Block Definition
Name
Displays a list of block definitions in the model.
See: Naming conventions in Rhino
Link Status
Displays the status of block instances linked to external files.
Up to date
The block definition and link file match.
Linked file is older
The linked file is older than the block definition.
Linked file is newer
The linked file is newer than the block definition.
Linked file is different
The linked file and the block definition do not match.
Not linked
The block definition was not created by importing a file.
File not found
The file that was used to create a linked block definition cannot be found.
The missing block location is marked with a text dot object listing the missing block name.
For a description of the process Rhino uses to locate files used by worksessions and linked instance definitions, see Rhino Wiki: File finding.
To resolve the issue
- Click the
Or, click to remove the link.
button to locate the missing block file, and then click the Update button to restore the missing block.
Link File Name
The name of the file that was imported to create the block definition.
Hidden and reference blocks
Model has <n> hidden and <n> reference block definitions.
Show hidden block definitions
Display the block names beginning with * (asterisk character).
Show nested reference block definitions
You can look at and modify the properties of nested linked blocks. However, any changes made to nested linked block settings are temporary and are never saved. To permanently change linked block settings, edit the model containing the linked block.
Description
Displays the text information of the block definition.
Embedded and linked blocks should
These options decide how "embedded and linked" block definitions will be updated each time a model is opened.
Always update
Prompt when update required
The Block Definitions to Update dialog box prompts for action.
Never update
Never update and do not prompt.
Block preview
Turns on a graphical preview of the block.
Preview image right-click menu | |
---|---|
Wireframe |
Sets the view to Wireframe display mode. |
Shaded |
Sets the view to Shaded display mode. |
Rendered |
Sets the view to Rendered display mode. |
Top |
Sets the view to World Top. |
Bottom |
Sets the view to World Bottom. |
Left |
Sets the view to World Left. |
Right |
Sets the view to World Right. |
Back |
Sets the view to World Back. |
Perspective |
Sets the view to World Perspective. |
Buttons | |
---|---|
Properties |
Opens the Block Definition Properties dialog box. Block Definition NameThe block name. File NameThe external file name linked to the block definition. BrowseChange the name or location of the external file. External FileFor a file inserted as block instance. Read linked blocks from this fileBlocks linked to the file being inserted are also inserted. Block definition typeBlocks linked to the file being inserted are always read as linked blocks, no matter what the Block definition type is. EmbedInsert geometry into the current file. This will not update if the external file changes. Embed and linkInsert geometry into the current file and maintain a link to the external file. Linked geometry can be updated when the external file changes. If the external file cannot be located, the geometry is still defined in the current file. LinkMaintain only a link to the external file. Linked geometry is updated when the external file changes. If the external file cannot be located, the geometry will not appear in the current file. Blocks are saved with both absolute and relative paths. Layer StyleDefines how layer names are organized ActiveMerges layers with the same names. ReferenceCreates a parent layer using the name of the linked file. Layers in the linked file appear as sub-layers under the parent layer. DescriptionType an optional description. HyperlinkAdds hyperlink information to a block definition. This information can be retrieved with the Hyperlink command. DescriptionA description of the URL. URLA web address. Click the address to open the page in the default browser. |
Export |
Exports the blocks' component objects to a file. |
Delete |
Delete the selected block definition and all of its instances in the model. Block definitions nested in another block cannot be deleted. |
Redefines the block definition to match the original imported file. Use the information in the Link Status column to determine if the file needs to be updated. Update linked blocks by selecting instances in viewportsBy this procedure, you can update specific linked blocks without opening Block Manager to browse through the block list.
Block Definitions to Update This model contains blocks linked to external files that have changed. Select the block definitions to updateNameDisplays a list of block definitions in the model. Link StatusDisplays the status of block instances linked to external files. Link File NameThe name of the file that was imported to create the block definition. Select AllSelects all block definition names in the list. Clear AllClears all block definition names in the list from the selection. Update LaterUpdating the block definitions is postponed until you update manually or reopen the file. Update NowUpdates all of the selected block definitions. |
|
Used by |
Lists block definitions that contain the selected block as a nested block. |
Count |
Counts the number of instances of the block in the model. Nested instances are included in the count. |
Select |
Selects instances of the selected block definition in the viewport. If block instances are selected before the Block Manager is opened, those block names will be selected in the Block Definition list. |
Refresh |
Refreshes the block list, updating the link status and block properties. This is useful when linked block references may have changed outside the current model. |
Toolbar | Menu |
---|---|
|
Edit Blocks > Edit Block in Place |
The BlockEdit command allows selecting a block instance to change the block geometry and update the block definition.
Steps
- Select a block instance to edit.
Or
Double-click a block instance.
The block geometry opens in the Rhino window. All other objects are locked.
You can now edit the geometry in the block using any editing techniques. - Click OK to accept the editing.
To cancel, click the [X] button at the upper-right corner.
Command-line options | |
---|---|
PromptToEditLinkedBlocks |
Linked blocks are not stored in the Rhino file, but are a connection to an external model. To edit linked blocks, Rhino opens the external model in a separate instance of Rhino. The current editing session is paused until the external file is locked. YesPrompts to open a linked block. NoOpens the linked block without prompting. In the Edit Linked Block dialog box, checking the Don't ask this question again... box automatically sets the PromptToEditLinkedBlocks to No. |
Block Edit options
The Block Edit dialog box displays the block name and a list of any blocks nested in it.
Add Object
Adds selected objects to the block definition. If the selected object is a block, this becomes a nested block and will display in the tree the next time the BlockEdit command is run.
The object added is copied to the block definition and the original object remains in the model.
Remove Object
Removes selected objects from the block definition.
When the block is updated, the removed objects are added to the model as separate individual objects.
Set Base Point
Repositions the block insertion point.
When the block is updated, the block instance will shift so the new insertion point is placed at the block insertion location.
Notes
- Hidden or locked objects are not supported in block definitions. therefore, a warning dialog will appear if you have locked or hidden objects giving you the option to leave objects hidden or locked and remove them from the block definition or to show and or unlock the objects to make further edits.
- Linked blocks in use by another user cannot be edited.
- If the Block Edit dialog left open when the current model is saved and closed, the Block Edit dialog will appear when the model is re-opened. The block editing can be continued.
Toolbar | Menu |
---|---|
|
|
The ReplaceBlock command redefines selected block instances with a different block definition.
Steps
Command-line options | |
---|---|
SelectFromBlockDefinitionList |
Displays a list of block definitions in the model to select from. |
All |
Selects all instances of the current block definition including unselected, hidden, and locked instances. |
None |
Selects no additional instances. Only the selected instances will be changed. Or Select a block from the definition list. |
CopyLinkedBlockDefinition
Toolbar | Menu |
---|---|
|
|
The CopyLinkedBlockDefinition copies a linked block with Reference style layers.
To create your own example:
- Create a simple file called BlockDef.3dm that will be used as a block definition.
- Start a new model called "FancyModel.3dm".
- Use the Insert command to create a linked block definition with "reference style" layers.
- Name this block "A".
- Run the CopyLinkedBlockDefinition command and copy "A" to new block named "B".
- Run the CopyLinkedBlockDefinition command and copy "A" to new block named "C".
- Adjust the layer settings for the three blocks.
- Run BlockManager and see that you have three linked blocks that reference the same "BlockDef.3dm".
See also
Work with blocks, groups, and worksessions
BlockResetScale
Toolbar | Menu |
---|---|
|
Edit Blocks > Reset Block Scale |
The BlockResetScale command resets the x, y, and z scales of a block instance to 1, or applies the best-fit scale to all axes.
Command-line options
Mode
One
Resets the x, y, and z scales of a block instance to 1.
Automatic
If any two axes have the same scale, applies the scale to the third axis.
If all three axes have different scales, applies the average scale to all axes.
- The command will not prompt the options if the block instances are preselected.