You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
WebCAD/__test__/ArcBoard/ArcBoardBuild.test.ts

43 lines
8.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import { Vector3 } from "three";
import { LoadBoardsFromFileData } from "../Utils/LoadEntity.util";
// 测试命令(用于复制)npm run test -- ArcBoardBuild.test.ts
// 测试在build过程中是否会报错
test('创建圆弧板1', () =>
{
const data = { "file": [1, "Board", 10, 2, 64355, 0, 1, 2, 71, [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 42161.81736322144, -20.159418886198523, 29172.231620093924, 1], 0, 0, 1, [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 42161.81736322144, -20.159418886198523, 29172.231620093924, 1], 0, 0, 1, 3, 1200, 1063.61945, 6, 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, [1063.61945, 0], 0, [1063.61945, 1200], 0, [0, 1200], 0, true, 0, 3, 0, 0, 0, 0, 0, 19, 0, "圆弧板", "", "", "", "", "", 0, 0, "不排", 2, 0, "0", "0", "0", "0", "", "", "", 4, "不排", "不排", "不排", "不排", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, null, 0, 0, "", "", "", "", 0, false, 0, "Polyline", 10, 2, 0, 0, 1, 7, 71, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 1, [0, -1, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, -14, 0, 1], 0, 0, 1, 2, 5, [1.3322676295501878e-15, 0], 0, [7.815970093361103e-14, -346.00000000000006], 0, [-193.99999999999991, -346.0000000000001], 0, [-193.99999999999997, -144.00000000000006], -0.41421356237309503, [-50, -1.0658141036401503e-14], 0, true, 0, 0, true, 2, -1, 0, 6, 6, 2, 0, 0, 0, 3, 0, 3, 235.61945, 6, 6, 2, 0, 0, 0, 3, 0], "basePt": { "x": 41961.81736322144, "y": -26.159418886198523, "z": 29172.231620093924 }, "ucs": [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1] };
let br = LoadBoardsFromFileData(data)[0];
expect(!br.GetSweepPath()).toBe(false);
});
test('创建圆弧板2', () =>
{
const data = { "file": [1, "Board", 10, 2, 102, 0, 1, 2, 71, [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 303.4013605442178, 529.5918367346939, 0, 1], 0, 0, 1, [1, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 303.4013605442178, 529.5918367346939, 0, 1], 0, 0, 1, 3, 1200, 1302.93878, 18, true, "Polyline", 10, 2, 0, 0, 0, 7, 0, [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, [1302.93878, 0], 0, [1302.93878, 1200], 0, [0, 1200], 0, true, 0, 3, 0, 0, 0, 0, 0, 19, 0, "圆弧板", "", "", "", "", "", 0, 0, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, null, 0, 0, "", "", "", "", 0, false, 0, "Polyline", 10, 2, 0, 0, 1, 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, -274.48979591836735, 0, 1], 0, 0, 1, 2, 4, [0, 0], 0, [0, -274.48979591836735], 0, [448.9795918367346, -274.48979591836735], 0, [448.9795918367346, 0], 0, true, 0, 0, true, 1, -1, 0, 6, 6, 2, 0, 0, 0, 3, 0], "basePt": { "x": 303.4013605442178, "y": 529.5918367346939, "z": -2.1316282072803006e-12 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] };
let br = LoadBoardsFromFileData(data)[0];
expect(!br.GetSweepPath()).toBe(false);
});
test('创建圆弧板3', () =>
{
const data = { "file": [1, "Board", 10, 2, 109, 0, 1, 2, 71, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 6341.718991840809, 1051.00060295893, 0, 1], 0, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6341.718991840809, 1051.00060295893, 0, 1], 0, 0, 1, 3, 903.0864494339985, 997.0402133676007, 18, false, "Polyline", 10, 2, 0, 0, 1, 7, 71, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 1, [0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, -1051.00060295893, 6921.580846196026, 0, 1], 0, 0, 1, 2, 12, [997.0402133676007, 402.1205832057158], 0, [361.6838765145899, 903.0864494339985], 0, [0, 903.0864494339985], 0, [0, 696.4099485685183], 0, [361.6838765145899, 696.4099485685183], 0, [361.6838765145899, 530.1701543941108], 0, [0, 402.1205832057158], 0, [361.6838765145899, 307.76826759321375], 0, [361.6838765145899, 163.99331046940097], 0, [163.99331046934822, 163.99331046940097], 0, [0, 0], 0, [361.6838765145899, 0], 0, true, 0, 3, 0, 0, 0, 0, 0, 19, 0, "层板", "", "", "", "", "", 0, 0, "三合一", 2, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, "1", "1", "1", "1", "", "", "", 12, "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, null, 0, 0, "", "", "", "", 0, false, 0, "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, [248.5375920688773, 0], -1.5008372021322007, [498.96275723417256, -1.2789769243681803e-13], 0, [744.8000053995568, -7.105427357601002e-15], 0, false, 0, 0, true, 2, -1, 0, 6, 6, 2, 0, 0, 0, 3, 0, 1, 533.50621, 6, 6, 2, 0, 0, 0, 3, 0], "basePt": { "x": 5438.632566059559, "y": 1051.00060295893, "z": -1.6697754290362354e-13 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] };
let br = LoadBoardsFromFileData(data)[0];
expect(!br.GetSweepPath()).toBe(false);
});
test('创建圆弧板4', () =>
{
const data = { "file": [1, "Board", 10, 2, 171, 0, 1, 11, 71, [-0.4322464455898701, 0.901755515799556, 0, 0, 0, 0, 1, 0, 0.901755515799556, 0.4322464455898701, 0, 0, 539.0971045899771, 2529.068579580106, 0, 1], 0, 0, 1, [-0.4322464455898701, 0.901755515799556, 0, 0, 0, 0, 1, 0, 0.901755515799556, 0.4322464455898701, 0, 0, 539.0971045899771, 2529.068579580106, 0, 1], 0, 0, 1, 3, 1200, 1416.15236, 18, true, "Polyline", 10, 2, 0, 0, 0, 7, 0, [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, [1416.15236, 0], 0, [1416.15236, 1200], 0, [0, 1200], 0, true, 0, 3, 0, 0, 0, 0, 0, 19, 1, "立板", "", "", "", "", "", 0, 0, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, null, 0, 0, "", "", "", "", 0, false, 0, "Polyline", 10, 2, 0, 0, 1, 7, 71, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], 0, 0, 1, [-0.43224644558987013, 0.9017555157995563, 0, 0, 0.9017555157995563, 0.43224644558987013, 0, 0, 0, 0, -1.0000000000000002, 0, -2091.7624739682556, -1626.610684053688, 0, 1], 0, 0, 1, 2, 8, [0, 0], 0, [-31.06356827203399, 64.80503036062237], 0, [42.8141663390752, 100.21749819074103], 0, [109.2902024412274, -38.46526678099053], 0, [-43.649669209840795, -111.77528790299039], 0, [-143.05308768034888, 95.60080925100078], 0, [92.837222832316, 208.67219776120373], 0, [192.86191266826472, 0], 0, false, 0, 0, true, 1, -1, 0, 6, 6, 2, 0, 0, 0, 3, 0], "basePt": { "x": 326.2702261568901, "y": 2319.723100927412, "z": 0 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] };
let br = LoadBoardsFromFileData(data)[0];
expect(!br.GetSweepPath()).toBe(false);
});
test('创建圆弧板MeshGeometry', () =>
{
const data = { "file": [1, "Board", 10, 2, 112, 0, 1, 2, 71, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 19904.78327896535, 4187.958560325209, -11618.264484039242, 1], 0, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 16198.407124815723, 17111.522686662538, -11618.264484039242, 1], 0, 0, 1, 3, 28334.00417465891, 29190.267294923055, 18, false, "Polyline", 10, 2, 0, 0, 0, 7, 71, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 12923.564126337336, 3706.376154149625, 0, 1], 0, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 12923.564126337336, 3706.376154149625, 0, 1], 0, 0, 1, 2, 4, [-12923.564126337336, -3706.376154149625], 0, [6386.434340466485, 993.3625201318764], 0, [16266.703168585718, 12209.356716972983], 0, [5532.995149899774, 24627.628020509284], 0, true, 0, 3, 0, 0, 0, 0, 0, 20, 0, "层板", "", "", "", "", "", 0, 0, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 0, 0, null, 0, 0, "", "", "", "", 0, false, 0, "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, [2.4868995751603507e-14, -1.0658141036401503e-14], 0, [5602.807360060827, 16026.299899791413], 0, [9473.648588094784, 17992.44147593565], 0, [19929.97581119567, 12595.62742530294], 0, false, 0.7853981633974483, 1, true, 1, -1, 0, 6, 6, 2, 0, 0, 0, 3, 0, 0], "basePt": { "x": 867.6016383403512, "y": 4175.9435246959365, "z": -11618.264484039242 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] };
const br = LoadBoardsFromFileData(data)[0];
br.MoveGripPoints([2], new Vector3(7509.205851318104, -4891.551400246293, 0));
br.MeshGeometry;
});