Block

ツールバー メニュー ショートカット

ブロック
メイン
メイン1

編集

ブロック >

ブロック定義を作成

Ctrl (CMD) + B

Blockコマンドは、選択オブジェクトからブロックオブジェクトを定義し、選択オブジェクトをブロックインスタンスと置き換えます。

ブロックを使用すると次のようなことが行えます。

  • 部品ライブラリを作成する。
  • ブロック定義を変更し、すべてのインスタンスを更新する。
  • 同じジオメトリをコピーする代わりにブロックインスタンスを使用することで、モデルサイズを小さく維持する。
  • BlockManagerコマンドを使用して、モデルに定義されたブロックの情報を見る。
  • Insertコマンドを使用して、ブロックインスタンスをスケール変更、回転し、モデルに配置する。

モデルのブロックを定義する

  1. オブジェクトを選択します。

  2. ブロックの基点をピックします。

    インスタンスを挿入する際は、この点を基準にインスタンスが配置、スケール変更、回転されます。

    1つのブロックの制御点がブロックの基点に配置されます。

  3. ブロック定義の名前をタイプします。

    ブロック定義は、アクティブな単位系 (モデル/レイアウト)を使用して作成されます。

ブロック定義のプロパティ

名前

ブロック定義の名前です。

  • 1文字タイプすると、その文字で始まる最初のブロック名を選択できます。

参照: Rhinoでの命名規則

説明

オプショナルの説明情報です。

ハイパーリンク

ハイパーリンクの情報をブロック定義に追加します。この情報は、Hyperlinkコマンドを使用して取得できます。

説明

URLの説明です。

URL

ウェブアドレスです。アドレスをクリックすると、デフォルトのブラウザでページが開きます。

別のファイルをモデルに挿入することでブロックを定義する

  • Insertコマンドを、挿入する形式オプションをブロックインスタンスに設定して用います。
    ブロック定義がモデルに追加されます。

別のファイルをモデルにドラッグすることでブロックを定義する

  1. サポートされているファイルをWindowsエクスプローラからモデルにドラッグアンドドロップします。
  2. ファイルのインサートオプションを指定します。
    ブロック定義がモデルに追加されます。

ブロックを定義し直すには

  • ブロックを定義する操作方法に沿い、同じブロック名を再度使用してください。

メモ

  • モデルにモデル自体と同じ名前を付けたブロックは作成しないでください。
  • Insertコマンドを使用してファイルを挿入する際は、ファイルのモデルの基点がジオメトリが新しいファイルにどのように配置されるのかを決定します。

ブロックインスタンスとレイヤ

ブロックインスタンスに含まれるジオメトリ(曲線、サーフェス等)のプロパティは、レイヤのプロパティまたはジオメトリ自体のオブジェクトのプロパティによって制御されます。モデルに挿入したブロックインスタンスは、現在のレイヤに挿入され、その他のどのレイヤに移動することも可能です。ブロックインスタンスがあるレイヤと、ブロックに含まれるジオメトリの間に関係はありません。例えば、ブロックのジオメトリが、ブロックインスタンスが挿入されたレイヤの色に合わせるために変更されるということはありません。

ブロックが特定のレイヤにあるオブジェクトを含む場合、そのレイヤをオフにすると、そのレイヤにあるオブジェクトだけがオフになります。しかしながら、ブロックインスタンスがあるレイヤをオフにした場合、すべてのオブジェクトがオフになります。

レイヤのロック

レイヤをロックする際は、ブロックインスタンスの挿入点が含まれるレイヤがロックされます。ブロックにロックレイヤにあるオブジェクトが含まれる場合で、ブロックインスタンスの挿入点がそのレイヤにない場合、制御するのはブロック挿入点のレイヤなので、オブジェクトはロックされません。

グループ

グループ化されたオブジェクトは、ブロック内でグループ化の状態を保ちます。

親の設定によるプロパティ

このオプションは、ブロック内のオブジェクトに対してのみ有効です。ブロックインスタンスをオブジェクト(ブロックのメンバー)が入っている容器と考えてください。ブロックインスタンスは、そのブロックのメンバーの親です。ブロックインスタンスには、それ自体のプロパティがあります。ブロックのメンバーのプロパティで親の設定を選択している場合、そのプロパティはブロックインスタンスによって制御されます。

シンプルなブロックの例:
  • この例では、Block Aに円柱と直方体が含まれています。直方体の表示色親の設定なので、表示色はその親(Block A)によって制御されます。Block Aはレイヤの設定なので、直方体はBlock Aのレイヤの色で表示されます。円柱は常にそれ自体のレイヤの色で表示され、Block Aによって変更されることはありません。

ネストされたブロックの例:
  • この例では、Block ABlock Bにネストされました。しかし、直方体は最初の例と変わらずBlock Aのレイヤの色で表示されます。これは、親の設定には直接の親が使用されるからです。

  • Block Aの表示色親の設定に変更すると、直方体の表示色はその祖父母(Block B)によって制御されます。

親の設定は、オブジェクトのプロパティの表示色線種印刷色印刷幅に設定することができます。レンダリングのマテリアルに設定するには、オブジェクトの親を使用を選択します。レンダリングのマテリアルはデフォルトでレンダリングレイトレース表示モードのみで表示されます。

BlockManager

ツールバー メニュー

ブロック

編集

ブロック > ブロック定義

ウィンドウ

パネル > ブロック定義

BlockManagerコマンドは、モデルのブロック定義を管理できるブロック定義パネルを開きます。

ブロック定義パネル

ブロック定義を作成
選択オブジェクトから

Blockコマンドと同様に、モデル内のオブジェクトから新規ブロック定義を作成します。

ファイルから

サポートされているファイル形式をブロック定義としてモデルに挿入します。Insertコマンドと同様の動作を行います。

フィルタ

<n>個の非表示のブロック定義を表示

非表示のブロック定義を表示します。

非表示のブロック定義は、*Chairのように* (アスタリスク文字)で始まる名前が使用されています。

参照ブロック定義を表示

リンクされたブロック定義内のブロックを個別の最上位のアイテムとして表示します。

使用されていないブロック定義を表示

モデル内にインスタンスがないブロック定義を表示します。

ブロック定義内のすべてのオブジェクトを表示

ブロック定義内のオブジェクトを表示します。それ以外の場合は、最上位のブロック定義のみを表示します。

ネストされたブロックの子を表示

他のブロック定義にネストされているブロック定義を表示します。

類似のブロックインスタンスをグループ化

同じブロック定義内の複製されたネストブロックを一度だけ表示します。

埋め込まれたブロック定義を表示

モデルに保存されているブロック定義を表示します。

埋め込まれたおよびリンクされたブロック定義を表示

モデルに保存され、また、外部ファイルを参照しているブロック定義を表示します。

リンクされたブロック定義を表示

外部ファイルを参照するブロック定義を表示します。

検索ボックス

リストのアイテムをフィルタリングするのに使用するテキスト文字列を入力します。

ワイルドカードを使用できます:

* = 0個以上の文字
? = 1文字

オプションメニュー

すべて折りたたむ

最上位のアイテムのみ表示するようにリストを折りたたみます。

すべて展開

すべてのレベルの項目を表示するようにリストを展開します。

ビューポートから選択を取得

ビューポート内の選択したブロックインスタンスによって参照されるブロック定義を選択します。

使用されていないブロック定義を消去

モデルまたはレイアウト空間にインスタンスがインサートされていないブロック定義を削除します。

より多くの種類の未使用データを削除するには、Purgeコマンドを使用します。

リンクされたブロック定義をエクスポート

現在のモデル内のすべてのリンクそして埋め込みおよびリンクされたブロック定義をzipファイルに保存します。

埋め込みおよびリンクブロックの操作

これらのオプションは、「埋め込みおよびリンク」ブロックの定義をモデルを開く度にどのように更新するのかを決定します。

常に更新

メッセージを何も表示しないで更新します。

更新が必要な際にメッセージを表示

更新するブロック定義ダイアログボックスを表示し、操作を促します。

更新を行わない

更新を行いません。メッセージも表示されません。

リストの構造

名前

ブロック定義の名前です。

最上位

ブロック定義のインスタンスの数です。

ネスト

他のブロックインスタンスにネストされているブロック定義のインスタンス数です。

合計

最上位やネストに関係なく、ブロック定義のインスタンス数です。

オブジェクト数

ブロック定義内のオブジェクトと直接ネストされたブロックの合計数です。

ブロック定義

ブロックA、B、C、D はブロック定義です。

  • ブロック定義を選択すると、そのブロックインスタンスがピンクでハイライト表示されます。また、軸アイコンを表示します。

    ブロック定義パネルのフォーカスが失われると、ピンクのハイライトが消えます。

  • ブロックインスタンスを選択すると、そのブロック定義が水色でハイライト表示されます。

アイコンは定義のタイプを示します。

埋め込み
埋め込みおよびリンク
リンク

ブロック定義のコンテクストメニュー

  • ブロック定義の名前を右クリックするとコンテクストメニューが表示されます。
インスタンスを選択

選択されているブロック定義のインスタンスをビューポートで選択します。

インサート

ブロック定義をブロックインスタンスとしてビューポートに挿入します。

または、ブロック定義をビューポートにドラッグアンドドロップすることもできます。

名前を変更

ブロック定義の名前を編集します。

削除

モデル内の選択されたブロック定義とそのすべてのインスタンスを削除します。

別のブロック定義内にネストされたブロック定義は削除できません。

複製

選択されたブロック定義の新しいコピーを作成します。

更新

外部ファイルを再読み込みして最新の変更を確認します。

リンクされたブロックが古い場合、ブロック定義名の後ろに アイコンが表示されます。

  • アイコンをクリックして、ブロックを再読み込みします。
数/情報

選択したブロック定義の詳細をブロックインスタンスの情報ダイアログ ボックスに表示します。

エクスポート

ブロック定義の構成オブジェクトを、Rhinoがサポートするファイル形式のいずれかで保存します。

インスタンス/ネストされたインスタンスの数

ブロックAには、モデル内に5つの最上位のインスタンスと2つのネストされたインスタンスがあります。

ブロック定義内のオブジェクト

ブロックAには、曲線 (a1) とサーフェス (a2) が含まれています。

  • ブロック定義のオブジェクトを選択すると、ビューポートのオブジェクトがハイライト表示されます。

アイコンはオブジェクトのタイプを示します。

ブロックオブジェクトのコンテクストメニュー

  • ブロックオブジェクト名を右クリックすると、コンテクストメニューが表示されます。
選択

ビューポート内のオブジェクトを選択します。

名前を変更

ブロックオブジェクト名を編集します。

削除

ブロック定義からブロックオブジェクトを削除します。

ネストされたブロックのあるブロック定義

ブロックAとBはブロックDにネストされています。

アイコンは、それらがネストされたブロックであることを示します。

ステータスバー

ステータスバーには、モデル内のブロック定義の数と、現在選択されているブロック定義の数が表示されます。

  • マウスのカーソルをステータスバーに合わせると、埋め込み、埋め込みおよびリンク、リンクなど、さまざまなブロック定義タイプの数を示すツールヒントが表示されます。

プロパティ

名前

ブロック定義の名前です。

ポップアウト

より大きい、サイズの変更が可能なブロック定義のプロパティウィンドウを表示します。

説明

ブロック定義のテキスト情報を表示します。

プレビュー

ブロック定義のプレビュー イメージです。

  • 右クリックすると、表示モードまたはビューの方向を変更できます。

単位

(埋め込まれたブロック定義のみ)

ブロックの単位

ブロック定義の単位です。

ブロックの単位を変更すると、ブロック定義をスケール変更するかどうかを尋ねるメッセージが表示されます。

定義のタイプ

埋め込み

ジオメトリをモデルに保存します。外部ファイルが変更されても、ブロック定義は更新されません。

埋め込みおよびリンク

ジオメトリをモデルに保存し、外部ファイルへのリンクを維持します。外部ファイルが変更されると、リンクされたジオメトリが更新されます。外部ファイルが見つからない場合でも、モデルに保存されているジオメトリは引き続き使用できます。

リンク

外部ファイルへのリンクのみを維持します。外部ファイルが変更されると、リンクされたジオメトリが更新されます。外部ファイルが見つからない場合、ジオメトリはモデルに表示されません。

リンクされたブロック定義は、絶対パスと相対パスの両方を使用します。

リンクブロックの外部ファイルが見つからない場合

見つからないブロックはテキストドットオブジェクトとして表示され、そのブロック名が表示されます。

Rhinoがワークセッションやリンクされたインスタンス定義によって使用されるファイルの場所を見つけるプロセスについては、Rhino Wiki: File findingをご覧ください。

この問題を解決するには

  • 参照ボタンをクリックして 不足しているブロックのファイルを見つけます。
    または、ブロック名を右クリックし、 右クリックコンテクストメニューから削除を選択してリンクを削除します。

「埋め込みおよびリンク」および「リンク」のオプション

ファイル名

外部ファイルへのパスと名前です。

  • ボタンをクリックして最近使用した外部ファイルを選択します。
参照

外部ファイルのパスを変更します。

場所:

外部ファイルのパスです。

編集

関連するアプリケーションを使用して外部ファイルを編集します。

外部ファイルからリンクブロックを読み込む

挿入しようとしているファイルにあるリンクされたブロックも挿入されます。

レイヤのスタイル

レイヤ名の管理方法を定義します。

アクティブ

同じ名前のレイヤをマージします。

参照

リンクされているファイルの名前を使用して親レイヤを作成します。リンクされたファイルのレイヤは、親レイヤの下のサブレイヤとして表示されます。

ハイパーリンク

ハイパーリンクの情報をブロック定義に追加します。この情報は、Hyperlinkコマンドを使用して取得できます。

説明

URLの説明です。

URL

ウェブアドレスです。アドレスをクリックすると、デフォルトのブラウザでページが開きます。

テスト

デフォルトのウェブブラウザでURLを開きます。

関連コマンド

AddObjectsToBlock

ツールバー

メニュー

V8の新機能

ブロック

編集

ブロック > オブジェクトをブロックに追加

AddObjectsToBlockコマンドは、 既存の埋め込まれているブロック定義にオブジェクトを追加します。

操作手順

  1. 埋め込みブロック定義のインスタンスを選択します。

  2. ブロック定義に追加するオブジェクトを選択します。

ブロック定義からオブジェクトを削除するには、BlockEditコマンドを使用します。

BlockEdit

ツールバー メニュー

ブロック

編集

ブロック >

ブロックを原位置で編集

BlockEditコマンドを使うと、ブロックインスタンスを選択し、ブロックのジオメトリを変更、ブロック定義を更新できます。

操作手順

  1. 編集するブロックインスタンスを選択します。
    または
    ブロックインスタンスをダブルクリックします。
    ブロックジオメトリがRhinoのウィンドウで開きます。他のすべてのオブジェクトはロックされています。
    すべての編集テクニックを使ってブロックのジオメトリの編集が可能です。
  2. すべての変更が終了したら、OKをクリックします。
    キャンセルするには、左上隅にある[X]ボタンをクリックします。

コマンドラインオプション

これらのコマンドラインオプションは、スクリプト化可能な-BlockEditコマンドのみで表示されます。

開く

編集するブロックインスタンスを選択するように求められます。

保存して閉じる

ブロック定義に加えた変更を保存し、ダイアログを閉じます。

破棄してキャンセル

ブロック定義に加えた変更をすべて破棄し、ダイアログを閉じます。

  • 「保存して閉じる」と「破棄してキャンセル」は、埋め込まれたブロック定義の編集にのみ機能します。リンクされたブロック定義の場合は、スクリプト化可能な-Exitコマンドを使用して、2番のRhinoのウィンドウを閉じるスクリプトを作成します。

ブロック編集のオプション

ブロック編集ダイアログボックスがブロック名と(ある場合)ネストされているブロックの一覧を表示します。

オブジェクトを追加

選択されたオブジェクトをブロック定義に追加します。選択されたオブジェクトがブロックである場合、それはネストされたブロックとなり、BlockEditコマンドを次回に実行する際にツリーに表示されます。

追加されたオブジェクトは、ブロック定義にコピーされ、元のオブジェクトはモデルに残ります。

オブジェクトを取り除く

選択されたオブジェクトをブロック定義から取り除きます。

ブロックの更新時に、取り除かれたオブジェクトはそれぞれ別のオブジェクトとしてモデルに追加されます。

基点を設定

ブロックの挿入点の位置を移動します。

ブロックの更新時に、ブロックインスタンスは新しい挿入点がブロックの挿入位置に配置されるように移動されます。

メモ

  • 非表示またはロックされたオブジェクトはブロック定義でサポートされないため、非表示またはロックされたオブジェクトがある場合、警告ダイアログが表示され、オブジェクトを非表示またはロック状態のままにしてブロック定義から取り除くか、表示/アンロックして編集を行うかの、どちらかのオプションを選択することができます。
  • 他のユーザーが使用しているリンクされたブロックは編集できません。
  • 現在のモデルを保存して閉じる時にブロック編集ダイアログを開いたままにしておくと、モデルを再度開いたときにブロック編集ダイアログが表示されます。ブロック編集を継続して行うことができます。
  • ブロックインスタンス内の(サブオブジェクト選択で選択した)オブジェクトのプロパティは、直接編集できます。

BlockResetScale

ツールバー メニュー

ブロック

編集

ブロック > ブロックのスケールをリセット

BlockResetScaleコマンドは、ブロックインスタンスのx、yおよびzのスケールを1にリセットするか、すべての軸に最適なスケールを適用します。

均一にスケーリングされていないブロックインスタンスは、元のスケールにリセットされます。

コマンドラインオプション

モード
1

ブロックインスタンスのx、yおよびzのスケールを1にリセットします。

自動

3つの軸の内、どれか2つのスケールが同じ場合、3つ目の軸にスケールを適用します。

3つのすべての軸がそれぞれ違う場合は、平均のスケールをすべての軸に適用します。

  • ブロックインスタンスが前もって選択された場合は、オプションは表示されません。

次もご覧ください。

ブロックの編集

ブロックの管理

CopyLinkedBlockDefinition

ツールバー メニュー

ツールバーにはありません。

メニューにはありません。

CopyLinkedBlockDefinitionは、参照スタイルレイヤのあるリンクブロックをコピーします。

例:

  1. ブロック定義として使用するBlockDef.3dmという単純なファイルを作成します。
  2. FancyModel.3dmという新規モデルを開始します。
  3. Insertコマンドを使用して、「参照スタイル」レイヤのあるリンクブロック定義を作成します。
  4. このブロックに「A」と名前を付けます。
  5. CopyLinkedBlockDefinitionコマンドを実行し、「A」を「B」と名前の付いた新規ブロックにコピーします。
  6. CopyLinkedBlockDefinitionコマンドを実行し、「A」を「C」と名前の付いた新規ブロックにコピーします。
  7. 3つのブロックのレイヤ設定を調整します。
  8. BlockManagerを実行すると、同じ「Block Def.3dm」を参照する3つのリンクされたブロックがあることがわかります。

CreateUniqueBlock

ツールバー

メニュー

V8の新機能

ブロック

CreateUniqueBlockコマンドは、ブロックインスタンスのブロック定義を複製し、新しいブロック定義を参照するようにブロックインスタンスを変更します。

操作手順

  • 同じブロック定義の複数のブロックインスタンスまたは1つのブロックインスタンスを選択します。

ReplaceBlock

ツールバー メニュー

ブロック

メニューにはありません。

ReplaceBlockコマンドは、選択されたブロックインスタンスを別のブロック定義で再定義します。

操作手順

  1. ビューポートで変更するブロックインスタンスを選択します。
    モデルのいくつかのインスタンスの1つを選択した場合、コマンドラインメッセージが追加モデルの数を表示します。
  2. 望ましいブロック定義を使用するブロックインスタンスを選択します。

コマンドラインオプション

ブロック定義リストから選択

モデルのブロック定義の選択リストを表示します。

すべて

選択されていない、非表示の、そしてロックされているオブジェクトを含む現在のブロック定義のすべてのインスタンスを選択します。

なし

追加のインスタンスは選択しません。選択されたインスタンスのみが変更されます。

ブロック定義名

名前を入力して置換ブロック定義を選択します。

ExportLinkedBlocks

ツールバー

メニュー

ブロック

V8の新機能

編集

ブロック > リンクされたブロック定義をエクスポート

ExportLinkedBlocksコマンドは、現在のモデルのすべてのリンクおよび埋め込みおよびリンクブロック定義をZipファイルに保存します。

次もご覧ください。

ブロック、グループ、ワークセッションで作業を行う

McNeel Wiki: Using blocks