このページでは、Inkscapeのシェイプ(矩形、円弧、星形)と角エフェクトの関係についてメモしてみたいと思います。
(2024.10.4更新)
パスのコーナー(曲がっているところ)を変形する(丸める、切り取る)には「角エフェクト」を適用します。
ところでシェイプ(矩形、円弧、星形)のコーナーも「オブジェクトの変形」で書いたようにそのシェイプを選択しておいてツールコントロールバーの「角を追加LPE」と表示されるボタンをクリックすることで変形することができます。
この機能は「角エフェクト」を使って実現されていますが、パスオブジェクトにしか使えないはずのパスエフェクトをシェイプに使えるのはなぜなのか?という疑問がわきます。
調べてみたら、どうやらシェイプのコーナーを変形できるように「角を追加LPE」ボタンをクリックした瞬間にInkscape内部ではシェイプがパスオブジェクトに自動的に変換されているらしいことが分かりました。自動的にパスオブジェクトに変換した上でさらに「角エフェクト」を適用することでシェイプでもコーナーを変形することができるように見せているんですね。
そして分かりにくいですが、内部ではパスオブジェクトですが、キャンバス上ではシェイプのままのように扱われます。内部ではパスオブジェクトになっているのにステータスバーには「矩形」や「円/弧」と表示されるし、シェイプとしての編集機能も維持されます。
矩形の例で言えば次のようになります。

矩形の場合右上の「〇」のハンドルをドラッグすることで四隅のコーナーを丸めることができます(この段階ではまだ内部も矩形オブジェクトのまま)が、これは矩形独自の変形機能です。さらにツールコントロールバーの「角を追加LPE」ボタンをクリックすると角エフェクトのほうの変形ハンドル(△)が現れます。これをドラッグすることでコーナーをさらに変形することができます。角エフェクトはコーナーごとに変形できるので赤い点線で囲ったところのように1つのコーナーだけ曲げ方を変えることもできます。
言い方を変えると、データとしては矩形データではなくパスデータに自動的に変換され、かつ、矩形オブジェクトの「角を丸める機能」と角エフェクトによる「コーナーを変形する機能」とがどちらも利用できる不思議な状態になっていると言えます。
円/弧の例では次のようになります。

矩形とは違って円/弧にはそもそも「角を丸める」という機能がありません。でもツールコントロールバーの「角を追加LPE」ボタンをクリックするとコーナー(?)を変形するためのハンドルが現れます。このハンドルをドラッグすればコーナー(?)を変形することができます。
これは角エフェクトの説明上は「コーナー」と呼んではいるけれど、実は角エフェクトというのはパスの各ノードのところを変形するエフェクトだからであって、「角を追加LPE」ボタンをクリックすることによって内部でパスオブジェクトに変換された結果、上下左右にノードが配置されたパスオブジェクトに変化していて、その4つのノードそれぞれのそばに変形ハンドルが現れているからのようです。
変換前の円/弧オブジェクトの場合、下側には変形ハンドルが表示されませんが、「角を追加LPE」ボタンをクリックするとそこにも変形ハンドルが現れることになります。円/弧オブジェクトのその位置にはノードは無いはずだと思われますが、実は円/弧オブジェクトのように見えて内部ではその位置にもノードが存在するパスオブジェクトに変換されているからです。

2種類の角変形機能が並列していたり、コーナーでない個所が変形できるようになったりと分かりにくい状態になっているので混乱しないようにしたいところです。