カワハラの、雑多な記録。

【Inkscape】オブジェクトをツリーで管理する方法

   

Inkscapeでオブジェクトを階層化してツリーで管理したい!って思うことありますよね。
それ、可能です。
グループ化したパスや矩形に名前をつけて階層化して管理する方法を説明したいと思います。

階層で管理する方法

まず最初にオブジェクトを階層化して管理する方法から。

メニュー「オブジェクト」 → 「オブジェクト」

オブジェクトのウィンドウが現れ、パスやテキストをツリーで管理できすることが出来ます。!

階層化して管理とはどういうこと?

そもそもオブジェクトを階層で管理するとはどういう概念かと言うと、例えばPCのエクスプローラーでフォルダを階層化して管理しますよね。
フォルダに名前をつけて関連するファイルをまとめたり整理したり、さらに下の階層にサブフォルダを作ったり。

他の例では、3DCADで設計するとき、各パーツを組み立てて「アセンブリ」を作り、更に複数のアセンブリを組み立てて製品になる、という具合になります。
このようにパーツやアセンブリを階層化してツリーで管理します。

Inkscapeでもこのように階層化してオブジェクトを管理したいのでその方法はあるのかな?と思ったのが発端です。

「レイヤー」と「オブジェクト」の違い

「オブジェクト」のウィンドウですが、「レイヤー」のウィンドウとよく似ています。

実際、出来ることもよく似ていますが、「オブジェクト」では「レイヤー」より細かい設定ができ、上位互換的なイメージです。
「レイヤー」でできることは「オブジェクト」ですべて出来ると考えてよさそうです。

何が違うかと言うと、「レイヤー」ではあくまでレイヤーのみ表示されてますが、「オブジェクト」はレイヤーに加えてグループやパスがすべて表示されます。

「T」はタイプ(レイヤー、グループ)を切替可能

タイプのアイコンは3種類あり、上の画像では上から

  • レイヤー
  • グループ
  • パスなどのオブジェクト

となっています。

レイヤーとグループはアイコンをクリックすることで相互にタイプを切り替えられます。
つまりパスなどをグループ化したものをレイヤーに変更することができます。
例えば下の画像は「レイヤー」の中に「魚」、「カエル」、「ネコ」のグループがありますが、こちらを「レイヤー」のサブレイヤーとして「魚」、「カエル」、「ネコ」レイヤーに変更できるということです。

パスやテキストはクリックしてもタイプの切り替えはできませんでした。

オブジェクト名をクリックすると選択できる

オブジェクトを階層化するとどんな良いことがあるかというと、構成を管理しやすくなることです。
下の画像のオブジェクトウィンドウで「ネコ」の下層にある「Arm-L」をクリックすると、画像でも対応するグループを選択できます。

オブジェクトウィンドウを使わない場合、グループの中にあるサブグループを選択するときは画像上でオブジェクトをダブルクリックしたりしますが、狙ったサブグループを選択するのが若干難しいんですよね。
さっきの例で「Arm-L」を選択したいのに、「Arm-L」の中の「爪」を選択してしまったりして。

適切に階層化して名前をつけておけば、オブジェクトウィンドウで簡単に狙ったグループを選択できます。

ツリーで上にあるオブジェクトが、画像の重なり順の上になる

レイヤーウィンドウと同じですが、オブジェクトウィンドウでもツリーの上の方にあるオブジェクトが、画像の重なり順の上になります。

ドラッグ&ドロップでグループに追加できる

グループの中に新たにパス等を追加したいとき、オブジェクトウィンドウ上でパスをドラッグ&ドロップ(D&D)することで可能です。
でも、D&Dした時点でパスの位置がなぜか変わってしまい、こういう仕様なのか謎です。

位置が変わるのを回避する方法として、先程書いたとおりグループとレイヤーという「タイプ」は相互に切替可能となっています。
グループをレイヤーに変更し、移動させたいパスを画像上で右クリックし、「他のレイヤーへ移動」で目的のレイヤーへ移動させると、位置の変化なくできました。

オブジェクト名の変更はダブルクリック

パスなどをグループ化したら名前が「g30979-2-2-3」みたいな感じになります。
ダブルクリックで名前の変更ができるので、わかりやすい名前に変更しましょう。

右クリックして「レイヤー名を変更」というのがありますが、こちらはクリックした1階層上のグループやレイヤーの名前が変更できるようです。

実はレイヤーも階層化できる。

ここまでオブジェクトを階層化して管理することを重要視してきましたが、オブジェクトウィンドウを使わなくても、実はレイヤーも階層化できます。

「実は」なんて、別に秘密の機能でもなんでもなく、新規レイヤー作成時に普通に「現在のレイヤーのサブレイヤー」という選択肢があるわけですが。

なので、さっきから何回も出してる下の画像の「ネコ」の例だと、
グループとして「ネコ」や「顔」を階層化するんじゃなく、「ネコ」レイヤーのサブレイヤーとして「顔」レイヤー、「胴体」レイヤーを配置しても良いわけですね。

オブジェクトウィンドウではレイヤーとグループの相互切り替えが簡単にできるので、両者にそれほど大きな違いはない、とも言えます。

まとめ

「オブジェクト」ウィンドウを使うにしても、「レイヤー」ウィンドウを使うにしても、オブジェクトをしっかりとグルーピングして階層化すれば複雑なデータも管理しやすくなります。

 - PC, ガジェット