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__/Fillet/radius.test.ts

51 lines
4.5 KiB

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();
});