diff --git a/src/Nest/Core/OptimizeMachine.ts b/src/Nest/Core/OptimizeMachine.ts index c0db7a9ae..298849f44 100644 --- a/src/Nest/Core/OptimizeMachine.ts +++ b/src/Nest/Core/OptimizeMachine.ts @@ -56,6 +56,20 @@ export class OptimizeMachine // this.PartCount[part.Id] = count === undefined ? 1 : (count + 1); // } } + PutPreParts(parts: Part[]) + { + if (globalThis.document) parts = parts.slice(); + arrayRemoveIf(parts, p => p.RotatedStates.length === 0); + this.PreParts = parts; + + // //计算重复的零件(暂时不用) + // for (let part of parts) + // { + // let count = this.PartCount[part.Id]; + // this.PartCount[part.Id] = count === undefined ? 1 : (count + 1); + // } + } + callBack: (i: Individual) => Promise; diff --git a/src/Nest/Core/OptimizeWorker.worker.ts b/src/Nest/Core/OptimizeWorker.worker.ts index d9e0d1f5a..2719c96d3 100644 --- a/src/Nest/Core/OptimizeWorker.worker.ts +++ b/src/Nest/Core/OptimizeWorker.worker.ts @@ -16,6 +16,7 @@ ctx.addEventListener("message", async (event) => m.OddmentsBins = db.OddmentsBins; m.ComparePointKeys = db.ComparePointKeys; m.PutParts(db.Parts); + m.PutPreParts(db.PreParts); m.callBack = async (inv) => { diff --git a/src/Nest/Test/PlaceUtil.ts b/src/Nest/Test/PlaceUtil.ts index e95a79998..2bced2cba 100644 --- a/src/Nest/Test/PlaceUtil.ts +++ b/src/Nest/Test/PlaceUtil.ts @@ -395,6 +395,7 @@ export async function InitParts(binPath = DefaultBin): Promise let db = new NestDatabase(); db.Paths = PathGeneratorSingle.paths; db.Parts = parts; + db.PreParts = []; db.Bin = DefaultBin; db.OddmentsBins = oddpaths; db.ComparePointKeys = gravity; diff --git a/src/Nest/Test/TestYH2.tsx b/src/Nest/Test/TestYH2.tsx index 3c85fc73c..78849a792 100644 --- a/src/Nest/Test/TestYH2.tsx +++ b/src/Nest/Test/TestYH2.tsx @@ -15,6 +15,7 @@ export class Command_TestYH2 implements Command m.Bin = db.Bin; m.OddmentsBins = db.OddmentsBins; m.PutParts(db.Parts); + m.PutPreParts(db.PreParts); m.callBack = async (inv) => { Place(inv, db.Parts, db.Bin);