This shows you the differences between two versions of the page.
rhino:usingblocks [2015/10/08] |
rhino:usingblocks [2020/08/14] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Using Blocks ====== | ||
+ | The basics of blocks are the same in Rhino 4 and 5. However, Rhino 5 offers additional features and commands that you will find [[http:// | ||
+ | |||
+ | > **Summary: | ||
+ | |||
+ | =====Advantages of using blocks include: | ||
+ | |||
+ | * You can change any number of copies of an object if they are block instances by making changes to the geometry that defines the block. | ||
+ | * Objects can be updated from external files. | ||
+ | * Repeated instances of a single definition do not increase the file size much since there is only one actual definition for the block held in the file. All instances reference the data for the one original definition. Rhino does some bookkeeping and display tricks to display these at the other locations and orientations. | ||
+ | |||
+ | =====How blocks work:===== | ||
+ | When you make a block in Rhino from geometry in the current file with the [[http:// | ||
+ | |||
+ | If you insert another 3dm file as a block instance, a similar thing happens. The block definition is sucked into the current file and saved with it. What you see on screen is an // | ||
+ | |||
+ | In both cases, there need not be any actual instances placed in the file for the block definition to exist in the file. This is why you sometimes have trouble deleting layers. If a block definition uses the layer, you cannot delete it. This can happen when all instances of a block have been deleted. Use the [[http:// | ||
+ | |||
+ | To update all block instances of a particular block in the file, you need to redefine the block definition. | ||
+ | [[http:// | ||
+ | - Make changes to the objects. | ||
+ | - Use the [[http:// | ||
+ | - Or, you can redefine the block with a different set of objects. | ||
+ | |||
+ | |||
+ | ====An example to try==== | ||
+ | - **//Make a box//** and use the [[http:// | ||
+ | - Call it **Box1**. \\ Put the insertion point at one corner of the box. \\ When this is done, the box is no longer a box. It looks like a box, but if you select it and look at [[http:// | ||
+ | - [[http:// | ||
+ | - Check [[http:// | ||
+ | - Delete the box. | ||
+ | - Now, use the [[http:// | ||
+ | - In the drop-down list of the [[http:// | ||
+ | - [[http:// | ||
+ | |||
+ | **// | ||
+ | - Select one of the instances of **Box1**. | ||
+ | - [[http:// | ||
+ | - [[http:// | ||
+ | - Now start the [[http:// | ||
+ | - Select the filleted box and choose an insertion point. | ||
+ | - Select **Box1** as the name for the new block. \\ All of the instances of Box1 are now filleted boxes. \\ They may move if you picked an insertion point on the new definition that is different from the original. | ||
+ | |||
+ | **// | ||
+ | In Rhino 5 you can use the [[http:// | ||
+ | - Start BlockEdit by double clicking on a block instance. | ||
+ | - The [[http:// | ||
+ | - Add and delete objects and reset the insertion point. | ||
+ | - You can directly edit the geometry in the block. | ||
+ | - Close the [[http:// | ||
+ | - Pick the " | ||
+ | |||
+ | - **//Make a sphere.// | ||
+ | - Start **[[http:// | ||
+ | - Call the block **Box1**. \\ The filleted boxes are now all spheres. | ||
+ | |||
+ | =====External block references===== | ||
+ | Block definitions that are from external files can be updated by editing and saving the external file then updating the definition in [[http:// | ||
+ | |||
+ | |||
+ | ====Example to try==== | ||
+ | - **Make a box**, and save the file. | ||
+ | - Open a new file, and call **[[http:// | ||
+ | - Insert it as a block instance. | ||
+ | - Make several copies of the block - scale, rotate, move these to taste. | ||
+ | - In another instance of Rhino, open the box file and fillet the edges. | ||
+ | - Make a sphere. | ||
+ | - Save the file. | ||
+ | - Go back to the file with the inserted blocks and start the [[http:// | ||
+ | - Select it in the list and click **Update**. \\ The instances in the file should now all be filleted boxes with a sphere. | ||
+ | | ||
+ | **Notes about layers: | ||
+ | * In all cases, the layers that the objects in the block definition are on are maintained in the instances. | ||
+ | * Turning off any layer that some part of a block instance uses will turn off that part of the block in the Rhino window for all instances of that block. | ||
+ | * Turning off the layer on which the instance was inserted will turn off the entire block regardless of the state of the other layers used by the block. | ||
+ | |||
+ | =====Advanced Techniques===== | ||
+ | |||
+ | **[[developer: | ||
+ | (Now a part of [[labs: | ||
+ | |||
+ | **[[developer: | ||
+ | |||