This commit is contained in:
ChenX
2024-09-25 17:40:49 +08:00
parent 20c3f892e7
commit 00b2b3fb90
678 changed files with 0 additions and 11826 deletions

View File

@@ -1,58 +0,0 @@
import { BufferGeometry, Matrix4, Vector3 } from "three";
import { Arc } from "../../DatabaseServices/Entity/Arc";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Line } from "../../DatabaseServices/Entity/Line";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { FuzzyFactory } from "../../csg/core/FuzzyFactory";
import { FaceDirection } from "../DrawDrilling/DrillType";
export declare class ArcBoardBuild {
private _board;
private _SweepPath;
private _SweepAngle;
private _FaceDir;
private _SweepLengths;
private _SweepCurves1;
private _SweepCurves2;
private _SweepPath1;
private _SweepPath2;
_OCS2RotateMtx: Matrix4;
_Rotate2OCSMtx: Matrix4;
constructor(_board: Board, _SweepPath?: Polyline, _SweepAngle?: number, _FaceDir?: FaceDirection);
get SweepPath1(): Polyline;
get SweepPath2(): Polyline;
ParseContourLength(): void;
static OffsetPolyline(path: Polyline, dist: number): Polyline;
get OCS2RotateMtx(): Matrix4;
get Rotate2OCSMtx(): Matrix4;
ParseRotateMtx(): void;
get SweepCurves1(): (Line | Arc)[];
get SweepCurves2(): (Line | Arc)[];
ParseSweepCurves(): this;
get SweepLengths(): number[];
get SweepLength(): number;
private _SweepEndDists;
get SweepEndDists(): number[];
_CacheFuzzXFactory: FuzzyFactory;
_Cache_X_PosDirMap: Map<number, [Vector3, Vector3]>;
_CornerFuzzFactory: FuzzyFactory;
_CornerSet: Set<number>;
/** 临时板 计算平板的CSG */
_csgBoard: Board;
/** 切割的位置 */
private _splitXList;
get CSGBoard(): Board;
get SplitXList(): number[];
/** 解析切割的位置 */
private ParseSplitXlist;
/** 解析临时板 */
private ParseCSGBoard;
/** 生成圆弧板的Geometry */
BuildMeshEdgeGeom(): [BufferGeometry, BufferGeometry];
/** 生成大孔面 */
BuildBigHoleFace(): BufferGeometry;
private ParseCorner;
ParseAllX_Map(xs: number[]): void;
ParseAllX_Map_BigHole(xs: number[]): [FuzzyFactory, Map<number, [Vector3, Vector3]>];
PosMap2ArcPos(p: Vector3, cacheFuzzXFactory?: FuzzyFactory, cache_X_PosDirMap?: Map<number, [Vector3, Vector3]>): void;
}
//# sourceMappingURL=ArcBoardBuild.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"ArcBoardBuild.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/ArcBoard/ArcBoardBuild.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,cAAc,EAAS,OAAO,EAAS,OAAO,EAAE,MAAM,OAAO,CAAC;AAIxF,OAAO,EAAE,GAAG,EAAE,MAAM,mCAAmC,CAAC;AACxD,OAAO,EAAE,KAAK,EAAa,MAAM,qCAAqC,CAAC;AAGvE,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAOlE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,qBAAa,aAAa;IAkBV,OAAO,CAAC,MAAM;IAEtB,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;IApBpB,OAAO,CAAC,aAAa,CAAW;IAEhC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,aAAa,CAAiB;IAEtC,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,WAAW,CAAW;IAG9B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;gBAKJ,MAAM,EAAE,KAAK,EAErB,UAAU,GAAE,QAAgC,EAE5C,WAAW,GAAE,MAA0B,EACvC,QAAQ,gBAA0B;IAM9C,IAAI,UAAU,aAA+B;IAC7C,IAAI,UAAU,aAA+B;IAE7C,kBAAkB;IAOlB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ;IAO7D,IAAI,aAAa,IAAI,OAAO,CAQ3B;IACD,IAAI,aAAa,IAAI,OAAO,CAM3B;IACD,cAAc;IAcd,IAAI,YAAY,mBAGf;IAED,IAAI,YAAY,mBAGf;IAED,gBAAgB;IAoChB,IAAI,YAAY,aAKf;IAED,IAAI,WAAW,WAMd;IAED,OAAO,CAAC,cAAc,CAAW;IACjC,IAAI,aAAa,aAahB;IAoDD,kBAAkB,eAA6B;IAC/C,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAW;IAE9D,kBAAkB,EAAE,YAAY,CAAC;IACjC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,mBAAmB;IACnB,SAAS,EAAE,KAAK,CAAC;IACjB,YAAY;IACZ,OAAO,CAAC,WAAW,CAAW;IAE9B,IAAI,QAAQ,UAKX;IAED,IAAI,UAAU,aAKb;IAED,cAAc;IACd,OAAO,CAAC,eAAe;IA6BvB,YAAY;IACZ,OAAO,CAAC,aAAa;IA4FrB,qBAAqB;IACrB,iBAAiB,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC;IAmMrD,YAAY;IACZ,gBAAgB;IAyHhB,OAAO,CAAC,WAAW;IAWnB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE;IA2C1B,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,GAoCmB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAGpG,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,eAA0B,EAAE,iBAAiB,kCAA0B;CAkBrH"}

View File

@@ -1,26 +0,0 @@
import { Board, IModeling } from "../../DatabaseServices/Entity/Board";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { FaceDirection } from "../DrawDrilling/DrillType";
export interface ArcBoardOptions {
arcLength: number;
grooveSpacing: number;
grooveWidth: number;
retainedThickness: number;
knifeRadius: number;
grooveAddLength: number;
grooveAddWidth: number;
grooveAddDepth: number;
arcExtension: number;
}
export declare const defultArcBoardOption: ArcBoardOptions;
/**
* 解析圆弧板需要的走刀数据
* @param br
* @param path 圆弧放样路径
* @param angle 角度
* @param dir 圆弧板见光面 见光面正面走刀颜色黄色,背面颜色红色
* @param [onlyVert=false] 仅解析交点位置 (默认解析所有的槽)
* @returns 返回需要增加的槽的数据
*/
export declare function ParseBoardArcFeed(br: Board, path: Polyline, angle: number, dir: FaceDirection, arcBoardOptions: Map<number, ArcBoardOptions>, onlyVert?: boolean): IModeling[];
//# sourceMappingURL=ArcBoardFeeding.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"ArcBoardFeeding.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/ArcBoard/ArcBoardFeeding.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAIlE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,MAAM,WAAW,eAAe;IAE5B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACxB;AAGD,eAAO,MAAM,oBAAoB,EAAE,eAUlC,CAAC;AAGF;;;;;;;;KAQK;AACL,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,QAAQ,UAAQ,GAAG,SAAS,EAAE,CAmK5K"}

View File

@@ -1,65 +0,0 @@
import { Board } from "../../DatabaseServices/Entity/Board";
import { ExtrudeSolid } from "../../DatabaseServices/Entity/Extrude";
/**
* @Finish 目前已实现
* 1. 圆弧板垂直切普通板
* 2. 普通板穿透切圆弧板
* @TODO 当前问题记录
* 1. 普通板切圆弧板,凹槽的长度与厚度如何确定?(目前写死厚度切穿, 长度切断)
* 2. 圆弧板切普通版, 若二者不垂直,存在夹角,怎么办?(目前不考虑)
* 3. 圆弧板切圆弧板,如何处理?(目前不考虑)
* 4. 平行情况,如何处理?(目前不考虑)
* @Log 2024/06/20
* 处理问题1采用CSG的包围盒与路径求交方式来确定凹槽的长度
* @Log 2024/06/21
* 发现问题并处理: 若圆弧板为异形板,垂直切普通板,生成的凹槽还是整段路径
* 发现问题并处理: 由于精度问题,导致切割后在切割,依旧有交集,故这里加了体积过滤
* @Log 2024/06/25
* 优化: 优化体积过滤改用CSG真实的体积计算
* 重构: 重构了代码结构修复了普通板切圆弧板的bug(采用点集投影,而非之前的包围盒)
* @Log 2024/06/26
* 处理问题2采用对CSG上下面进行投影然后转为面域做并集从而生成凹槽
* @Log 2024/06/27
* 优化问题2面域的布尔运算很慢容易造成肉眼可见的卡顿(约1-2秒)现在改用project
* @Log 2024/07/02
* 发现问题并处理: project存在精度问题导致凹槽的长度不准确故做了修正(若快切断则为切断)
* @Log 2024/07/10
* 优化: 当普通版斜切圆弧板时,采用逆映射生成凹槽轮廓,而非原有的矩形轮廓
* @Log 2024/07/11
* 优化: 改用C2R生成凹槽的轮廓线而非之前的project因为它不准
* 处理问题3通过逆映射实现圆弧板切圆弧板
*/
/** 针对圆弧板的板件切割*/
export declare class BoardCuttingForSweep {
private meat;
private knife;
/** 生成圆弧板的切割器*/
constructor(meat: Board, knife: Board);
/** 生成凹槽 */
ConverToLocalGroove(): ExtrudeSolid[];
/** 圆弧板切普通板 */
private ArcCutBoard;
/** 普通板切圆弧板 */
private BoardCutArc;
/** 圆弧板切圆弧板 */
private ArcCutArc;
/** 更新凹槽厚度 */
private UpdateGrooveThickness;
/** 计算点集到多段线的距离 */
private GetDistToPl;
/** 对CSG进行逆映射(根据放样路径) */
private InverseCSG;
/** 对CSG进行投影返回点集 */
private ProjectCSGToPts;
/** 对CSG进行投影返回多段线 */
private CSGToPolyline;
/** 获取CSG在路径上的param范围 */
private GetParamRange;
/** 获取pA-pB之间的曲线 */
private Get_Pl_InAtoB;
/** 修正轮廓线(避免造型的布尔运算错误) */
private AdjustPolyline;
/** 调整点到线的最近点 */
private AdjustPtClosePl;
}
//# sourceMappingURL=BoardCuttingForSweep.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"BoardCuttingForSweep.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardCutting/BoardCuttingForSweep.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAOrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,gBAAgB;AAChB,qBAAa,oBAAoB;IAGjB,OAAO,CAAC,IAAI;IAAS,OAAO,CAAC,KAAK;IAD9C,eAAe;gBACK,IAAI,EAAE,KAAK,EAAU,KAAK,EAAE,KAAK;IAMrD,WAAW;IACX,mBAAmB;IAmBnB,cAAc;IACd,OAAO,CAAC,WAAW;IA2GnB,cAAc;IACd,OAAO,CAAC,WAAW;IA4GnB,cAAc;IACd,OAAO,CAAC,SAAS;IAkDjB,aAAa;IACb,OAAO,CAAC,qBAAqB;IAiD7B,kBAAkB;IAClB,OAAO,CAAC,WAAW;IAWnB,wBAAwB;IACxB,OAAO,CAAC,UAAU;IAuBlB,oBAAoB;IACpB,OAAO,CAAC,eAAe;IAgCvB,qBAAqB;IACrB,OAAO,CAAC,aAAa;IAmBrB,wBAAwB;IACxB,OAAO,CAAC,aAAa;IAsBrB,mBAAmB;IACnB,OAAO,CAAC,aAAa;IAUrB,yBAAyB;IACzB,OAAO,CAAC,cAAc;IAiBtB,gBAAgB;IAChB,OAAO,CAAC,eAAe;CAO1B"}

View File

@@ -1,137 +0,0 @@
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

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

View File

@@ -1,13 +0,0 @@
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

@@ -1 +0,0 @@
{"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

@@ -1,10 +0,0 @@
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

@@ -1 +0,0 @@
{"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"}

View File

@@ -1,7 +0,0 @@
import { Board } from "../../DatabaseServices/Entity/Board";
import { Region } from "../../DatabaseServices/Entity/Region";
/**
* 把板件炸开成面域,0,1为正反面,其余的为边面(没有圆弧面)
*/
export declare function Board2Regions(br: Board): Region[];
//# sourceMappingURL=Board2Regions.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"Board2Regions.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardEditor/Board2Regions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAI5D,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAE9D;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,KAAK,GAAG,MAAM,EAAE,CAwCjD"}

View File

@@ -1,14 +0,0 @@
import { CADFiler } from "../../DatabaseServices/CADFiler";
import { I2DModeling, I3DModeling } from "../../DatabaseServices/Entity/Board";
import { ExtrudeSolid } from "../../DatabaseServices/Entity/Extrude";
import { BoardProcessOption } from "../../UI/Store/OptionInterface/BoardProcessOption";
/**序列化板件数据 */
export declare function serializeBoardData(file: CADFiler, processData: BoardProcessOption): void;
export declare function deserializationBoardData(file: CADFiler, processData: BoardProcessOption, ver: number): void;
export declare function SerializeBoard2DModeingData(file: CADFiler, modelList: I2DModeling[]): void;
export declare function SerializeBoard3DModeingData(file: CADFiler, modelList: I3DModeling[]): void;
export declare function DeserializationBoard2DModeingData(file: CADFiler, data: I2DModeling[], ver: number): void;
export declare function DeserializationBoard3DModeingData(file: CADFiler, data: I3DModeling[], ver: number): void;
export declare function SerializeBoardSideModeingData(file: CADFiler, sideModelingMap: Map<number, ExtrudeSolid[]>): void;
export declare function DeserializationBoardSideModeingData(file: CADFiler, sideModelingMap: Map<number, ExtrudeSolid[]>): void;
//# sourceMappingURL=SerializeBoardData.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"SerializeBoardData.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/BoardEditor/SerializeBoardData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAa,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAEvF,aAAa;AACb,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,QAqCjF;AAGD,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,QAyDpG;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAmBnF;AACD,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAiBnF;AAGD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,QAuCjG;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,MAAM,QAwBjG;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,QAYzG;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,QAmB/G"}

View File

@@ -1,25 +0,0 @@
import { Board } from "../../DatabaseServices/Entity/Board";
import { INailRule, IShinkOption, LayerNailOption } from "../../UI/Store/OptionInterface/IOptionInterface";
declare class ActivityLayerBoardTool {
NailRules: INailRule[];
/**
* 求面与板的交点 得到板和交点
* @param face 层板的侧面
* @param objects 其他板
* @param br 层板
* @returns 交点信息(点 实体)
*/
private GetBoardIntersection;
private IntersectFace;
private GetShrinkDist;
private GetShrinkBoardIndexesMap;
private GetRuleCount;
private BuildNails;
private RayPoint;
Start(brs: Board[], nailOption: LayerNailOption, rules?: INailRule[], option?: IShinkOption): void;
private AppendBoard;
private HandleNailList;
}
export declare const activityLayerBoardTool: ActivityLayerBoardTool;
export {};
//# sourceMappingURL=ActivityLayerBoardTool.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"ActivityLayerBoardTool.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawBoard/ActivityLayerBoardTool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAS5D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAE3G,cAAM,sBAAsB;IAExB,SAAS,EAAE,SAAS,EAAE,CAAC;IAEvB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,aAAa;IAwCrB,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,wBAAwB;IAiBhC,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,UAAU;IA6ClB,OAAO,CAAC,QAAQ;IAMhB,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,GAAE,SAAS,EAAO,EAAE,MAAM,CAAC,EAAE,YAAY;IA0G/F,OAAO,CAAC,WAAW;IAuCnB,OAAO,CAAC,cAAc;CA6CzB;AAED,eAAO,MAAM,sBAAsB,wBAA+B,CAAC"}

View File

@@ -1,14 +0,0 @@
import { Vector3 } from "three";
import { Board } from "../../DatabaseServices/Entity/Board";
import { TemplateWineRackRecord } from "../../DatabaseServices/Template/ProgramTempate/TemplateWineRackRecord";
import { TemplateRecord } from "../../DatabaseServices/Template/TemplateRecord";
import { ISpaceParse } from "../../Geometry/SpaceParse/ISpaceParse";
import { BehindBoardOption, IGrooveOption, LayerBoardOption, VerticalBoardOption } from "../../UI/Store/OptionInterface/IOptionInterface";
export declare function BuildLayerBoards(opt: LayerBoardOption, space: ISpaceParse, grooveOption?: IGrooveOption): Promise<Board[]>;
export declare function BuildVerticalBoards(opt: VerticalBoardOption, space: ISpaceParse, grooveOption?: IGrooveOption): Promise<Board[]>;
export declare function BuildBehindBoards(opt: BehindBoardOption, space: ISpaceParse, grooveOption?: IGrooveOption): Promise<Board[]>;
export declare function ExtendsBoardThickness(temp: TemplateRecord, thickness: number): void;
export declare function ExtendsbrThick2(temp: TemplateWineRackRecord): void;
export declare function AppendTemplateParam(template: TemplateRecord, name: string, value: number, expr: string, description: string): void;
export declare function CreateTemplateParam(template: TemplateRecord, size: Vector3, opt: LayerBoardOption | BehindBoardOption | VerticalBoardOption, grooveOption?: IGrooveOption): void;
//# sourceMappingURL=BuildBoardTool.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"BuildBoardTool.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawBoard/BuildBoardTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uEAAuE,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAG1I,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CA8FhI;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAyFtI;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAiGlI;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,QAY5E;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,QAoB3D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAQlI;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,gBAAgB,GAAG,iBAAiB,GAAG,mBAAmB,EAAE,YAAY,CAAC,EAAE,aAAa,GAAG,IAAI,CAgBhL"}

View File

@@ -1,5 +0,0 @@
import { Board } from "../../DatabaseServices/Entity/Board";
import { ISpaceParse } from "../../Geometry/SpaceParse/ISpaceParse";
import { TBBoardOption } from "../../UI/Store/OptionInterface/IOptionInterface";
export declare function BuildTopBottomBoards(topOpt: TBBoardOption, bottomOpt: TBBoardOption, space: ISpaceParse): Board[];
//# sourceMappingURL=BuildTopBottomBoardTool.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"BuildTopBottomBoardTool.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawBoard/BuildTopBottomBoardTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAEhF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,GAAG,KAAK,EAAE,CAsCjH"}

View File

@@ -1,11 +0,0 @@
import { Board } from "../../DatabaseServices/Entity/Board";
import { ObjectId } from "../../DatabaseServices/ObjectId";
/**
* 缺口(柱子、梁)柜内空间绘制层立板自动按缺口尺寸绘制出异形板件0
* 切割凸出部分
*
* @param {Entity} knifeBrs 切割的刀
* @param {Board[]} brs
*/
export declare function CuttingProtrudingPart(knifeBrs: Set<ObjectId>, brs: Board[]): Board[];
//# sourceMappingURL=CuttingProtrudingPart.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"CuttingProtrudingPart.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawBoard/CuttingProtrudingPart.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAI5D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CA0CpF"}

View File

@@ -1,16 +0,0 @@
/**
*勿随意更改属性名,若更改,需更改对应UI模态框的属性和检验方法的key
*
*/
export declare enum DrillType {
Yes = "\u6392",
None = "\u4E0D\u6392",
More = "**\u591A\u79CD**",
Invail = "\u65E0\u6548\u914D\u7F6E"
}
export declare enum FaceDirection {
Front = 0,
Back = 1,
Inside = 2
}
//# sourceMappingURL=DrillType.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"DrillType.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawDrilling/DrillType.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oBAAY,SAAS;IAEjB,GAAG,WAAM;IACT,IAAI,iBAAO;IACX,IAAI,qBAAW;IACf,MAAM,6BAAS;CAClB;AAKD,oBAAY,aAAa;IAErB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,MAAM,IAAI;CACb"}

View File

@@ -1,23 +0,0 @@
import { Matrix4 } from "three";
import { CylinderHole } from "../../DatabaseServices/3DSolid/CylinderHole";
import { ExtrudeHole } from "../../DatabaseServices/3DSolid/ExtrudeHole";
import { Hole } from "../../DatabaseServices/3DSolid/Hole";
import { Board } from "../../DatabaseServices/Entity/Board";
export declare const SCALAR = 0.1;
export declare function CyHoleInBoard(cys: CylinderHole[], br: Board, ocs: Matrix4, checkAll?: boolean): boolean;
/**
* 板的排钻 <上下左右>
*/
export interface IBoardRectHoleType {
up: string;
down: string;
left: string;
right: string;
}
/**分析上下左右排钻 */
export declare function ParseBoardRectHoleType(br: Board, outBrRectHoleType?: IBoardRectHoleType): IBoardRectHoleType;
export declare function ExtureHoleInBoard(holes: ExtrudeHole[], board: Board, ocs: Matrix4): boolean;
export declare function HoleInBoard(holes: Hole[], br: Board, ocs?: Matrix4): boolean;
/**上下左右排钻写入到板件的高级排钻中 */
export declare function SetBrHighHoleTypeFromRectHoleType(br: Board, brRectHoleType: IBoardRectHoleType): void;
//# sourceMappingURL=HoleUtils.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"HoleUtils.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawDrilling/HoleUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAW,MAAM,OAAO,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAiB,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAS5D,eAAO,MAAM,MAAM,MAAM,CAAC;AAE1B,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,UAAQ,WAiI3F;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAE/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,cAAc;AACd,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAE,kBAA8B,sBA2BlG;AACD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,WAIjF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,OAAO,WAYlE;AAED,uBAAuB;AACvB,wBAAgB,iCAAiC,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,kBAAkB,QA+B9F"}

View File

@@ -1,111 +0,0 @@
import { Matrix4, Vector3 } from "three";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { ISpaceParse } from "../../Geometry/SpaceParse/ISpaceParse";
import { EWineRackStyle, IR2WROption, IWineRackOption } from "../../UI/Store/WineRackInterface";
import { DrawWineRackTool } from "./DrawWinRackTool";
export interface IWineRackData {
basePt: Vector3;
brLength: number;
}
export interface IParsePlRes {
isOk: boolean;
isLeft?: boolean;
pl?: Polyline;
length?: number;
matInv?: Matrix4;
basePt?: Vector3;
thickness?: number;
isVer?: boolean;
isRo?: boolean;
}
interface GetWineRackDataOption {
width: number;
height: number;
gripWidth: number;
brThick: number;
widthCount: number;
heightCount: number;
lWRDataList: IWineRackData[];
rWRDataList: IWineRackData[];
}
export declare const R2WRTolerance = 0.001;
/**
* 斜酒格
*/
export declare class DrawObliqueWineRackTool extends DrawWineRackTool {
Parse(space: ISpaceParse, config: IWineRackOption): void;
private CalGridWidth;
/**获取矩形多段线的4个对角点并判断是否有效 */
private GetRect4Pts;
/**获取矩形一边的点 */
private GetRect2Pts;
/**按格子宽获取酒格数据 */
private CalcWineRackDataByWidth;
private CalcWineRackDataByCount;
CalcWineRackDataByFixed(lWRDataList: IWineRackData[], rWRDataList: IWineRackData[], wineRackStyle: EWineRackStyle): {
width: number;
height: number;
};
/**构建酒格正面多段线组*/
CalculationRectPolylineArr(ptMid: Vector3, rectPl: Polyline, gripWidth: number): Polyline[];
/**构建酒格正面多段线*/
CalculationRectPolyline(pt: Vector3, rectPl: Polyline): Polyline;
GetWineRackData(option: GetWineRackDataOption, wineRackStyle: EWineRackStyle): void;
/**
* 获取酒格数据半格优先
* @param {{width: number 总宽
* height: number 总高
* gripWidth: number 半格宽
* brThick: number 板厚
* widthCount: number 半格宽数量
* heightCount: number 半格高数量
* lWRDataList: IWineRackData[], 往左倒
* rWRDataList: IWineRackData[], 往右倒
* }} option
* @memberof DrawObliqueWineRackTool
*/
GetWineRackDataPreferentialSemilattice(option: {
width: number;
height: number;
gripWidth: number;
brThick: number;
widthCount: number;
heightCount: number;
lWRDataList: IWineRackData[];
rWRDataList: IWineRackData[];
}): void;
/**
* 获取酒格数据整格优先
* @param {{width: number 总宽
* height: number 总高
* gripWidth: number 半格宽
* brThick: number 板厚
* widthCount: number 半格宽数量
* heightCount: number 半格高数量
* lWRDataList: IWineRackData[], //往左倒
* rWRDataList: IWineRackData[], //往右倒
* }} option
* @memberof DrawObliqueWineRackTool
*/
GetWineRackDataPreferentialWholeLattice(option: {
width: number;
height: number;
gripWidth: number;
brThick: number;
widthCount: number;
heightCount: number;
lWRDataList: IWineRackData[];
rWRDataList: IWineRackData[];
}): void;
/**根据酒格数据获取多段线 */
private CreatePolylineByWineData;
/**根据多段线组构建酒格 */
protected DrawBoardFormPolyLine(pls: Polyline[], actualWidth?: number, config?: IR2WROption): void;
private ParsePolyLine;
/**绘制酒格 */
private CreateBoard;
/**构建酒格形状,加入齿 */
private GetPolyline;
}
export {};
//# sourceMappingURL=DrawObliqueWineRackTool.d.ts.map

View File

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

View File

@@ -1,13 +0,0 @@
import { Board } from "../../DatabaseServices/Entity/Board";
import { ISpaceParse } from "../../Geometry/SpaceParse/ISpaceParse";
import { IWineRackOption } from "../../UI/Store/WineRackInterface";
import { DrawWineRackTool } from "./DrawWinRackTool";
/**
* 正酒格
*/
export declare class DrawUprightWineRackTool extends DrawWineRackTool {
Parse(space: ISpaceParse, config: IWineRackOption): void;
BuildBoard(gripHeight: number, spaceWidth: number, spaceHeight: number, space: ISpaceParse): void;
ParseBrTooth(br: Board, gripHeight?: number): void;
}
//# sourceMappingURL=DrawUprightWineRackTool.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"DrawUprightWineRackTool.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawWineRack/DrawUprightWineRackTool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAI5D,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAmB,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,gBAAgB;IAEzD,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;IA8EjD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW;IA6B1F,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,MAAM;CAsD9C"}

View File

@@ -1,19 +0,0 @@
import { Singleton } from "../../Common/Singleton";
import { Board } from "../../DatabaseServices/Entity/Board";
import { ISpaceParse } from "../../Geometry/SpaceParse/ISpaceParse";
import { IWineRackOption } from "../../UI/Store/WineRackInterface";
export declare const SIN45: number;
export declare class DrawWineRackTool extends Singleton {
private _config;
protected space: ISpaceParse;
boardlist: Board[];
get Config(): IWineRackOption;
Parse(space: ISpaceParse, config: IWineRackOption): void;
/** 拾取空间周围的板件柜名房名等信息*/
protected GetBoardProcessOption(br: Board): void;
/**分析高级封边数据 */
protected ParseHighSealing(br: Board, leftSealed: number, rightSealed: number, topSealed: number, downSealed: number, isLeft: boolean): void;
/**补板 */
protected AddLayerOrVerticalBoard(actWidth: number, actHeight: number): void;
}
//# sourceMappingURL=DrawWinRackTool.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"DrawWinRackTool.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawWineRack/DrawWinRackTool.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EAAwC,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGzG,eAAO,MAAM,KAAK,QAAwB,CAAC;AAE3C,qBAAa,gBAAiB,SAAQ,SAAS;IAE3C,OAAO,CAAC,OAAO,CAAkB;IACjC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC;IACtB,SAAS,EAAE,KAAK,EAAE,CAAM;IAC/B,IAAI,MAAM,oBAGT;IACD,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe;IAsBjD,sBAAsB;IACtB,SAAS,CAAC,qBAAqB,CAAC,EAAE,EAAE,KAAK;IAuBzC,cAAc;IACd,SAAS,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAiDrI,QAAQ;IACR,SAAS,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAgFxE"}

View File

@@ -1,73 +0,0 @@
import { Matrix4, Vector3 } from "three";
import { Arc } from "../DatabaseServices/Entity/Arc";
import { Curve } from "../DatabaseServices/Entity/Curve";
import { Polyline } from "../DatabaseServices/Entity/Polyline";
import { PromptEntityResult, PromptPointResult } from "../Editor/PromptResult";
declare enum ExtendType {
Start = 1,
End = 2
}
export interface FilletRes {
cu1?: Curve;
cu1Extend?: ExtendType;
cu2?: Curve;
cu2Extend?: ExtendType;
arc?: Arc;
}
export declare class FilletUtils {
FilletRadius: number;
Fillet(enRes1: PromptEntityResult, enRes2: PromptEntityResult): FilletRes;
private FilletLineOrArc;
/**
* 设置直线的坐标系 以便可以正确的被偏移
* @param {Curve} cu
* @param {Matrix4} newOCS
*/
SetCurveOCS(cu: Curve, newOCS: Matrix4): void;
FilletPolyLineSelf(enRes1: PromptEntityResult, enRes2: PromptEntityResult): FilletRes;
private FilletPolylineAndCurve;
FilletPolyLineAllAngular(enRes1: PromptEntityResult): FilletRes;
FindNearestPt(pts: Vector3[], target: Vector3): Vector3;
FilletBoard(brRes: PromptEntityResult, ptRes: PromptPointResult): Polyline | string;
/**
* 平行线倒角
*/
private FilletParallelLine;
/**
* 计算圆弧与圆弧没有交点的情况下倒角结果.
* @param enRes1
* @param enRes2
* @returns arc and arc
*/
private FilletArcAndArc;
/**
* 计算直线与圆弧没有交点(或相切)的情况下倒角结果
* @param enRes1
* @param enRes2
* @returns line and cir
*/
private FilletLineAndArc;
private GetIntersectAndSort;
/**
* 对图元列表进行按位编码,类型映射如下:
* # 1:line 2:arc 4:polyline
* @param enRes
* @param enRes2
* @returns
*/
private EnCode;
private ComputerDerv;
private ComputerDerv2;
private ExtendPt;
/**
* 切割或者延伸曲线,尖角化
*
* @param cu 处理的曲线
* @param interPt 原先的相交点
* @param pickPoint 鼠标点击点
* @returns 返回新的曲线
*/
private SplitCurve;
}
export {};
//# sourceMappingURL=FilletUtils.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"FilletUtils.d.ts","sourceRoot":"","sources":["../../../src/Add-on/FilletUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA6D/E,aAAK,UAAU;IAEX,KAAK,IAAI;IACT,GAAG,IAAI;CACV;AAED,MAAM,WAAW,SAAS;IAEtB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC;CACb;AAID,qBAAa,WAAW;IAEpB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,GAAG,SAAS;IA2BzE,OAAO,CAAC,eAAe;IA8FvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;IAYtC,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,GAAG,SAAS;IAsIrF,OAAO,CAAC,sBAAsB;IA4G9B,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS;IA6D/D,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAgBvD,WAAW,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,iBAAiB,GAAG,QAAQ,GAAG,MAAM;IA8BnF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmF1B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAqEvB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAkGxB,OAAO,CAAC,mBAAmB;IAe3B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,QAAQ;IAQhB;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;CA2ErB"}

View File

@@ -1,13 +0,0 @@
import { Board } from "../../DatabaseServices/Entity/Board";
import { Entity } from "../../DatabaseServices/Entity/Entity";
export declare function IsDoor(en: Entity): boolean;
export declare function IsDrawer(en: Entity): boolean;
export declare function IsWinerack(en: Entity): boolean;
export declare function IsLattice(en: Entity): boolean;
export declare function IsHandle(en: Entity): boolean;
export declare function IsHinge(en: Entity): boolean;
export declare function isDingDiBan(b: Board): boolean;
export declare function IsHouse(en: Entity): boolean;
export declare function IsModel(en: Entity): boolean;
export declare function IsRoomBase(en: Entity): boolean;
//# sourceMappingURL=HideSelectUtils.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"HideSelectUtils.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/HideSelect/HideSelectUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAe9D,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,WAkBhC;AAGD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,WAUlC;AAGD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,WAMpC;AAGD,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,WAMnC;AAGD,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,WAelC;AAGD,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,WAejC;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,WASnC;AAGD,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAG3C;AAGD,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAG3C;AAGD,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAU9C"}

View File

@@ -1,24 +0,0 @@
import { Singleton } from "../../Common/Singleton";
import { Board } from "../../DatabaseServices/Entity/Board";
import { ISpaceParse } from "../../Geometry/SpaceParse/ISpaceParse";
import { ILatticeOption } from "../../UI/Store/LatticeInterface";
export declare class DrawLatticeDrawerTool extends Singleton {
private _config;
private space;
private leftBr;
private rightBr;
private frontBr;
private backBr;
private haveTopBr;
get Config(): ILatticeOption;
Draw(space: ISpaceParse, config: ILatticeOption): Board[];
private HandleSpace;
private ChangeLeftRightBr;
private ParseBrTooth;
private ParseSpaceBrs;
private ParseArcLenOrObliuqeAng;
private WriteBoardProcessOption;
protected ParseHighSealing(br: Board, leftSealed: number, rightSealed: number, topSealed: number, downSealed: number, isHor: boolean): void;
private End;
}
//# sourceMappingURL=LatticeDrawerTool.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"LatticeDrawerTool.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/LatticeDrawer/LatticeDrawerTool.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAI5D,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAqB,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAIpF,qBAAa,qBAAsB,SAAQ,SAAS;IAEhD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,SAAS,CAAkB;IACnC,IAAI,MAAM,mBAGT;IACD,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,GAAG,KAAK,EAAE;IA0EzD,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,iBAAiB;IAqCzB,OAAO,CAAC,YAAY;IA2CpB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,uBAAuB;IAmC/B,OAAO,CAAC,uBAAuB;IAY/B,SAAS,CAAC,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAgEpI,OAAO,CAAC,GAAG;CASd"}

View File

@@ -1,41 +0,0 @@
import { Vector3 } from "three";
import { CylinderHole } from "../../DatabaseServices/3DSolid/CylinderHole";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Entity } from "../../DatabaseServices/Entity/Entity";
import { IHardwareType } from "../../Production/Product";
import { ISealingData } from "../../UI/Store/OptionInterface/IHighSealedItem";
export interface ICountType<T = IHardwareType> {
name?: string;
count: number;
entity?: T;
count2?: number | string;
unit?: string;
length?: number;
goodsId?: string;
goodsSn?: string;
}
export type GetCountOption = {
sealGruopKey: (key: string, block: Board, thickness: string, data: ISealingData) => void;
getHoles?: (name: string, hole: CylinderHole) => void;
};
declare class LookOverBoardInfosTool {
private drillTypeMap;
private sealMap;
private boardMap;
GetCount(brs: (Board | IHardwareType)[], options?: GetCountOption, IsBbsCountChaidan?: boolean): {
drillCount: ICountType<IHardwareType>[];
hardwareCount: ICountType<IHardwareType>[];
sealCount: ICountType<IHardwareType>[];
areaCount: ICountType<Board>[];
};
private Update;
ParseSpec(en: IHardwareType | Vector3, spec: string, len?: number): string;
ParseHardwareCount(k: string, v: IHardwareType[], hardwareCount: ICountType[]): void;
ParseProcessingGroupTags: (entity: Entity) => string[];
private UpdateBoardMap;
GetBoardThickness(br: Board): string;
GetBoardsArea(brs: Board[]): string;
}
export declare const lookOverBoardInfosTool: LookOverBoardInfosTool;
export {};
//# sourceMappingURL=LookOverBoardInfosTool.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"LookOverBoardInfosTool.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/LookOverBoardInfos/LookOverBoardInfosTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAOhC,OAAO,EAAE,YAAY,EAAiB,MAAM,6CAA6C,CAAC;AAG1F,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAO9D,OAAO,EAAE,aAAa,EAAc,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAG9E,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,aAAa;IAEzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,MAAM,cAAc,GAAG;IAAE,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;CAAE,CAAC;AAClL,cAAM,sBAAsB;IAExB,OAAO,CAAC,YAAY,CAAoD;IACxE,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,QAAQ,CAA8B;IAE9C,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,aAAa,CAAC,EAAE,EAAE,OAAO,GAAE,cAAqB,EAAE,iBAAiB,CAAC,EAAE,OAAO;;;;;;IAgEpG,OAAO,CAAC,MAAM;IA8Ld,SAAS,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAMjE,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE;IA+C7E,wBAAwB,WAAY,MAAM,cAQxC;IACF,OAAO,CAAC,cAAc;IAmBtB,iBAAiB,CAAC,EAAE,EAAE,KAAK;IAQ3B,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE;CAc7B;AAED,eAAO,MAAM,sBAAsB,wBAA+B,CAAC"}

View File

@@ -1,4 +0,0 @@
import { Database } from "../DatabaseServices/Database";
export declare function Purge(db: Database): void;
export declare function PurgeTemplateTreeRoot(db: Database): void;
//# sourceMappingURL=Purge.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"Purge.d.ts","sourceRoot":"","sources":["../../../src/Add-on/Purge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAKxD,wBAAgB,KAAK,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAkGxC;AAGD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,QAoBjD"}

View File

@@ -1,20 +0,0 @@
export interface FontStyleInfoOption {
height: number;
fontType: FontType;
widthFactor: number;
}
export declare enum FontType {
YaHei = "yahei",
SongTi = "songti",
KaiTi = "KaiTi",
FangSong = "FangSong",
LiShu = "LiShu",
HeiTi = "HeiTi",
HuaWenLiShu = "HuaWenLiShu",
HuaWenXingKai = "HuaWenXingKai"
}
export declare const FontTypeOption: {
label: string;
value: FontType;
}[];
//# sourceMappingURL=FontStyleInterface.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"FontStyleInterface.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/TextStyle/FontStyleInterface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAEhC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,oBAAY,QAAQ;IAEhB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;CAClC;AAED,eAAO,MAAM,cAAc;;;GAS1B,CAAC"}

View File

@@ -1,52 +0,0 @@
import { IBaseOption } from "../../UI/Store/OptionInterface/IOptionInterface";
export declare enum EditViewOptionKey {
hight = "hight",//文字高度
renderType = "renderType",//视图
renderTypeValue = "renderTypeValue",//视图值
viewDir = "viewDir",//视角
viewDirValue = "viewDirValue",//视角值
roomName = "roomName",//房间名
cabinetName = "cabinetName",//柜名
boardMaterialName = "boardMaterialName",//板材名
material = "material",//材料
color = "color",//颜色
page = "page",//页码
date = "date",//时间
designer = "designer",//设计师
sheetName = "sheetName",//图纸名称
hideDoor = "hideDoor",//隐藏门板
hideDrawer = "hideDrawer",//隐藏抽屉
hideDim = "hideDim",//隐藏标注
hideCurve = "hideCurve",//隐藏曲线
hideModel = "hideModel",//隐藏模型
hideLayer = "hideLayer",//隐藏图层
hideLayerValue = "hideLayerValue",//隐藏图层值
showLayer = "showLayer",//显示图层
showLayerValue = "showLayerValue"
}
export interface EditViewOption extends IBaseOption {
[EditViewOptionKey.hight]: number;
[EditViewOptionKey.renderType]: boolean;
[EditViewOptionKey.renderTypeValue]: string;
[EditViewOptionKey.viewDir]: boolean;
[EditViewOptionKey.viewDirValue]: string;
[EditViewOptionKey.roomName]: boolean;
[EditViewOptionKey.cabinetName]: boolean;
[EditViewOptionKey.boardMaterialName]: boolean;
[EditViewOptionKey.material]: boolean;
[EditViewOptionKey.color]: boolean;
[EditViewOptionKey.page]: boolean;
[EditViewOptionKey.date]: boolean;
[EditViewOptionKey.designer]: boolean;
[EditViewOptionKey.sheetName]: boolean;
[EditViewOptionKey.hideDoor]: boolean;
[EditViewOptionKey.hideDrawer]: boolean;
[EditViewOptionKey.hideDim]: boolean;
[EditViewOptionKey.hideCurve]: boolean;
[EditViewOptionKey.hideModel]: boolean;
[EditViewOptionKey.hideLayer]: boolean;
[EditViewOptionKey.hideLayerValue]: string;
[EditViewOptionKey.showLayer]: boolean;
[EditViewOptionKey.showLayerValue]: string;
}
//# sourceMappingURL=EditViewOption.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"EditViewOption.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/ViewortConfig/EditViewOption.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iDAAiD,CAAC;AAE9E,oBAAY,iBAAiB;IAEzB,KAAK,UAAU,CAAG,MAAM;IACxB,UAAU,eAAe,CAAE,IAAI;IAC/B,eAAe,oBAAoB,CAAE,KAAK;IAC1C,OAAO,YAAY,CAAE,IAAI;IACzB,YAAY,iBAAiB,CAAE,KAAK;IACpC,QAAQ,aAAa,CAAC,KAAK;IAC3B,WAAW,gBAAgB,CAAC,IAAI;IAChC,iBAAiB,sBAAsB,CAAE,KAAK;IAC9C,QAAQ,aAAa,CAAE,IAAI;IAC3B,KAAK,UAAU,CAAC,IAAI;IACpB,IAAI,SAAS,CAAC,IAAI;IAClB,IAAI,SAAS,CAAC,IAAI;IAClB,QAAQ,aAAa,CAAC,KAAK;IAC3B,SAAS,cAAc,CAAC,MAAM;IAC9B,QAAQ,aAAa,CAAC,MAAM;IAC5B,UAAU,eAAe,CAAC,MAAM;IAChC,OAAO,YAAY,CAAC,MAAM;IAC1B,SAAS,cAAc,CAAC,MAAM;IAC9B,SAAS,cAAc,CAAC,MAAM;IAC9B,SAAS,cAAc,CAAC,MAAM;IAC9B,cAAc,mBAAmB,CAAC,OAAO;IACzC,SAAS,cAAc,CAAC,MAAM;IAC9B,cAAc,mBAAmB;CACpC;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAE/C,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAClC,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IACxC,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAC5C,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IACrC,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACzC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACtC,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IACzC,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC/C,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACtC,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACnC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAClC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAClC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACtC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IACvC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACtC,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IACxC,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IACrC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IACvC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IACvC,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IACvC,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAC3C,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IACvC,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAC9C"}

View File

@@ -1,4 +0,0 @@
import { Box3 } from "three";
import { Line } from "../../DatabaseServices/Entity/Line";
export declare function BoxLine(box: Box3): Line[];
//# sourceMappingURL=BoxLine.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"BoxLine.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/testEntity/BoxLine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAW,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,oCAAoC,CAAC;AAI1D,wBAAgB,OAAO,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,EAAE,CAgCzC"}

View File

@@ -1,12 +0,0 @@
export declare const USE_WORLD_UV = "USE_WORLD_UV";
export declare const U_WORLD_REP = "u_w_rep";
export declare const V_WORLD_REP = "v_w_rep";
export declare const U_WORLD_MOVE = "u_w_move";
export declare const V_WORLD_MOVE = "v_w_move";
export declare const U_WORLD_RO = "v_w_ro";
export declare const U_REP = "u_rep";
export declare const V_REP = "v_rep";
export declare const U_MOVE = "u_move";
export declare const V_MOVE = "v_move";
export declare const U_RO = "u_ro";
//# sourceMappingURL=USE_WORLD_UV.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"USE_WORLD_UV.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/testEntity/USE_WORLD_UV.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,WAAW,YAAY,CAAC;AACrC,eAAO,MAAM,WAAW,YAAY,CAAC;AAErC,eAAO,MAAM,YAAY,aAAa,CAAC;AACvC,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,eAAO,MAAM,UAAU,WAAW,CAAC;AAEnC,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,KAAK,UAAU,CAAC;AAE7B,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,eAAO,MAAM,IAAI,SAAS,CAAC"}

View File

@@ -1,11 +0,0 @@
import { IBaseOption } from "../../../UI/Store/OptionInterface/IOptionInterface";
export interface Curve2RecOption extends IBaseOption {
isSaveMax: boolean;
isSaveSmall: boolean;
width: number;
isAnaly: boolean;
gap: number;
forceUseUCS: boolean;
ForceUseFrontViewCS: boolean;
}
//# sourceMappingURL=Curve2RecOption.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"Curve2RecOption.d.ts","sourceRoot":"","sources":["../../../../../src/Add-on/twoD2threeD/Modals/Curve2RecOption.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oDAAoD,CAAC;AAEjF,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAEhD,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,OAAO,CAAC;CAChC"}

View File

@@ -1,92 +0,0 @@
import { EBoardKeyList } from "../../Common/BoardKeyList";
import { TemplateRecord } from "../../DatabaseServices/Template/TemplateRecord";
import { IBaseOption, IGrooveOption } from "../../UI/Store/OptionInterface/IOptionInterface";
import { DrillType } from "../DrawDrilling/DrillType";
export interface IParseBoardNameOption extends IBaseOption {
verticalBrShrink: number;
layerBrShrink: number;
bottomBrShrink: number;
topBrShrink: number;
groundLineBrShrink: number;
farLeftVerticalBrName: string;
middleVerticalBrName: string;
farRightVerticalBrName: string;
topMostLayerBrName: string;
middleLayerBrName: string;
bottomMostLayerBrName: string;
bottomMostBackBrName: string;
stripeBrName: string;
cabinetName: string;
isfarLeftVerticalBrName: boolean;
isModifyMiddleVerticalBrName: boolean;
isfarRightVerticalBrName: boolean;
istopMostLayerBrName: boolean;
isModifyMiddleLayerBrName: boolean;
isbottomMostLayerBrName: boolean;
isbottomMostBackBrName: boolean;
isstripeBrName: boolean;
iscabinetName: boolean;
isModifyRoomName: boolean;
isMultiBackBr: boolean;
isBack: boolean;
backName: string;
isAloneStripName: boolean;
}
export interface IRec2BrOption extends IParseBoardNameOption {
cabinetDeep: number;
cabinetBrThick: number;
cabinetCurtail: number;
backBrThick: number;
backBrBiggerThanHeight: number;
backBrBiggerThanWidth: number;
backBrFrontMove: number;
backBrLeftExtend: number;
backBrRightExtend: number;
backBrUpExtend: number;
backBrDownExtend: number;
backBrUseTemplate: boolean;
backBrTemplate: TemplateRecord;
backBrTemplateId: string;
grooveOption: IGrooveOption;
[EBoardKeyList.RoomName]: string;
boardMatName: string;
material: string;
color: string;
drillType: string;
sealedDown: string;
sealedLeft: string;
sealedRight: string;
sealedUp: string;
remarks: [string, string][];
maxThickness: number;
useBrName: boolean;
configName: string;
backBrName: string;
behindIsRelative: boolean;
footerThickness: number;
closeStripThickness: number;
useSktTemplate: boolean;
sktTemplateId: string;
rightSktTemplateId: string;
topSktTemplateId: string;
sktTemplate: TemplateRecord;
}
export interface IRect2Br2Option extends IBaseOption {
depthExpr: string;
maxThickness: number;
layerShrink: number;
vertialShrink: number;
[EBoardKeyList.DrillType]: DrillType | string;
[EBoardKeyList.UpSealed]: string;
[EBoardKeyList.DownSealed]: string;
[EBoardKeyList.LeftSealed]: string;
[EBoardKeyList.RightSealed]: string;
remarks: [string, string][];
useBoardProcessOption?: boolean;
boardMatName: string;
material: string;
color: string;
roomName: string;
cabinetName: string;
}
//# sourceMappingURL=R2bInterface.d.ts.map

View File

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