DXF ファイルの座標を使用してGraphicsPathオブジェクトを作成しようとしています。以下に示すように、次の順序と値で座標を取得します。
LINE found...
LINE -> |X1: 10 |Y1: 81 |X2: 10 |Y2: 105
ARC found...
ARC -> |X: 5 |Y: 105 |RAD: 5 |SA: 0 |EA: 90
LINE found...
LINE -> |X1: 5 |Y1: 110 |X2: -5 |Y2: 110
ARC found...
ARC -> |X: -5 |Y: 105 |RAD: 5 |SA: 90 |EA: 180
LINE found...
LINE -> |X1: -10 |Y1: 105 |X2: -10 |Y2: 81
ARC found...
ARC -> |X: -11 |Y: 81 |RAD: 1 |SA: 270 |EA: 0
LINE found...
LINE -> |X1: -11 |Y1: 80 |X2: -20 |Y2: 80
ARC found...
ARC -> |X: -20 |Y: 75 |RAD: 5 |SA: 90 |EA: 180
LINE found...
LINE -> |X1: -25 |Y1: 75 |X2: -25 |Y2: 5
ARC found...
ARC -> |X: -20 |Y: 5 |RAD: 5 |SA: 180 |EA: 270
LINE found...
LINE -> |X1: -20 |Y1: 0 |X2: 20 |Y2: 0
ARC found...
ARC -> |X: 20 |Y: 5 |RAD: 5 |SA: 270 |EA: 0
LINE found...
LINE -> |X1: 25 |Y1: 5 |X2: 25 |Y2: 75
ARC found...
ARC -> |X: 20 |Y: 75 |RAD: 5 |SA: 0 |EA: 90
LINE found...
LINE -> |X1: 20 |Y1: 80 |X2: 11 |Y2: 80
ARC found...
ARC -> |X: 11 |Y: 81 |RAD: 1 |SA: 180 |EA: 270
GraphicsPath myPathオブジェクト内に各線とアーチを挿入するために使用するコードは次のとおりです。
行の場合:
myPath.AddLine(
X1,
(Y1 * inversion),
X2,
(Y2 * inversion));
アーチの場合:
myPath.AddArc(
(X - RAD),
(Y * inversion) - RAD,
RAD * 2,
RAD * 2,
360 - EA,
(CalcMax(SA, EA) - CalcMin(SA, EA)));
結果は次の GraphicPath です:(左側が結果、右側が期待値です。)
ここでの問題は、上記のように座標が一致し、正しい順序で追加されている場合でも、パスからアーチが無視されていることです。
これを解決するために何ができるか知っている人はいますか?