このページでは、Inkscapeを使って1辺が指定した長さになる多角形や星形を描く方法について考えてみました。

(2024.06.16更新)
正方形や正三角形であれば、バウンディングボックスの幅(や高さ)をツールコントロールバーで指定すれば、1辺の長さを指定したものにすることと同じなので簡単ですが、5角形や星形のように辺の長さとバウンディングボックスの大きさが一致しない形の場合は別の方法を考えないといけません。

もちろん1辺の長さが決まっているときの多角形や星形のバウンディングボックスの大きさ(幅や高さ)は計算できるので、その計算後の幅や高さを指定すればいいのはもちろんなのですが、図形の種類が変わる度にその計算を行うのは面倒です。中には簡単に計算できない形のものもありそうです。
そこで、まず辺に相当する線分を指定した長さで描いておいて、それに合わせて多角形や星形を描くという手順を考えてみました。
まずペンツールでCtrlキーを押しながらドラッグすることで、水平な線分を(適当な長さで)描きます。

この線分の長さ(パスの幅)をツールコントロールバーで指定します。例えば30mmにしてみます。

ここで、スナップダイアログで「シャープノード」「回転中心」「ガイドライン」にスナップするように設定します。(参考:スナップ機能)
そしてキャンバスに左端のルーラ(目盛りの部分)からマウスをドラッグすることで垂直方向のガイドラインを新しく2本作成し、さきほどの線分の右端と左端にスナップさせます。(参考:ガイドラインを描いて位置合わせする)

これで30mmだけ離れた平行なガイドラインが引けたことになります。
そして多角形を描きます。例として星形を描いてみます。サイズは適当に少し小さめにしておきます。

この星形の1辺をさきほど描いた30mm間隔のガイドラインに揃えたい(そうすれば星形の1辺も指定した30mmになる)ので、まず星形の1辺を水平にします。(参考:図形を回転させて水平にする)

そしてその水平にした辺の端の一方をガイドラインにスナップさせます。

次にそのスナップさせた頂点に回転中心を移動します。

次にCtrlキーを押しながら星形を拡大していきます。Ctrlキーを押しているので幅と高さの比率を維持したまま拡大され、かつ、回転中心がガイドライン上にあるのでガイドラインに合わせてある頂点はガイドラインの上に固定したまま拡大されます。
拡大していくと、水平にした辺のもう一方の端ももう一本のガイドラインにスナップします。

これで1辺が指定した長さ(2本のガイドラインの間隔)に一致したことになります。
ガイドラインを2本引いてスナップさせるより、最初の30mmの線分の端に直接スナップさせれば早そうに思いますが、オブジェクトを拡大させる途中では他のオブジェクトのノードにスナップしてくれず、ガイドラインならスナップしてくれるので、こういう手順にしてみました。
辺の長さを表示してくれるパスエフェクトを適用してみると、ちゃんと1辺が30mmになっていることが分かります。(参考:パスエフェクト:セグメントを計測)
