import { Board } from "../../src/DatabaseServices/Entity/Board"; import { TempalteActionRadiusType, TemplateaRadiusAction } from "../../src/DatabaseServices/Template/Action/TemplateaRadiusAction"; import { LoadEntityFromFileData } from "../Utils/LoadEntity.util"; Board; LoadEntityFromFileData; //如果不延迟导入,则导致循环依赖错误 import { Database } from "../../src/DatabaseServices/Database"; test('二维刀路半径动作', () => { let d = { "file": [1, "Board", 11, 2, 100, 0, 1, 2, 71, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 1564.6258503401364, 318.3673469387755, 0, 1], 244, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 364.62585034013637, 318.3673469387755, 0, 1], 0, 0, 1, 61, 3, 1200, 600, 18, true, "Polyline", 11, 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, 0, 2, 4, [0, 0], 0, [600, 0], 0, [600, 1200], 0, [0, 1200], 0, true, 0, 3, 0, 0, 0, 0, 0, 22, 0, "层板", "", "", "", "", "", 0, 0, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 1, "Polyline", 11, 2, 0, 0, 0, 1, 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, 0, 2, 2, [95.91836734693862, 575.5102040816324], -0.26386885101222296, [490.4761904761907, 564.6258503401358], 0, false, 0, 1, 15, 0, "4832", 10, 0, "222", "15", 0, null, 1, "4832", "Polyline", 11, 2, 0, 0, 0, 7, 71, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 25.399487084036537, 0, 1], 0, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3566.242006162735, -1297.3985627344691, 0, 1], 0, 0, 1, 0, 2, 5, [10, 2.2737367544323206e-13], 0, [0, 0], 0, [-10, 0], 0, [0, -25.399487084036537], 0, [10, 2.2737367544323206e-13], 0, false, 0, "", "", "", "", 0, false, 0, "", 0, 0], "basePt": { "x": 364.62585034013637, "y": 318.3673469387755, "z": 0 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] }; let board = LoadEntityFromFileData(d)[0] as Board; let db = new Database; db.ModelSpace.Append(board); let action = new TemplateaRadiusAction(TempalteActionRadiusType.Radius); action.FilletDatas.push({ Entity: board.Id, ArcParams: [], Grooves: [], Path2D: [{ Index: 0, ArcParams: [0.5] }], ArcSweepPathParams: [] }); action.Update(200, -200); expect(board.Modeling2D).toMatchSnapshot(); }); test('二维刀路半径高度动作', () => { let d = { "file": [1, "Board", 11, 2, 198, 0, 1, 2, 71, [0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 1, 0, 1564.6258503401364, -1674.5369423494335, 36, 1], 199, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 364.62585034013637, -1674.5369423494335, 36, 1], 0, 0, 1, 61, 3, 1200, 600, 18, true, "Polyline", 11, 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, 0, 2, 4, [0, 0], 0, [600, 0], 0, [600, 1200], 0, [0, 1200], 0, true, 0, 3, 0, 0, 0, 0, 0, 22, 0, "层板", "", "", "", "", "", 0, 0, "三合一", 2, 0, "1", "1", "1", "1", "", "", "", 4, "三合一", "三合一", "三合一", "三合一", true, true, 0, 0, 0, 0, 0, 0, 0, 0, true, 1, "Polyline", 11, 2, 0, 0, 0, 1, 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, 0, 2, 2, [95.91836734693862, 575.5102040816324], -0.2533518939501889, [490.4761904761907, 564.6258503401358], 0, false, 0, 1, 15, 0, "4832", 10, 0, "222", "15", 0, null, 1, "4832", "Polyline", 11, 2, 0, 0, 0, 7, 71, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 25.399487084036537, 0, 1], 0, 0, 1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3566.242006162735, -1297.3985627344691, 0, 1], 0, 0, 1, 0, 2, 5, [10, 2.2737367544323206e-13], 0, [0, 0], 0, [-10, 0], 0, [0, -25.399487084036537], 0, [10, 2.2737367544323206e-13], 0, false, 0, "", "", "", "", 0, false, 0, "", 0, 0], "basePt": { "x": 364.62585034013637, "y": -1674.5369423494335, "z": 36 }, "ucs": [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] }; let board = LoadEntityFromFileData(d)[0] as Board; let db = new Database(); db.ModelSpace.Append(board); let action = new TemplateaRadiusAction(TempalteActionRadiusType.Height); action.FilletDatas.push({ Entity: board.Id, ArcParams: [], Grooves: [], Path2D: [{ Index: 0, ArcParams: [0.5] }], ArcSweepPathParams: [] }); action.Update(-150, -200); expect(board.Modeling2D).toMatchSnapshot(); });