3

カット用に DXF にエクスポートするには、角が丸い SVG パスを作成する必要があります。私の問題は、角がベジエ曲線ではなく、円の弧であるべきだということです。

arc半径はコーナーから円弧の開始点までの距離でもあるため、コマンドを使用して直角を使用するのは比較的簡単です。他の角度では、より複雑になります。

角と半径を指定して円弧の始点と終点を計算する式はありますか?

ここに画像の説明を入力

右上隅は簡単ですが、左下は非常にトリッキーです。なぜなら、線がどこで終わり、弧が始まるのかを見つけなければならないからです。

端点を中心のパラメータ化に変換する式をリンクするsvg eliptical arc を使用した計算を見つけました。円の中心がどこにあるのかもわからないので、これは役に立ちません。

(円の) 円弧の SVG パスを計算する方法は、鋭い角を置き換える 2 つの線の間の円弧ではなく、円弧を計算するだけです。

SVG の三角形の角を丸くするのソリューションは、一部の辺が座標系に平行であるか、半径が変更されている場合にのみ機能します。

パス/ポリゴンに丸みを帯びた角を適用すると、線結合またはいくつかの 3 次曲線でいくつかのトリックを使用しようとしますが、私は何も望んでいません。

Inkscape (上の画像の描画に使用) でさえ、円を使用してこの形状を作成した場合でも、円弧の代わりに 5 つの 3 次曲線を使用します。

どうすればこれを管理できるかヒントがあれば、とても感謝しています。

4

1 に答える 1

8

The geometry of a chamfered corner looks like this:

geometry of a chamfered corner

Angle ABC is equal to θ (the outside angle of the chamfered corner). This is bisected by BD, so angle DBC is equal to θ/2. That means the offset distance d from the corner to points C and A is equal to r × tan(θ/2).

For a right angle, θ=90° and tan(θ/2)=1, so d is equal to r.

As Robert Longson said, you would be lucky to find an SVG application that exports chamfered corners using circular arc segments. However, with a bit of effort, it should be possible to detect and convert them programmatically.

于 2013-11-11T20:50:24.247 に答える