From dcc00ae5b968297d7223600e8367aab0e054407d Mon Sep 17 00:00:00 2001 From: ZoeLeeFZ Date: Sat, 6 Feb 2021 09:57:31 +0800 Subject: [PATCH] =?UTF-8?q?!1397=20=E4=BC=98=E5=8C=96:=E6=9D=BF=E4=BB=B6?= =?UTF-8?q?=E4=B9=8B=E9=97=B4=E5=B9=B2=E6=B6=89=E6=A3=80=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __test__/Interfere/interfere.test.ts | 10 ++++++++++ src/Common/InterfereUtil.ts | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/__test__/Interfere/interfere.test.ts b/__test__/Interfere/interfere.test.ts index 839f38e22..2fb195f52 100644 --- a/__test__/Interfere/interfere.test.ts +++ b/__test__/Interfere/interfere.test.ts @@ -37,4 +37,14 @@ describe("干涉测试", () => let data = { "file": [2, "Board", 8, 2, 141, false, 1, 2, 0, [0, 1, 0, 0, -0.7071067811865476, 0, -0.7071067811865475, 0, -0.7071067811865475, 0, 0.7071067811865476, 0, 1457.168983625335, 0, 819.3295198795947, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1457.168983625335, 0, 819.3295198795947, 1], 0, 3, 761.1436553548998, 600, 17.999999999999993, false, "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, 24, [0, 0], 0, [600, 0], 0, [600, 761.1436553548998], 0, [0, 761.1436553548998], 0, [0, 636.3863794624164], 0, [303, 636.3863794624164], 0, [303, 620.1863794624165], 0, [0, 620.1863794624165], 0, [0, 512.5291035699332], 0, [303, 512.5291035699332], 0, [303, 496.3291035699331], 0, [0, 496.3291035699331], 0, [0, 388.67182767745004], 0, [303, 388.67182767745004], 0, [303, 372.4718276774499], 0, [0, 372.4718276774499], 0, [0, 264.8145517849668], 0, [303, 264.8145517849668], 0, [303, 248.61455178496684], 0, [0, 248.61455178496684], 0, [0, 140.9572758924837], 0, [303, 140.9572758924837], 0, [303, 124.75727589248348], 0, [0, 124.75727589248348], 0, true, 0, 3, 0, 0, 0, 0, 0, 9, 0, "右板15", "", "", "", "", "", 0, 0, "不排", 2, 24, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, "1", "1", "1", "1", "", "", "", 24, "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, -0.7853981633974483, 0, 0, 0, true, "Board", 8, 2, 142, false, 1, 11, 0, [0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1439.168983625335, 0, 281.11967972102866, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1439.168983625335, 0, 281.11967972102866, 1], 0, 3, 593.2911126104882, 600, 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, [600, 0], 0, [600, 593.2911126104882], 0, [0, 593.2911126104882], 0, true, 0, 3, 0, 0, 0, 0, 0, 9, 1, "右侧板", "", "", "", "", "", 0, 0, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true], "basePt": { "x": 906.231221405411, "y": 0, "z": 281.11967972102866 }, "ucs": [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1] }; Check(data, 1); }); + test("鹿角干涉", () => + { + let data = { "file": [2, "Board", 8, 2, 100, false, 1, 1, 0, [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 18772.744294221397, 75.30508230915177, 213.02254539250862, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 18772.744294221397, 75.30508230915177, 213.02254539250862, 1], 0, 3, 426.1862999999999, 512.2803050119994, 18, false, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -11287.040410179, 7.105427357601002e-14, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -11287.040410179, 7.105427357601002e-14, 0, 1], 0, 2, 135, [11575.177889619, 183.9111], -0.254612865, [11519.549149821, 180.0828], -0.254612865, [11486.149016414, 224.733], 0.049131544, [11481.750650228, 236.3367], 0.031145283, [11479.277954769, 240.2842], 0.053715145, [11477.466271849, 226.3247], -0.006397846, [11477.461810351, 214.9593], -0.297918804, [11470.568787514, 201.8175], -0.180078198, [11411.024025155, 243.6921], 0, [11403.562761857, 234.5964], 0, [11393.787959259, 250.9923], 0, [11401.249222556, 260.0879], 0.014430924, [11396.835052412, 292.4591], -0.04253151, [11397.925134219, 355.943], 0.004683701, [11403.360754974, 426.1145], 0.240296591, [11391.815439486, 410.3221], 0.023565487, [11385.352522926, 381.8093], -0.364482816, [11378.084548262, 381.9742], -0.09837455, [11367.021626556, 391.159], 0.071116764, [11362.519097998, 395.0163], 1.02815249, [11361.370679631, 395.0163], 0.052151674, [11368.7771923, 373.0268], -0.04297448, [11381.128178264, 338.3146], -0.158396361, [11380.309935386, 317.5927], -0.132109045, [11377.959294551, 313.3645], -0.275983075, [11357.512291734, 327.2632], -0.067114461, [11343.341893042, 364.7725], 0.029838949, [11328.316966659, 413.214], 0.073072941, [11322.966435497, 421.4163], 0.135789841, [11321.766728399, 421.4163], 0.028827145, [11322.7214116, 408.9037], 0.024405929, [11327.800553142, 383.1967], -0.015601406, [11335.090914834, 349.9768], -0.061798133, [11335.786914938, 334.9212], -0.138782737, [11332.578297984, 326.6398], -0.069487037, [11306.428730945, 328.5789], 0.031600673, [11287.040410179, 331.3179], -0.144553022, [11290.424199241, 326.8061], -0.009458704, [11326.919408534, 315.4381], -0.091477617, [11367.966734075, 293.438], -0.277997279, [11382.956035178, 249.8128], -0.344624021, [11351.907237585, 261.8741], -0.015987502, [11333.313730763, 283.9223], 0.052407896, [11322.953392024, 294.2163], -0.061710025, [11321.775018611, 294.3001], 0.076426257, [11328.466369157, 272.3322], 0.106068382, [11347.011107859, 248.3883], 0.061972259, [11401.60771331, 216.2024], -0.053746633, [11445.339857422, 190.9484], -0.253436665, [11431.529139506, 186.9512], -0.035461175, [11413.310889227, 186.8128], 0.024362283, [11391.366582053, 184.9014], 0.420111382, [11393.247576808, 181.2685], 0.012212189, [11434.512618522, 176.3274], -0.062775564, [11470.7012434, 169.0987], -0.430891816, [11487.195471731, 140.6975], -0.046259578, [11479.04336139, 115.0782], 0.128917906, [11475.733345427, 75.1079], 0.068188271, [11487.362628345, 36.9554], 0, [11487.362628345, 78.8163], 0, [11505.362628345, 78.8163], 0, [11505.362628345, 14.6299], -0.014550612, [11521.804708805, 5.4898], 0.057423089, [11534.066582053, 0.1705], 0, [11534.066582053, 75.8632], 0, [11552.166582053, 75.8632], 0, [11552.166582053, 0], 0.096578936, [11581.576353606, 15.5105], 0, [11581.576353606, 80.0159], 0, [11599.576353606, 80.0159], 0, [11599.576353606, 38.2867], 0.065688118, [11610.599818679, 75.1079], 0.128917906, [11607.289802717, 115.0782], -0.047156952, [11601.02806164, 140.6975], -0.274535317, [11606.260736742, 159.8827], -0.089605693, [11652.588230602, 172.9365], 0.030873658, [11688.991201222, 180.7212], 0.050381766, [11694.916107746, 185.0219], 0.031449162, [11670.4825118, 184.6727], -0.10399231, [11640.966582053, 187.4348], -0.336449094, [11640.966582054, 191.0032], -0.036722822, [11680.533084623, 214.3934], 0.054192788, [11726.213254997, 241.6738], 0.076337606, [11753.770938476, 272.623], 0.049489895, [11762.656825324, 285.98], 0.138087058, [11763.356033891, 294.2058], 0.000047238, [11761.10014684, 291.9499], 0.09861929, [11741.409068782, 271.9504], -0.062439784, [11729.665613854, 258.0381], -0.103116929, [11717.375226864, 249.9555], -0.121468386, [11704.561895684, 248.6304], -0.204317631, [11703.883885051, 265.1182], -0.09587023, [11719.497523575, 291.9725], -0.042673687, [11735.762793765, 309.283], -0.148349705, [11755.152813317, 318.6094], -0.012586025, [11778.962002245, 321.3235], 0.108425739, [11793.825468391, 326.4298], 0.042924224, [11799.320715191, 331.3627], 0.041662745, [11783.783757311, 328.7079], -0.038357208, [11768.815814086, 326.1597], -0.095757819, [11754.317867672, 327.6662], -0.383733711, [11750.208924425, 332.3593], -0.054739054, [11754.267214374, 352.8037], 0.000010299, [11762.660701672, 379.3031], 0.072062048, [11766.60001328, 404.4508], 0.071821088, [11764.350969936, 418.5301], 0.043651943, [11763.319701333, 421.3929], 0.198002445, [11760.015414422, 416.1008], -0.018076552, [11748.95933259, 374.3494], -0.049532619, [11732.343387357, 333.9769], -0.081841348, [11717.821958357, 315.1439], -0.032240782, [11714.246462485, 312.2818], -0.189036719, [11705.507337448, 318.3212], -0.104987178, [11711.766367896, 352.0737], 0.034028207, [11723.837727469, 386.0765], 0.104457129, [11723.731209826, 394.9926], 0.035418053, [11712.759629038, 384.8008], -0.153616808, [11702.165117566, 380.6207], -0.003135161, [11698.291881798, 391.6015], 0.005848381, [11693.803721704, 412.0875], 0.170274322, [11685.922346843, 424.7653], 0.019247846, [11682.966582053, 426.1863], 0.00064047, [11682.966582053, 420.3159], -0.043610118, [11686.317807607, 405.3389], -0.042417751, [11690.375772192, 384.0725], -0.081620938, [11690.955334096, 354.9771], -0.075258115, [11688.304049254, 289.073], -0.039033673, [11680.996648028, 260.0879], 0, [11688.457911326, 250.9923], 0, [11678.683108728, 234.5964], 0, [11671.22184543, 243.6921], -0.209738748, [11629.823294946, 205.3048], -0.221064567, [11608.566582053, 205.4163], 0.003714071, [11608.844070958, 222.4945], 0.077128321, [11604.865848968, 249.0654], -0.258382325, true, 0, 3, 0, 0, 0, 0, 0, 10, 2, "背板", "", "", "", "", "", 0, 1, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 135, "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, "Board", 8, 2, 101, false, 1, 5, 0, [0.054881614980321014, 0.9974775965875263, -0.04501613758558334, 0, -0.7712262475747155, 0.07098199987301262, 0.6325912035002161, 0, 0.6341908887621895, -2.0509456545654932e-16, 0.7731765106436074, 0, 19151.417707883873, 0, 461.7794450518195, 1], 0, 0, true, [0.054881614980321014, 0.9974775965875263, -0.04501613758558334, 0, -0.6341908887621895, 2.0509456545654932e-16, -0.7731765106436074, 0, -0.7712262475747155, 0.07098199987301262, 0.6325912035002161, 0, 19151.417707883873, 0, 461.7794450518195, 1], 0, 3, 106.64990000000067, 126.12181744802166, 18, false, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -12025.442541058, 2.8421709430404007e-13, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -12025.442541058, 2.8421709430404007e-13, 0, 1], 0, 2, 19, [12059.982595379, 13.1415], -0.078990603, [12036.619149227, 30.1953], -0.108446637, [12025.442541058, 49.0499], 0.027641349, [12041.585102303, 37.9538], 0.0535103, [12075.00533063, 21.9583], 0.175280861, [12119.647035707, 19.8245], 0.181980507, [12139.442541058, 38.2499], 0.229616437, [12128.400475628, 60.738], 0, [12109.442541058, 79.0499], 0, [12133.442541058, 64.6499], 0.142440241, [12135.877984698, 71.7828], 0.094561328, [12134.275621159, 83.2365], 0.023401055, [12125.042541058, 106.6499], -0.161182868, [12148.989820487, 65.8239], -0.302830535, [12135.842541058, 15.4499], 0, [12100.854405824, 1.2359], 0, [12100.035375317, 10.2453], 0, [12081.961148198, 10.2453], 0, [12082.892535429, 0], 0.01566032, true, 0, 3, 0, 0, 0, 0, 0, 10, 2, "地脚线", "", "", "", "", "", 0, 1, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 19, "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0], "basePt": { "x": 18772.744294221397, "y": -3.6917021782178875e-15, "z": 213.02254539250862 }, "ucs": [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1] }; + Check(data, 0); + }); + test("干涉检查错误", () => + { + let data = { "file": [2, "Board", 8, 2, 102, false, 1, 11, 0, [-0.06975647374412529, -0.9975640502598242, 0, 0, 0, 0, 1, 0, -0.9975640502598242, 0.06975647374412529, 0, 0, 19556.454728975208, 767.9363869300789, 242.84526779845544, 1], 0, 0, true, [-0.9975640502598242, 0.06975647374412529, 0, 0, -0.06975647374412529, -0.9975640502598242, 0, 0, 0, 0, 1, 0, 19556.454728975208, 767.9363869300789, 242.84526779845544, 1], 0, 3, 1135, 600.0000000000027, 18, false, "Polyline", 8, 2, 0, false, 0, 1, 0, [1.0000000000000004, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1.0000000000000004, 0, 5632.016584763501, 2521.7574867597896, 0, 1], 0, 0, true, [-0.0697564737441253, 0, -0.9975640502598244, 0, -0.9975640502598244, 0, 0.0697564737441253, 0, 0, 1, 0, 0, 5632.016584763501, 2521.7574867597896, -7.275957614183426e-12, 1], 0, 2, 6, [-5382.016584763494, -1386.7574867597896], 0, [-5632.016584763498, -1386.7574867597896], 0, [-5632.016584763496, -2521.7574867597896], 0, [-5032.016584763496, -2521.7574867597896], 0, [-5032.016584763497, -1686.7574867597896], 0, [-5382.016584763495, -1686.7574867597896], 0, true, 6, 3, 409, 5.030673312097093, 5.0418581680963825, 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, [5.030673312097093, 0], 0, [5.030673312097093, 409], 0, [0, 409], 0, true, 0, 3, 0, 0, 0, 0, 0, [-0.06975647374412529, -0.9975640502598242, 0, 0, 0, 0, 1, 0, -0.9975640502598242, 0.06975647374412529, 0, 0, 19542.489716748765, 753.9899777379917, 255.8452677984559, 1], 3, 293, 5.030673312097093, 5.0418581680963825, 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, [5.030673312097093, 0], 0, [5.030673312097093, 293], 0, [0, 293], 0, true, 0, 3, 0, 0, 0, 0, 0, [-0.06975647374412529, -0.9975640502598242, 0, 0, 0, 0, 1, 0, -0.9975640502598242, 0.06975647374412529, 0, 0, 19542.489716748765, 753.9899777379917, 1072.8488815631117, 1], 3, 293, 5.038666380177347, 4.945957896650957, 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, [5.038666380177347, 0], 0, [5.038666380177347, 293], 0, [0, 293], 0, true, 0, 3, 0, 0, 0, 0, 0, [-0.06975647374412529, -0.9975640502598242, 0, 0, 0, 0, 1, 0, -0.9975640502598242, 0.06975647374412529, 0, 0, 19555.412614810877, 753.0334600645194, 1072.8491295150625, 1], 3, 409, 5.038666380177347, 4.945957896650957, 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, [5.038666380177347, 0], 0, [5.038666380177347, 409], 0, [0, 409], 0, true, 0, 3, 0, 0, 0, 0, 0, [-0.06975647374412529, -0.9975640502598242, 0, 0, 0, 0, 1, 0, -0.9975640502598242, 0.06975647374412529, 0, 0, 19555.412614810877, 753.0334600645194, 255.8452677984559, 1], 3, 394, 5.0386663801773475, 4.945957896650957, true, "Polyline", 8, 2, 0, false, 0, 7, 0, [1.0000000000000002, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1.0000000000000002, 0, 0, 0, 0, 1], 0, 0, true, [1.0000000000000002, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1.0000000000000002, 0, 0, 0, 0, 1], 0, 2, 4, [0, 0], 0, [5.038666380177347, 0], 0, [5.038666380177347, 394], 0, [0, 394], 0, true, 0, 3, 0, 0, 0, 0, 0, [-0.06975647374412529, -0.9975640502598242, 0, 0, 0, 0, 1, 0, -0.9975640502598242, 0.06975647374412529, 0, 0, 19555.412614810877, 753.0334600645194, 670.8452677984554, 1], 3, 394, 5.030673312097093, 5.0418581680963825, 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, [5.030673312097093, 0], 0, [5.030673312097093, 394], 0, [0, 394], 0, true, 0, 3, 0, 0, 0, 0, 0, [-0.06975647374412529, -0.9975640502598242, 0, 0, 0, 0, 1, 0, -0.9975640502598242, 0.06975647374412529, 0, 0, 19542.489716748765, 753.9899777379917, 670.8406241929855, 1], 3, 0, 0, 0, 0, 0, 10, 1, "侧板", "", "", "", "", "", 0, 0, "三合一", 2, 6, 1, 1, 1, 1, 1, 1, "1", "1", "1", "1", "", "", "", 6, "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, "Board", 8, 2, 103, false, 1, 2, 0, [1, -1.8369701987210297e-16, 0, 0, 1.8369701987210297e-16, 1, 0, 0, 0, 0, 1, 0, 19522.53385766159, 2.2637008605855804e-13, 658.8452677984554, 1], 0, 0, true, [-1.8369701987210297e-16, -1, 0, 0, 1, -1.8369701987210297e-16, 0, 0, 0, 0, 1, 0, 17112.285147039474, -4.243356993307089, 658.8452677984554, 1], 0, 3, 767.6683077388061, 1232.301352608582, 18, false, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 171.87521704525898, 0, 1], 0, 0, true, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5.684341886080801e-13, -4.14632742068261, 0, 1], 0, 2, 4, [1232.3013526085815, 412.1381720169775], 0.037666321518033015, [41.661911410171, 595.7930906935471], 0, [0, 0], -0.038046266446744866, [1095.4297814411107, -171.87521704525898], 0, true, 2, 3, 188.35578830063844, 1188.6022768256926, 6, false, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, -1.8369701987210297e-16, 0, 0, 1.8369701987210297e-16, 1, 0, 0, 0, 0, 1, 0, -40.2818226064704, -392.6890905964028, 0, 1], 0, 0, true, [1, -1.8369701987210297e-16, 0, 0, 1.8369701987210297e-16, 1, 0, 0, 0, 0, 1, 0, -40.2818226064704, -392.6890905964028, 0, 1], 0, 2, 4, [40.63061597737366, 581.0448788970413], 0, [40.281822606470314, 576.056901307199], -0.03766601885434294, [1227.7431928443466, 392.68909059640384], 0, [1228.8840994321629, 397.5571922574811], 0.037667551759022824, true, 0, 3, 0, 0, 0, 0, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 19562.81568026806, 564.564307641662, 670.8452677984554, 1], 3, 188.35578830063844, 1188.6022768256926, 6, false, "Polyline", 8, 2, 0, false, 0, 7, 0, [1, -1.8369701987210297e-16, 0, 0, 1.8369701987210297e-16, 1, 0, 0, 0, 0, 1, 0, -40.2818226064704, -392.6890905964028, 0, 1], 0, 0, true, [1, -1.8369701987210297e-16, 0, 0, 1.8369701987210297e-16, 1, 0, 0, 0, 0, 1, 0, -40.2818226064704, -392.6890905964028, 0, 1], 0, 2, 4, [40.63061597737366, 581.0448788970413], 0, [40.281822606470314, 576.056901307199], -0.03766601885434294, [1227.7431928443466, 392.68909059640384], 0, [1228.8840994321629, 397.5571922574811], 0.037667551759022824, true, 0, 3, 0, 0, 0, 0, 0, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 19562.81568026806, 564.564307641662, 658.8452677984554, 1], 3, 0, 0, 0, 0, 0, 10, 0, "底板", "", "", "", "", "", 1, 1, "三合一", 2, 4, 1, 1, 1, 1, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0], "basePt": { "x": 19496.644691824054, "y": 0, "z": 242.84526779845544 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] }; + Check(data, 0); + }); }); diff --git a/src/Common/InterfereUtil.ts b/src/Common/InterfereUtil.ts index 4a8b3a614..5edf6cb71 100644 --- a/src/Common/InterfereUtil.ts +++ b/src/Common/InterfereUtil.ts @@ -118,6 +118,14 @@ export class CheckInterfereTool if (!obb1.intersectsOBB(this.GetOBB(e2))) continue; + //#I2DXNO + if (e1 instanceof Board && e2 instanceof Board) + { + let temp = e1.Clone(); + if (!temp.Subtract([e2], [temp])) + continue; + } + let csg1 = this.GetCSG(e1); let csg2 = this.GetCSG(e2); if (!csg1 || !csg2)