开发:修复循环依赖导致的测试失败

pull/2847/head
ChenX 3 months ago
parent 079b360d06
commit 20a669254c

@ -7,7 +7,7 @@ import { Polyline } from "../DatabaseServices/Entity/Polyline";
import { Text, TextAligen } from "../DatabaseServices/Text/Text";
import { Command } from "../Editor/CommandMachine";
import { PromptStatus } from "../Editor/PromptResult";
import { ParseBoardSideFace } from "../Geometry/DrillParse/ParseBoardSideFace";
import { ParseBoardSideFace } from "../Geometry/DrillParse/BoardGetFace";
import { MoveMatrix } from "../Geometry/GeUtils";
import { FeedingToolPath } from "../GraphicsSystem/ToolPath/FeedingToolPath";

@ -9,8 +9,9 @@ import { Board } from "../../DatabaseServices/Entity/Board";
import { Curve } from "../../DatabaseServices/Entity/Curve";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Region } from "../../DatabaseServices/Entity/Region";
import { GetBoardHighSeal } from "../../GraphicsSystem/CalcEdgeSealing";
import { GetBoardContour, GetBoardHighSeal } from "../../GraphicsSystem/CalcEdgeSealing";
import { IHighSealedItem } from "../../UI/Store/OptionInterface/IHighSealedItem";
import { GetSideCuFaceMtx } from "../Board2DModelCSG/BoardSideModelCSGBuilder";
import { AsVector2, ZAxis, angle, equaln, equalv3 } from "../GeUtils";
import { CanDrawHoleFuzz } from "./CanDrawHoleFuzz";
import { Face } from "./Face";
@ -363,3 +364,41 @@ export function GetSideFaceMtx(cu: Curve, inverseZ = false): Matrix4
.makeBasis(x, y, z)
.setPosition(basePt);
}
export class ParseBoardSideFace extends BoardGetFace
{
constructor(public Board: Board)
{
super(Board);
}
ParseFaces()
{
this.GetSideFaces();
}
GetSideFaces()
{
let con = GetBoardContour(this.Board);
let inverseZ = con.Area2 < 0;
let cus = con.Explode() as Curve[];
for (let cu of cus)
{
let type = BoardFaceType.Side;
let length = cu.Length;
if (equaln(length, 0) || cu instanceof Arc)
type = BoardFaceType.NoSide;
let mtx = GetSideCuFaceMtx(cu, inverseZ);
let face = new Face({
type,
localBoard: this.Board,
matrix4: new Matrix4().multiplyMatrices(this.Board.OCS.clone(), mtx),
length,
width: this.Board.Thickness,
});
this.Faces.push(face);
}
}
}

@ -1,47 +0,0 @@
import { Matrix4 } from "three";
import { Arc } from "../../DatabaseServices/Entity/Arc";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Curve } from "../../DatabaseServices/Entity/Curve";
import { GetBoardContour } from "../../GraphicsSystem/CalcEdgeSealing";
import { GetSideCuFaceMtx } from "../Board2DModelCSG/BoardSideModelCSGBuilder";
import { equaln } from "../GeUtils";
import { BoardFaceType, BoardGetFace } from "./BoardGetFace";
import { Face } from "./Face";
export class ParseBoardSideFace extends BoardGetFace
{
constructor(public Board: Board)
{
super(Board);
}
ParseFaces()
{
this.GetSideFaces();
}
GetSideFaces()
{
let con = GetBoardContour(this.Board);
let inverseZ = con.Area2 < 0;
let cus = con.Explode() as Curve[];
for (let cu of cus)
{
let type = BoardFaceType.Side;
let length = cu.Length;
if (equaln(length, 0) || cu instanceof Arc)
type = BoardFaceType.NoSide;
let mtx = GetSideCuFaceMtx(cu, inverseZ);
let face = new Face({
type,
localBoard: this.Board,
matrix4: new Matrix4().multiplyMatrices(this.Board.OCS.clone(), mtx),
length,
width: this.Board.Thickness,
});
this.Faces.push(face);
}
}
}

@ -19,8 +19,8 @@ import { ShapeManager } from "../../DatabaseServices/ShapeManager";
import { GetSideCuFaceMtx } from "../../Geometry/Board2DModelCSG/BoardSideModelCSGBuilder";
import { Box3Ext } from "../../Geometry/Box";
import { Route } from "../../Geometry/CurveMap";
import { ParseBoardSideFace } from "../../Geometry/DrillParse/BoardGetFace";
import { CanDrawHoleFuzz } from "../../Geometry/DrillParse/CanDrawHoleFuzz";
import { ParseBoardSideFace } from "../../Geometry/DrillParse/ParseBoardSideFace";
import { AsVector2, ZAxis, equaln, isParallelTo } from "../../Geometry/GeUtils";
import { RegionParse } from "../../Geometry/RegionParse";
import { FixIndex } from "../../Nest/Common/Util";

@ -24,8 +24,8 @@ import { GroupRecord } from "../DatabaseServices/GroupTableRecord";
import { HardwareCompositeEntity } from "../DatabaseServices/Hardware/HardwareCompositeEntity";
import { HardwareTopline } from "../DatabaseServices/Hardware/HardwareTopline";
import { Shape } from "../DatabaseServices/Shape";
import { ParseBoardSideFace } from "../Geometry/DrillParse/BoardGetFace";
import { CanDrawHoleFuzz } from "../Geometry/DrillParse/CanDrawHoleFuzz";
import { ParseBoardSideFace } from "../Geometry/DrillParse/ParseBoardSideFace";
import { AsVector2, IsBetweenA2B, MoveMatrix, XAxis, angle, angleTo, equaln, equalv2, equalv3, isIntersect2, isParallelTo, isPerpendicularityTo } from "../Geometry/GeUtils";
import { BrSealedData, GetSealedBoardContour } from "../GraphicsSystem/CalcEdgeSealing";
import { FeedingToolPath, GetModelingFromCustomDrill } from "../GraphicsSystem/ToolPath/FeedingToolPath";

Loading…
Cancel
Save