修复:见光面封边对刚被切割的板进行操作时,封边结果错误

pull/2177/head
ChenX 1 year ago
parent 4014639518
commit 6285a0f093

@ -46,4 +46,16 @@ describe("见光面封边测试", () =>
SetSmoothEdges(brs, smoothOption);
expect(brs[0].BoardProcessOption.highSealed.filter(s => s.size === 0).length).toBe(3);
});
test('数据引用错误', () =>
{
let data =
{ "file": [2, "Board", 10, 2, 550, 0, 1, 11, 71, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2868.1795148086776, 591.2820512820513, 0, 1], 552, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2868.1795148086776, 591.2820512820513, 0, 1], 0, 0, 1, 3, 2000, 600, 18, true, "Polyline", 10, 2, 0, 0, 0, 7, 71, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 1, 2, 4, [0, 0], 0, [600, 0], 0, [600, 2000], 0, [0, 2000], 0, true, 0, 3, 0, 0, 0, 0, 0, 11, 1, "左侧板", "主卧", "下柜", "", "", "", 0, 0, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, null, "Board", 10, 2, 554, 0, 1, 3, 71, [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 2868.1795148086776, 609.2820512820513, 1920, 1], 553, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2904.1795148086776, 591.2820512820513, 1920, 1], 0, 0, 1, 3, 80, 132.93133103098535, 18, true, "Polyline", 10, 2, 0, 0, 0, 7, 71, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 36, 0, 0, 1], 0, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 36, 0, 0, 1], 0, 0, 1, 2, 4, [-36, 0], 0, [96.93133103098535, 0], 0, [96.93133103098535, 80], 0, [-36, 80], 0, true, 0, 3, 0, 0, 0, 0, 0, 11, 2, "背板", "主卧", "下柜", "", "", "", 0, 1, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", false, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, null], "basePt": { "x": 2868.1795148086776, "y": 591.2820512820513, "z": 0 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] };
let [br1, br2] = LoadBoardsFromFileData(data) as [Board, Board];
br1.Subtract([br2]);
SetSmoothEdges([br1, br2], smoothOption);
expect(br1.BoardProcessOption.highSealed).toMatchSnapshot();
});
});

@ -0,0 +1,24 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`见光面封边测试 数据引用错误 1`] = `
Array [
Object {
"size": 1,
},
Object {
"size": 1,
},
Object {
"size": 0,
},
Object {
"size": 1,
},
Object {
"size": 1,
},
Object {
"size": 1,
},
]
`;

@ -264,7 +264,10 @@ export function GetBoardHighSeal(br: Board, sealcus: Curve[]): IHighSealedItem[]
];
}
let highSeals = br.BoardProcessOption.highSealed.filter(d => d.size !== null && d.size !== undefined);
let highSeals: IHighSealedItem[] = [];
for (let d of br.BoardProcessOption.highSealed)
if (d.size != null)
highSeals.push({ ...d });
//若未设置高级封边,把上下左右封边存入高级封边
if (sealcus.length !== highSeals.length || !br.IsSpecialShape)

Loading…
Cancel
Save