お絵描きソフトInkscape(インクスケープ)の使い方を初級レベルから上級レベルまで広く紹介しています。
情報追加のリクエストや分かりにくい点があれば下のCONTACTフォームからどうぞ。

Inkscapeでパラメータを計算式で記述する

 このページでは、Inkscapeの数値パラメータ(オブジェクトの位置や幅など)を簡単な計算式で指定する方法を紹介します。

(2024.05.28更新)

 何のことだか分かりにくいかと思うので、具体的な例で示します。

 Inkscapeでキャンバス上のオブジェクトを何か1つ選択すると、キャンバスの上側に次のようなツールコントロールバーが表示されます。

 左から、水平方向の位置(X座標)、垂直方向の位置(Y座標)、幅、高さの数値を指定する入力フィールドが並んでいて、ここに入力した数値が右端で選択されている単位の値としてオブジェクトの属性に設定されます。この例では 44.782mm x 46.801mm の大きさのオブジェクトに設定しています。

 ここまではごく当たり前の話ですが、ここで紹介したいのは、これらの入力フィールドに数値だけでなく簡単な計算式も入力できるということです。

 例えば次のように「*2」(2をかける)を右端に追加してEnterキーを押します。

 すると入力した計算式に従って計算した結果が属性として設定されて、この例では次のように幅が2倍に広がります。

 どんな計算式がどの入力フィールドに入力可能なのか、ということについては正式なマニュアルのようなものは(例によって)ないらしく、Inkscapeのリリースノートで次のように書かれているだけです。

In most spinboxes (a spinbox is an entry field with up and down "spinbuttons" next to it) you can now write simple calculations. 

 プログラム言語の一般的な形式にしたがった加減乗除とべき乗とカッコ「+ - * / ^ ( )」は入力できるようです。例えば「((12 + 34) * (5 + 5) - 2) / 2」のような計算式です。

 フィルタやパスエフェクトのパラメータ入力フィールドには計算式は使えませんが、エクステンションの入力フィールドで計算式が使えるものもあります。

 変数や関数のようなものが使えるかは分かっていません。

 この機能を使えば、例えば「+10」という文字列を繰り返しペーストすることで、ペーストした回数に応じた距離だけオブジェクトを移動したりするといったことが可能になります。

 また、Inkscapeで利用可能な長さの単位(in、cm、pxなど)を表す文字列を数値に付けて入力し、Enterキーを押すと、ツールコントロールバーで指定してある単位の長さに自動的に変換してくれます。