Site Tools


使用图块

Rhino 4与5的图块基本上是一样的。但Rhino 5提供额外功能跟指令,可以在这里找到。

> 摘要: 图块提供一个档案中管理重复物件的方法。

使用图块的优点包括:

  • 如果是更改定义图块几何的图块引例,您可以更改任何数量的物件复本。
  • 物件可以从外部档进行更新。
  • 重复单一定义引例并不会将档案大小增加太多,因为只有一个实际定义保存在档案里。 所有引例都引用一个原始定义。 Rhino有一些簿记即显示的技巧,在其他位置和方向做显示。

图块如何运作:

当您在Rhino从目前档案中从几何以Block 指令建立图块,Rhino会将以选的几何换至为图块引例。 它将会在档案中储存图块定义 (您选取用来定义图块的几何)。您可以用Insert指令来插入任意数量的引例。 已存在的图块定义可以从下拉清单中的Insert来插入对话。

如果您插入另一个3dm档案为图块引例,类似的事情将发生。 图块定义会被当前档案储存。 您在荧幕上看到的是几何的引例。 不同在于如果定义追溯至外部档,是可以被更新,就像外部档有改变时,引例也跟着改变。 这可以通过BlockManager做到。

在这两种情况下,要让图块定义存在档案中并不需要放置任何实际的引例到档案里。这就是为什么有时候删除图层会发生问题。 如果某图块定义用到了图层,您没有办法删除它。 当一个图块的所有引例被删除时,就会出现这个状况。请用 Purge指令来删除所有未使用的图块定义。

要针对档案中某一图块更新所有图块引例,您需要重新定义图块。 炸开图块引例。

  1. 对物件进行更改。
  2. 利用Block 指令重新阻止使用相同名称的物件。
    您将看到一个警告对话方块,以确认对定义的更改。
  3. 或是您可以利用不同一组物件来重新定义图块。

范例尝试

  1. 做一个立方体并利用 Block 指令来定义图块。
  2. 将它命名为Box1
    将插入点放在框中的一角。
    之后,这已经不是一个立方体,看起来象是,但如果将其选取并查看属性(Properties) > 详情,您就会看到图块引例。
  3. 炸开图块。
  4. 再次检查属性(Properties)
    已经变回立方体,而不是那个命名为Box1的图块。
  5. 删除立方体。
  6. 现在请利用 Insert 指令。
  7. 在下拉清单里的插入(Insert) 对话找到 Box 1.
    这就是当初建立图块时做的图块定义。
  8. 将其作为图块引例并插入(Insert) ,然后复制引例。

在Rhino 4中重新定义图块:

  1. 选择Box1其中一个引例。
  2. 将其炸开还原为一个普通的立方体。
  3. 修剪(Fillet)立方体的边缘。
  4. 现在请利用 Block指令。
  5. 选取修剪过的立方体并选择一个插入点。
  6. 选择Box1为新图块的名字。
    Box1的所有引例现在都成为修剪过的立方体。
    它们有可能移动了如果您在新定义上选择的插入点跟原始的不一样。

在Rhino 5中重新定义图块:
在Rhino 5 您可以使用BlockEdit指令。

  1. 在图块引例上双点击以启动BoxEdit。
  2. BlockEdit对话框将会出现。
  3. 添加和删除物件,并重设插入点。
  4. 您现在可以在图块中直接做几何编辑。
  5. 关闭 BlockEdit 以储存此模型中图块引例的所有更改及更新。
  6. 选取“x”或ESC来取消重新定义。
  1. 建立球体。
  2. 建立图块 并选取一个插入点。
  3. 将立方体命名为Box1.
    修剪过的立方体现在都是球体了。

外部图块引用

外部档案的图块定义可以经由编辑及储存外部档来更新,接着在BlockManager 更新定义。 定义用的是绝对路径,所以您无法移动图块定义中使用的外部档案并且更新。 但目前定义并不在意源文件是否移动了,目前定义就是在目前的档案里。

范例尝试

  1. 做一个立方体,然后储存档案。
  2. 开一个新档,命名为Insert
    利用 档案(File) 来找到立方体的档案。
  3. 将其作为一个图块引例的插入。
  4. 将此图块做几个副本 - 尝试一下缩放、旋转。
  5. 在Rhino的另一个引例中,开启立方体的档案并修改边缘。
  6. 建立球体。
  7. 储存档案。
  8. 回到有插入图块的档案,并启动BlockManager 指令。
    您会看到有插入立方体档案的引用。
  9. 在清单中选取并按一下更新。这个档案里的引例现在应该都是修剪过的立方体与一个球体

有关图层的注解:

  • 在所有情况下,图块定义中物件的图层在引例中。
  • 关闭任何部分图块引例使用的图层,将会关闭Rhino视窗中那个部分的图块引例。
  • 关闭插入引例的图层将会导致关闭整个图块,不管其他图层是不是仍被这个图块使用中。

进阶技巧

SuperExplodeBlock 脚本
(现在已经是 V4Rhino Labs 工具,并且是V5中的指令)

计算图块脚本

zh/rhino/usingblocks.txt · Last modified: 2020/08/14 (external edit)