diff --git a/__test__/Polyline/offset.test.ts b/__test__/Polyline/offset.test.ts index 23b203232..9cff50ee8 100644 --- a/__test__/Polyline/offset.test.ts +++ b/__test__/Polyline/offset.test.ts @@ -761,3 +761,19 @@ test('拱门偏移', () => cus = pl.GetOffsetCurves(-0.4); EntityToMatchSnapshot(cus); }); + +test('土偏移因为点在圆弧切线上错误导致的丢失', () => +{ + let f = new CADFile(); + f.Data = + [1, ["Polyline", 1, 1, 3, false, 7, -1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9159.663865546216, 8361.344537815126, 0, 1], 2, 17, [28900.928792569663, -4648.336577340973], -0.9999999999999999, [28900.928792569663, 580.3540867812549], 0, [37687.5122530782, 580.3540867812552], 0, [37687.5122530782, 5568.3816889128875], 0, [27851.140930176796, 5568.381688912888], 0, [31251.043800494088, 10146.917554273516], 0, [39591.53702088006, 10146.917554273514], 0, [39591.53702088006, 17633.191417258837], -0.9999999999999999, [45238.18434134903, 17633.191417258837], 0, [45238.184341349035, 10146.917554273516], 0, [54628.482972136226, 10146.917554273516], -0.8741669928857767, [55271.13672581777, 5382.623174980927], 0, [45331.063598314984, 5382.623174981001], 0, [45331.063598314984, 1648.4655418896164], 0, [53885.44891640867, 1648.4655418896143], -0.6803347640614656, [56371.20555398866, -4648.336577340822], 0, [28900.928792569663, -4648.336577340976], 0, false]] + + f.Read(); + + let pl = f.ReadObject() as Polyline; + let cus = pl.GetOffsetCurves(-801); + + expect(cus.length).toBe(1); + cus = pl.GetOffsetCurves(801); + expect(cus.length).toBe(1); +});