更新版本

This commit is contained in:
ChenX
2024-12-09 10:12:56 +08:00
parent bfa2feca5b
commit 09a2b325fa
1076 changed files with 32219 additions and 15692 deletions

View File

@@ -1,10 +1,5 @@
import { Board } from "../../DatabaseServices/Entity/Board";
export declare class AutoCuttingReactor {
constructor();
StartReactor(ents: Board[]): Promise<void>;
}
/**
* 对绘制出来的板件自动切割其周围的板件
*/
export declare function AutoCutting(isRelevance: boolean, needRelevanceHardware?: boolean): Promise<void>;
export declare function AutoCutting(isRelevance: boolean): Promise<void>;
//# sourceMappingURL=AutoCuttingReactor.d.ts.map

View File

@@ -1 +1 @@
{"version":3,"file":"AutoCuttingReactor.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/AutoCuttingReactor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAK5D,qBAAa,kBAAkB;;IAwBrB,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE;CAWnC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,OAAO,EAAE,qBAAqB,UAAQ,iBAoBpF"}
{"version":3,"file":"AutoCuttingReactor.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/AutoCuttingReactor.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAsB,WAAW,CAAC,WAAW,EAAE,OAAO,iBAkBrD"}

View File

@@ -1,6 +1,14 @@
import { ExtrudeHole } from "../../DatabaseServices/3DSolid/ExtrudeHole";
import { Board } from "../../DatabaseServices/Entity/Board";
import { HardwareCompositeEntity } from "../../DatabaseServices/Hardware/HardwareCompositeEntity";
export declare function CuttingBoardByBoard(meats: Board[], knifs: Board[], isRelevance?: boolean): void;
export declare function CuttingBoardByHardware(meats: Board[], hardwares: (HardwareCompositeEntity | ExtrudeHole)[]): Promise<void>;
/**
* 五金切板
*
* @export
* @param {Board[]} meats 被切割的板
* @param {HardwareCompositeEntity[]} hardwares 五金当做刀
* @param {boolean} [relevanceCut=true] 默认是关联切割
* @return {*} {Promise<void>}
*/
export declare function CuttingBoardByHardware(meats: Board[], hardwares: HardwareCompositeEntity[], relevanceCut?: boolean): Promise<void>;
//# sourceMappingURL=CuttingUtils2.d.ts.map

View File

@@ -1 +1 @@
{"version":3,"file":"CuttingUtils2.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/CuttingUtils2.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAGlG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,UAAO,QA0DrF;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,uBAAuB,GAAG,WAAW,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2EhI"}
{"version":3,"file":"CuttingUtils2.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/CuttingUtils2.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAGlG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,UAAO,QA0DrF;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,uBAAuB,EAAE,EAAE,YAAY,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAqFrI"}

View File

@@ -1 +1 @@
{"version":3,"file":"DeleteRelevance.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/DeleteRelevance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAKtD,qBAAa,eAAgB,YAAW,OAAO;IAErC,IAAI;CA8Cb"}
{"version":3,"file":"DeleteRelevance.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/DeleteRelevance.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,qBAAa,eAAgB,YAAW,OAAO;IAErC,IAAI;CA8Cb"}

View File

@@ -1,9 +1,8 @@
import { ExtrudeHole } from "../../DatabaseServices/3DSolid/ExtrudeHole";
import { Board } from "../../DatabaseServices/Entity/Board";
import { HardwareCompositeEntity } from "../../DatabaseServices/Hardware/HardwareCompositeEntity";
export declare class HardwareCuttingReactor {
EnableHardware: boolean;
constructor();
StartReactor(hardwares: (HardwareCompositeEntity | ExtrudeHole)[], ents: Set<Board>): Promise<void>;
StartReactor(hardwares: HardwareCompositeEntity[], ents: Set<Board>): Promise<void>;
}
//# sourceMappingURL=HardwareCuttingReactor.d.ts.map

View File

@@ -1 +1 @@
{"version":3,"file":"HardwareCuttingReactor.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/HardwareCuttingReactor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAGlG,qBAAa,sBAAsB;IAE/B,cAAc,UAAQ;;IA+BhB,YAAY,CAAC,SAAS,EAAE,CAAC,uBAAuB,GAAG,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC;CAU5F"}
{"version":3,"file":"HardwareCuttingReactor.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/HardwareCuttingReactor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAGlG,qBAAa,sBAAsB;IAG/B,cAAc,UAAQ;;IA+BhB,YAAY,CAAC,SAAS,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC;CAU5E"}

View File

@@ -1,10 +1,22 @@
import { Vector3 } from "three";
import { Board } from "../../DatabaseServices/Entity/Board";
import { ExtrudeContourCurve } from "../../DatabaseServices/Entity/Extrude";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Command } from "../../Editor/CommandMachine";
export declare class LinearCutting implements Command {
exec(): Promise<void>;
protected SplitBoard(br: Board, cus: ExtrudeContourCurve[]): void;
/** 针对圆弧板的分裂处理 */
private ProcessForSweepInSplitBoard;
/** 根据轮廓曲线分裂板件
* @param br 被切割的板件
* @param cus 切割后的轮廓曲线
* @param SweepPaths 切割后的放样路径(针对圆弧板)
* @param contourBiases 用于修正轮廓位置的偏移值(针对圆弧板)
*/
protected SplitBoard(br: Board, cus: ExtrudeContourCurve[], SweepPaths: Polyline[], contourBiases: {
x: number;
y: number;
}[]): void;
protected GetCuttingPoints(): Promise<Vector3[] | undefined>;
}
export declare class RectLinearCutting extends LinearCutting {

View File

@@ -1 +1 @@
{"version":3,"file":"LinearCutting.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/LinearCutting.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhD,OAAO,EAAE,KAAK,EAAe,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAStD,qBAAa,aAAc,YAAW,OAAO;IAEnC,IAAI;IA+LV,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE;cAmC1C,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;CAwBrE;AAED,qBAAa,iBAAkB,SAAQ,aAAa;cAEhC,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;CAerE"}
{"version":3,"file":"LinearCutting.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/LinearCutting.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,OAAO,EAAE,MAAM,OAAO,CAAC;AAK5D,OAAO,EAAE,KAAK,EAAe,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAoB,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAUtD,qBAAa,aAAc,YAAW,OAAO;IAEnC,IAAI;IA2JV,iBAAiB;IACjB,OAAO,CAAC,2BAA2B;IAmDnC;;;;;OAKG;IACH,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,mBAAmB,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,aAAa,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;KAAE,EAAE;cAkD9G,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;CAwBrE;AAED,qBAAa,iBAAkB,SAAQ,aAAa;cAEhC,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;CAerE"}

View File

@@ -0,0 +1,137 @@
import { Matrix4, Vector2, Vector3 } from "three";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Line } from "../../DatabaseServices/Entity/Line";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
/** 针对圆弧板的线性切割 */
export declare class LinearCuttingForSweep {
br: Board;
splitPl: Polyline;
/** 点集生成二维刀 */
static CreateSplitPl(pts: Vector3[]): Polyline;
/** 生成圆弧板的切割器*/
constructor(br: Board, splitPl: Polyline);
/**
* 进行切割
* @param {Polyline[]} clipPls 用于切割的刀
* @returns {[Polyline[], Polyline[], {x:number; y:number}[]]} [切割后轮廓, 切割后路径, 切割后轮廓的偏移值]
* @第一步 判断当前切割的视图类型
* @第二步 根据视图类型判断切割的是路径还是面
* @第三步 把被切割对象(路径与板包围盒)平移到对应视图的平面
* @第四步 旋转被切割对象到XOY平面
* @第五步 在XOY平面下进行切割
*/
Split(ucs: Matrix4, clipPls?: Polyline[]): [Polyline[], Polyline[], {
x: number;
y: number;
}[]];
/**
* 切割面
* @param {Polyline} sweepPathInWCS 放样路径
* @param {Line[]} brBoxLines 板包围盒
* @param {Polyline} pathBoxPl 路径包围盒
* @第一步 计算刀与板包围盒的交点,以及在盒内的顶点,记住采样点
* @第二步 记录采样点在刀上的位置,并移动到路径所在的平面
* @第三步 根据采样点生成垂直于XOY平面的直线
* @第四步 计算这些直线与路径的交点
* @第五步 将这些交点映射到展开后的路径上
* @第六步 根据记录的位置排序这些点,并生成新的刀
*/
SplitInPlane(sweepPathInWCS: Polyline, brBoxLines: Line[], pathBoxPl: Polyline): [Polyline[], Polyline[], {
x: number;
y: number;
}[]];
/** 判断视图类型 */
private GetViewStr;
/** 判断切割的是路径还是面 */
private IsPathOrPlane;
/** 获取调整角度(用于处理放样角度带来的影响) */
private GetAdjustAngle;
/** 统一板包围盒与路径包围盒一致 */
private UnifyBrBoxAndPathBox;
/** 平移路径到对应视图平面 */
private MovePathToView;
/** 平移板包围盒到对应视图平面 */
private MoveBrBoxToView;
/** 旋转到俯视图下(即XOY平面) */
private RotateToXOY;
/** 修正放样角度带来的影响(比如求不到交点) */
private AdjustForSweepAngle;
/** 对路径进行细化 */
private Tessellate;
/** 规范超出的部分 */
private AdjustOverBox;
/** 获取板件坐标系下的放样路径 */
private GetSweepPathInOCS;
/** 获取板件坐标系下的放样路径并与板件的边对齐 */
private GetSweepPathInOCSWithBr;
/** 求得的板包围盒的交点与盒内的顶点 */
private GetPtsInbrBox;
/** 切割路径 */
SplitInPath(sweepPathInWCS: Polyline): [Polyline[], Polyline[], {
x: number;
y: number;
}[]];
/** 获取原始位置与切割位置的变换信息 */
private GetPositionData;
/** 旋转平移到切割位置 */
private ToSplitPosition;
/** 平移旋转到原始位置 */
private ReSplitPosition;
/** 用刀去切割板(包括轮廓与路径) */
private SplitBrByKnifes;
/**
* @todo 这个是旧方案,先临时用一用,后面再重构
* 针对圆弧板进行切割
* @param br 被切割的板
* @param clipPls 用于切割的线
* @问 圆弧板的切割与普通板有何区别?
* @答 切割位置应变长(因为板弯曲了,而板轮廓没有),且放样路径也应被切割
* @着手点 [1]修正板轮廓的切割位置 [2]获取正确的放样路径集
* @修正位置 通过param进行逆映射从而得到正确的切割位置
* @获取路径 首先要明确一件事,路径需要改变,是因为切割后的板的基点(aabb中X最小的点)可能发生变化
* 所以,我们需要根据新的基点生成新的路径,新基点沿路径方向与旧基点的差值(恒正)作为生成新路径的切割线(垂直X轴)
* 若切割线与路径平行,则新旧基点一致,无需修改
*/
private SplitBySweep;
/** 获得新的刀(多段线) */
private GetSplitPls;
/** 获取被切割后的放样路径集 */
private GetSweepPaths;
}
/** 视图类型 */
export declare enum ViewType {
Normal = "\u6B63\u89C6\u56FE",
Front = "\u524D\u89C6\u56FE",
Left = "\u5DE6\u89C6\u56FE",
Right = "\u53F3\u89C6\u56FE",
Down = "\u4FEF\u89C6\u56FE",
Unknown = "\u672A\u77E5\u89C6\u56FE"
}
/** 视图管理器 */
export declare class ViewManager {
/** 获取视图对应的矩阵 */
static GetViewMatrix(viewType: ViewType): Matrix4;
/** 判断矩阵位于哪个视图 */
static MatrixIsView(m: Matrix4): ViewType.Front | ViewType.Left | ViewType.Right | ViewType.Down | ViewType.Unknown;
}
/** 线段管理器 */
export declare class CurveManager {
/** X轴的平行线 */
static CreateXLine: (p: Vector3) => Line;
/** Y轴的平行线 */
static CreateYLine: (p: Vector3) => Line;
/** Z轴的平行线 */
static CreateZLine: (p: Vector3) => Line;
/** 通过点集生成多段线 */
static CreatePolyline: (ps: Vector2[]) => Polyline;
static CreateExpandPl(pl: Polyline): Polyline;
/** 绘制矩阵所表示的坐标系 */
static CreateAxis(m: Matrix4): Line[];
/** 点集转线段簇 */
static PtsToLines(pts: Vector3[]): Line[];
/** 线段簇转多段线 */
static LinesToPl(lines: Line[]): Polyline;
/** 获取pA-pB之间的曲线 */
static Get_Pl_InPtAtoPtB(pl: Polyline, pA: Vector3, pB: Vector3): Polyline;
}
//# sourceMappingURL=LinearCuttingForSweep.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"LinearCuttingForSweep.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/LinearCuttingForSweep.ts"],"names":[],"mappings":"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"}

View File

@@ -1 +1 @@
{"version":3,"file":"ReferenceCutting.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/ReferenceCutting.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAQtD,qBAAa,gBAAiB,YAAW,OAAO;IAEtC,IAAI;CA+Jb"}
{"version":3,"file":"ReferenceCutting.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/ReferenceCutting.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAQtD,qBAAa,gBAAiB,YAAW,OAAO;IAEtC,IAAI;CAgKb"}

View File

@@ -0,0 +1,13 @@
import { Board } from "../../DatabaseServices/Entity/Board";
export declare class SplitBoardSideModelUtil {
private OrgBoardOCS;
private CacheSideModel;
private OldSealCurves;
constructor(br: Board);
Init(br: Board, isSpecialShape?: boolean): void;
CheckSideModel(): boolean;
SetBoardSideModel(br: Board): void;
SpiltSideModelOfBrContour(br: Board): void;
SpiltSideModelOfBrThickness(br: Board, thickness: number): void;
}
//# sourceMappingURL=SplitBoardSideModel.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"SplitBoardSideModel.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/SplitBoardSideModel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAa5D,qBAAa,uBAAuB;IAGhC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,aAAa,CAAe;gBAExB,EAAE,EAAE,KAAK;IAKrB,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,UAAQ;IA2BtC,cAAc,IAAI,OAAO;IASzB,iBAAiB,CAAC,EAAE,EAAE,KAAK;IAW3B,yBAAyB,CAAC,EAAE,EAAE,KAAK;IA4GnC,2BAA2B,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM;CAmD3D"}

View File

@@ -0,0 +1,10 @@
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
/**
* 线性切割多线段
* @param {Polyline} meatPl 被切割的曲线
* @param {Polyline[]} knifePls 刀曲线
* @param {boolean} [isSweep = false] 是否为圆弧板(被切割的曲线是否为圆弧板的轮廓)
* @return {Polyline[]} 切割后的多线段
*/
export declare function SplitPolyline(meatPl: Polyline, knifePls: Polyline[], isSweep?: boolean): Polyline[];
//# sourceMappingURL=SplitPolyline.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"SplitPolyline.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/SplitPolyline.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAKlE;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,UAAQ,GAAG,QAAQ,EAAE,CA+DjG"}