mirror of https://gitee.com/cf-fz/WebCAD.git
!1310 优化:矩形槽走刀
parent
8889a86cad
commit
aa384a81c8
@ -0,0 +1,208 @@
|
||||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`矩形偏移 其他视图旋转矩形 1`] = `50`;
|
||||
|
||||
exports[`矩形偏移 其他视图旋转矩形 2`] = `
|
||||
Array [
|
||||
0.7789093282833537,
|
||||
0,
|
||||
0.6271365547575544,
|
||||
0,
|
||||
-0.6271365547575544,
|
||||
0,
|
||||
0.7789093282833537,
|
||||
0,
|
||||
0,
|
||||
-1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`矩形偏移 其他视图旋转矩形 3`] = `89.99993930803612`;
|
||||
|
||||
exports[`矩形偏移 其他视图旋转矩形 4`] = `
|
||||
Array [
|
||||
0.7789093282833537,
|
||||
0,
|
||||
0.6271365547575544,
|
||||
0,
|
||||
-0.6271365547575544,
|
||||
0,
|
||||
0.7789093282833537,
|
||||
0,
|
||||
0,
|
||||
-1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`矩形偏移 其他视图旋转矩形 5`] = `15.00001517299097`;
|
||||
|
||||
exports[`矩形偏移 其他视图旋转矩形 6`] = `
|
||||
Array [
|
||||
0.7789093282833537,
|
||||
0,
|
||||
0.6271365547575544,
|
||||
0,
|
||||
-0.6271365547575544,
|
||||
0,
|
||||
0.7789093282833537,
|
||||
0,
|
||||
0,
|
||||
-1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`矩形偏移 常规矩形 1`] = `50`;
|
||||
|
||||
exports[`矩形偏移 常规矩形 2`] = `
|
||||
Array [
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`矩形偏移 常规矩形 3`] = `89.99993930803612`;
|
||||
|
||||
exports[`矩形偏移 常规矩形 4`] = `
|
||||
Array [
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`矩形偏移 常规矩形 5`] = `15.00001517299097`;
|
||||
|
||||
exports[`矩形偏移 常规矩形 6`] = `
|
||||
Array [
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`矩形偏移 旋转矩形 1`] = `50`;
|
||||
|
||||
exports[`矩形偏移 旋转矩形 2`] = `
|
||||
Array [
|
||||
0.7789093282833537,
|
||||
0.6271365547575543,
|
||||
0,
|
||||
0,
|
||||
-0.6271365547575543,
|
||||
0.7789093282833537,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`矩形偏移 旋转矩形 3`] = `89.99993930803612`;
|
||||
|
||||
exports[`矩形偏移 旋转矩形 4`] = `
|
||||
Array [
|
||||
0.7789093282833537,
|
||||
0.6271365547575543,
|
||||
0,
|
||||
0,
|
||||
-0.6271365547575543,
|
||||
0.7789093282833537,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
]
|
||||
`;
|
||||
|
||||
exports[`矩形偏移 旋转矩形 5`] = `15.00001517299097`;
|
||||
|
||||
exports[`矩形偏移 旋转矩形 6`] = `
|
||||
Array [
|
||||
0.7789093282833537,
|
||||
0.6271365547575543,
|
||||
0,
|
||||
0,
|
||||
-0.6271365547575543,
|
||||
0.7789093282833537,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
]
|
||||
`;
|
@ -0,0 +1,70 @@
|
||||
import { IsRect, Polyline } from "../../src/api";
|
||||
import { RectOffset } from "../../src/GraphicsSystem/ToolPath/OptimizeToolPath";
|
||||
import { LoadEntityFromFileData } from "../Utils/LoadEntity.util";
|
||||
|
||||
describe("矩形偏移", () =>
|
||||
{
|
||||
test("常规矩形", () =>
|
||||
{
|
||||
let d = { "file": [1, "Polyline", 8, 2, 102, false, 1, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1327.419794987397, 40.97675544794174, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1875.419794987397, -2248.0232597250492, 0, 1], 0, 2, 5, [0, 0], 0, [25, 0], 0, [25, 9.99998482700903], 0, [0, 9.99998482700903], 0, [0, 0], 0, false], "basePt": { "x": -1327.419794987397, "y": 40.97675544794174, "z": 0 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] };
|
||||
|
||||
let pl = LoadEntityFromFileData(d)[0] as Polyline;
|
||||
|
||||
let rectInfo = IsRect(pl);
|
||||
let maxDist = Math.min(rectInfo.size.x, rectInfo.size.y) / 2;
|
||||
|
||||
for (let d of [maxDist / 2, -maxDist / 2, maxDist])
|
||||
{
|
||||
let l = RectOffset(pl, rectInfo, d);
|
||||
if (l)
|
||||
{
|
||||
expect(l.Length).toMatchSnapshot();
|
||||
expect(l.OCS.toArray()).toMatchSnapshot();
|
||||
}
|
||||
else
|
||||
expect(l).toBeUndefined();
|
||||
}
|
||||
});
|
||||
test("旋转矩形", () =>
|
||||
{
|
||||
let d = { "file": [1, "Polyline", 8, 2, 106, false, 1, 7, 0, [0.7789093282833541, 0.6271365547575537, 0, 0, -0.6271365547575537, 0.7789093282833541, 0, 0, 0, 0, 1, 0, -1281.8810060380358, 34.63108438909671, 0, 1], 0, 0, true, [0.7789093282833541, 0.6271365547575537, 0, 0, -0.6271365547575537, 0.7789093282833541, 0, 0, 0, 0, 1, 0, -273.2077345817363, -2091.963211877024, 0, 1], 0, 2, 5, [0, 0], 0, [25, 0], 0, [25, 9.99998482700903], 0, [0, 9.99998482700903], 0, [0, 0], 0, false], "basePt": { "x": -1288.152362070074, "y": 34.63108438909671, "z": 0 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] };
|
||||
|
||||
let pl = LoadEntityFromFileData(d)[0] as Polyline;
|
||||
|
||||
let rectInfo = IsRect(pl);
|
||||
let maxDist = Math.min(rectInfo.size.x, rectInfo.size.y) / 2;
|
||||
|
||||
for (let d of [maxDist / 2, -maxDist / 2, maxDist])
|
||||
{
|
||||
let l = RectOffset(pl, rectInfo, d);
|
||||
if (l)
|
||||
{
|
||||
expect(l.Length).toMatchSnapshot();
|
||||
expect(l.OCS.toArray()).toMatchSnapshot();
|
||||
}
|
||||
else
|
||||
expect(l).toBeUndefined();
|
||||
}
|
||||
});
|
||||
test("其他视图旋转矩形", () =>
|
||||
{
|
||||
let d = { "file": [1, "Polyline", 8, 2, 113, false, 1, 7, 0, [0.7789093282833541, 0, 0.6271365547575537, 0, -0.6271365547575537, 0, 0.7789093282833541, 0, 0, -1, 0, 0, -1062.1715399995587, 0, 0.21291538503150775, 1], 0, 0, true, [0.7789093282833541, 0, 0.6271365547575537, 0, -0.6271365547575537, 0, 0.7789093282833541, 0, 0, -1, 0, 0, -53.4982685432592, 0, -2126.381380881089, 1], 0, 2, 5, [0, 0], 0, [25, 0], 0, [25, 9.99998482700903], 0, [0, 9.99998482700903], 0, [0, 0], 0, false], "basePt": { "x": -1068.442896031597, "y": 0, "z": 0.21291538503150775 }, "ucs": [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1] };
|
||||
|
||||
let pl = LoadEntityFromFileData(d)[0] as Polyline;
|
||||
|
||||
let rectInfo = IsRect(pl);
|
||||
let maxDist = Math.min(rectInfo.size.x, rectInfo.size.y) / 2;
|
||||
|
||||
for (let d of [maxDist / 2, -maxDist / 2, maxDist])
|
||||
{
|
||||
let l = RectOffset(pl, rectInfo, d);
|
||||
if (l)
|
||||
{
|
||||
expect(l.Length).toMatchSnapshot();
|
||||
expect(l.OCS.toArray()).toMatchSnapshot();
|
||||
}
|
||||
else
|
||||
expect(l).toBeUndefined();
|
||||
}
|
||||
});
|
||||
});
|
Loading…
Reference in new issue