From ada64a93026dc88548eac0190a38b4f383c8ae42 Mon Sep 17 00:00:00 2001 From: ChenX Date: Sat, 2 Apr 2022 10:33:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91:=E5=A2=9E=E5=8A=A0=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=94=A8=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __test__/Interfere/interfere.test.ts | 7 +++++++ src/DatabaseServices/Room/ParseService/RoomWallParse.ts | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/__test__/Interfere/interfere.test.ts b/__test__/Interfere/interfere.test.ts index 3519a2e86..60adb5235 100644 --- a/__test__/Interfere/interfere.test.ts +++ b/__test__/Interfere/interfere.test.ts @@ -78,4 +78,11 @@ describe("干涉测试", () => let d = { "file": [6, "Board", 8, 2, 102, false, 1, 2, 0, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2122.090449307405, 53.524216164179364, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2122.090449307405, 53.524216164179364, 0, 1], 0, 3, 1166.67, 480, 18, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [480, 0], 0, [480, 1166.67], 0, [0, 1166.67], 0, true, 2, 3, 1166.67, 9, 5.00333333399783, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [9, 0], 0, [9, 1166.67], 0, [0, 1166.67], 0, true, 0, 5, 6, 1, 1, 0, 0, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2122.090449307405, 506.5242161641794, 0, 1], 3, 1166.67, 9, 5, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [9, 0], 0, [9, 1166.67], 0, [0, 1166.67], 0, true, 0, 5, 6, 1, 1, 0, 0, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2135.090449307405, 506.5242161641794, 0, 1], 3, 0, 0, 0, 0, 0, 10, 1, "右侧板", "次卧2", "衣柜", "科技原木", "多层板", "科技原木", 0, 1, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, "Board", 8, 2, 103, false, 1, 2, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 2608.423782641403, 53.524216164179364, 1166.6671609740006, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2608.423782641403, 53.524216164179364, 1166.6671609740006, 1], 0, 3, 1432, 480, 18, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [480, 0], 0, [480, 1432], 0, [0, 1432], 0, true, 2, 3, 950.67, 9, 5.002839025999492, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [9, 0], 0, [9, 950.67], 0, [0, 950.67], 0, true, 0, 5, 6, 1, 1, 0, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 2127.093782641401, 506.5242161641794, 1166.6671609740006, 1], 3, 473.33333333399787, 9, 5.002839025999492, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [9, 0], 0, [9, 473.33333333399787], 0, [0, 473.33333333399787], 0, true, 0, 5, 6, 1, 1, 0, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 2608.423782641403, 506.5242161641794, 1166.6671609740006, 1], 3, 0, 0, 0, 0, 0, 10, 0, "顶板", "次卧2", "衣柜", "科技原木", "多层板", "科技原木", 0, 0, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, "Board", 8, 2, 104, false, 1, 2, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 5745.042300967834, 108.6197325287223, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5745.042300967834, 108.6197325287223, 0, 1], 0, 3, 782.33, 430, 18, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [430, 0], 0, [430, 782.33], 0, [0, 782.33], 0, true, 1, 3, 769.3300000000017, 9, 5, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [9, 0], 0, [9, 769.3300000000017], 0, [0, 769.3300000000017], 0, true, 0, 5, 6, 1, 1, 0, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 5745.042300967834, 511.6197325287223, 13, 1], 3, 0, 0, 0, 0, 0, 10, 0, "底板", "电视柜", "电视柜", "科技原木", "多层板", "科技原木", 0, 1, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, "Board", 8, 2, 105, false, 1, 2, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 4962.715634300825, 108.6197325287223, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 4962.715634300825, 108.6197325287223, 0, 1], 0, 3, 1602.67, 430, 18, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [430, 0], 0, [430, 1602.67], 0, [0, 1602.67], 0, true, 2, 3, 803.33, 9, 5, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [9, 0], 0, [9, 803.33], 0, [0, 803.33], 0, true, 0, 5, 6, 1, 1, 0, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 4949.7089676348405, 511.6197325287223, 13, 1], 3, 778.3300000000019, 9, 5, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [9, 0], 0, [9, 778.3300000000019], 0, [0, 778.3300000000019], 0, true, 0, 5, 6, 1, 1, 0, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 4138.375634300828, 511.6197325287223, 13, 1], 3, 0, 0, 0, 0, 0, 10, 0, "底板", "电视柜", "电视柜", "科技原木", "多层板", "科技原木", 0, 1, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, "Board", 8, 2, 106, false, 1, 2, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 5413.910262958045, 1277.6057484616758, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5413.910262958045, 1277.6057484616758, 0, 1], 0, 3, 1602.67, 430, 18, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [430, 0], 0, [430, 1602.67], 0, [0, 1602.67], 0, true, 2, 3, 803.33, 9, 5, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [9, 0], 0, [9, 803.33], 0, [0, 803.33], 0, true, 0, 5, 6, 1, 1, 0, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 5400.903596292061, 1680.6057484616758, 13, 1], 3, 778.3300000000019, 9, 5, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [9, 0], 0, [9, 778.3300000000019], 0, [0, 778.3300000000019], 0, true, 0, 5, 6, 1, 1, 0, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 4589.570262958048, 1680.6057484616758, 13, 1], 3, 0, 0, 0, 0, 0, 10, 0, "底板", "电视柜", "电视柜", "科技原木", "多层板", "科技原木", 0, 1, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, "Board", 8, 2, 107, false, 1, 2, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 6196.2369296250545, 1277.6057484616758, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6196.2369296250545, 1277.6057484616758, 0, 1], 0, 3, 782.33, 430, 18, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [430, 0], 0, [430, 782.33], 0, [0, 782.33], 0, true, 1, 3, 769.3300000000017, 9, 5, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [9, 0], 0, [9, 769.3300000000017], 0, [0, 769.3300000000017], 0, true, 0, 5, 6, 1, 1, 0, 0, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 6196.2369296250545, 1680.6057484616758, 13, 1], 3, 0, 0, 0, 0, 0, 10, 0, "底板", "电视柜", "电视柜", "科技原木", "多层板", "科技原木", 0, 1, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0], "basePt": { "x": 1176.4237826414028, "y": 53.524216164179364, "z": 0 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] }; await Check(d, 0); }); + + test('精度问题导致的干涉错误3', async () => + { + let d = + { "file": [2, "Board", 8, 2, 100, false, 1, 11, 0, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 279.67078189300446, 184.15912208504804, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 279.67078189300446, 184.15912208504804, 0, 1], 0, 3, 2349, 330, 17, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [330, 0], 0, [330, 2349], 0, [0, 2349], 0, true, 1, 3, 976.6666666666679, 6, 5, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [6, 0], 0, [6, 976.6666666666679], 0, [0, 976.6666666666679], 0, true, 0, 2.5, 6, 0, 0, 0, 0, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 291.67078189300446, 490.159122085048, 1360.3333333333321, 1], 3, 0, 0, 0, 0, 0, 10, 1, "左侧板", "客厅", "鞋柜", "", "", "", 0, 0, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, "Board", 8, 2, 101, false, 1, 3, 0, [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 291.67078189300446, 496.159122085048, 1360.3333333333321, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 296.67078189300446, 184.15912208504804, 1365.3333333333321, 1], 0, 3, 976.6666666666679, 768, 6, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [768, 0], 0, [768, 976.6666666666679], 0, [0, 976.6666666666679], 0, true, 0, 2.5, 6, 0, 0, 0, 0, 10, 2, "薄背板", "客厅", "鞋柜", "", "", "", 0, 1, "不排", 2, 0, "0", "0", "0", "0", "", "", "", 4, "不排", "不排", "不排", "不排", false, false, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0], "basePt": { "x": 279.67078189300446, "y": 184.15912208504804, "z": 0 }, "ucs": [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1] }; + await Check(d, 0); + }); }); diff --git a/src/DatabaseServices/Room/ParseService/RoomWallParse.ts b/src/DatabaseServices/Room/ParseService/RoomWallParse.ts index 4369c1daa..d87c99f94 100644 --- a/src/DatabaseServices/Room/ParseService/RoomWallParse.ts +++ b/src/DatabaseServices/Room/ParseService/RoomWallParse.ts @@ -219,7 +219,7 @@ export class RoomWallParse else { //钝角 直接连接 在下面的代码连接 - console.log(); + // console.log(); } } }