diff --git a/__test__/Polyline/__snapshots__/offset.test.ts.snap b/__test__/Polyline/__snapshots__/offset.test.ts.snap index ef8e1faf7..1379bcec8 100644 --- a/__test__/Polyline/__snapshots__/offset.test.ts.snap +++ b/__test__/Polyline/__snapshots__/offset.test.ts.snap @@ -198,3 +198,115 @@ Array [ ], ] `; + +exports[`拱门偏移 1`] = ` +Array [ + 1, + Array [ + "Polyline", + 1, + 1, + -1, + false, + 7, + -1, + Array [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + ], + 2, + 4, + Array [ + 0.4, + 0, + ], + 0, + Array [ + 0.4, + 2, + ], + -0.9999999999999999, + Array [ + 0.6, + 2, + ], + 0, + Array [ + 0.6, + -4.898587196589413e-17, + ], + 0, + false, + ], +] +`; + +exports[`拱门偏移 2`] = ` +Array [ + 1, + Array [ + "Polyline", + 1, + 1, + -1, + false, + 7, + -1, + Array [ + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 1, + ], + 2, + 4, + Array [ + -0.4, + 0, + ], + 0, + Array [ + -0.4, + 2, + ], + -0.9999999999999999, + Array [ + 1.4, + 2, + ], + 0, + Array [ + 1.4, + 4.898587196589413e-17, + ], + 0, + false, + ], +] +`; diff --git a/__test__/Polyline/offset.test.ts b/__test__/Polyline/offset.test.ts index af2966470..de74cbab3 100644 --- a/__test__/Polyline/offset.test.ts +++ b/__test__/Polyline/offset.test.ts @@ -735,3 +735,22 @@ test('中间区域需要圆裁剪', () => EntityToMatchSnapshot(cus); }); + + +test('拱门偏移', () => +{ + let f = new CADFile(); + + f.Data = + [1, ["Polyline", 1, 1, 6, false, 7, -1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 2, 4, [0, 0], 0, [0, 2], -1, [1, 2], 0, [1, 0], 0, false]] + + f.Read(); + + let pl = f.ReadObject() as Polyline; + + let cus = pl.GetOffsetCurves(0.4); + EntityToMatchSnapshot(cus); + + cus = pl.GetOffsetCurves(-0.4); + EntityToMatchSnapshot(cus); +});