This commit is contained in:
ChenX
2024-09-25 11:57:15 +08:00
parent acd7eaaca0
commit 20c3f892e7
2033 changed files with 2355 additions and 23125 deletions

View File

@@ -1,11 +0,0 @@
export interface MaterialInfo {
brName: string;
material: string;
color: string;
}
export declare class BoardMaterialLoader {
constructor();
Code_MaterialInfo: Map<string, MaterialInfo>;
LoaderMaterialInfo(): Promise<void>;
}
//# sourceMappingURL=BoardMaterialLoader.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"BoardMaterialLoader.d.ts","sourceRoot":"","sources":["../../../../../src/Add-on/CF/Import/BoardMaterialLoader.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAEzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACjB;AACD,qBAAa,mBAAmB;;IAK5B,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IAEnD,kBAAkB;CAwC3B"}

View File

@@ -1,9 +0,0 @@
import { Database } from "../../../DatabaseServices/Database";
import { Command } from "../../../Editor/CommandMachine";
import { ICFDoc } from "./CFInterface";
export declare class ImportCFData implements Command {
exec(): void;
}
export declare function ImportCFFile(file: File): Promise<void>;
export declare function ParseCFDoc(document: ICFDoc, cuDb: Database): Promise<void>;
//# sourceMappingURL=CFImport.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"CFImport.d.ts","sourceRoot":"","sources":["../../../../../src/Add-on/CF/Import/CFImport.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAI9D,OAAO,EAAE,OAAO,EAAe,MAAM,gCAAgC,CAAC;AAKtE,OAAO,EAAE,MAAM,EAAiB,MAAM,eAAe,CAAC;AAEtD,qBAAa,YAAa,YAAW,OAAO;IAExC,IAAI;CAaP;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,IAAI,iBA2B5C;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,iBA2DhE"}

View File

@@ -1,125 +0,0 @@
type ICFCurverType = "Curve" | "Polyline" | "Rect" | "Line" | "Arc" | "Circle";
type ICFEntityType = "Entity" | "ExtrudeSolid" | "Board" | "Template" | "EntityTree" | "Hardware" | "Topline";
export type ICFPolylineContour = {
pt: [number, number];
bul: 0;
}[];
export type ICFCircleContour = {
Radius: number;
Center: [number, number, number];
};
export type ICFExtrudeContour = ICFPolylineContour | ICFCircleContour;
export interface ICFDoc {
ModelSpace: ICFEntity[];
}
export interface ICFEntity {
Type: ICFEntityType | ICFCurverType;
Id?: number;
ColorIndex?: number;
OCS?: number[];
Pos?: [number, number, number];
Rot?: [number, number, number];
Qua?: [number, number, number, number];
}
export interface ICFExtrudeSolid extends ICFEntity {
Width?: number;
Height?: number;
ContourCurve?: ICFExtrudeContour;
Thickness?: number;
GroovesAddLength?: number;
GroovesAddWidth?: number;
GroovesAddDepth?: number;
KnifeRadius?: number;
Holes?: ICFExtrudeSolid[];
}
export interface ICFBoard extends ICFExtrudeSolid {
Name?: string;
BrType?: number;
PositionType?: number;
OpenDir?: number;
Lines?: number;
BigHole?: number;
ComposingFace?: number;
RoomName?: string;
CabinetName?: string;
BrMatName?: string;
Matrial?: string;
Color?: string;
BoardMaterialId?: string;
UpSealed?: string;
DownSealed?: string;
LeftSealed?: string;
RightSealed?: string;
EachSealeds?: {
size: number;
}[];
EachEdgeDrills?: string[];
FrontDrill?: boolean;
BackDrill?: boolean;
Remarks?: [string, string][];
}
export interface ICFEntityTree extends ICFEntity {
Name?: string;
Entitys?: ICFEntity[];
Childen?: ICFEntityTree[];
}
export interface ICFTemplate extends ICFEntity {
TempalteId?: string;
Name?: string;
Lenght?: number;
Width?: number;
Height?: number;
BoxSize?: [number, number, number];
ParamMap?: {
name: string;
value: string;
}[];
RoomName?: string;
CabinetName?: string;
}
export interface ICFHardware extends ICFTemplate {
Name?: string;
HardwarerId?: string;
Unit?: string;
ActualExpr?: string;
Model?: string;
Factory?: string;
Brand?: string;
Spec?: string;
Comments?: string;
IsHole?: boolean;
Material?: string;
Color?: string;
}
export interface ICFTopline extends ICFTemplate {
Name?: string;
ToplineId?: string;
Unit?: string;
ActualExpr?: string;
Model?: string;
Factory?: string;
Brand?: string;
Spec?: string;
Comments?: string;
Contour?: ICFPolylineContour;
PathCurve?: ICFExtrudeContour;
}
export interface ICFCurve extends ICFEntity {
}
export interface ICFLine extends ICFCurve {
StartPoint: [number, number, number];
EndPoint: [number, number, number];
}
export interface ICFPolyline extends ICFCurve {
ContourCurve?: ICFPolylineContour;
}
export interface ICFRect extends ICFCurve {
Width: number;
Height: number;
}
export interface ICFCircle extends ICFCurve {
Radius: number;
Center: [number, number, number];
}
export {};
//# sourceMappingURL=CFInterface.d.ts.map

View File

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

View File

@@ -1,5 +0,0 @@
import { Board } from "../../../DatabaseServices/Entity/Board";
import { MaterialInfo } from "../Import/BoardMaterialLoader";
import { ICFBoard } from "../Import/CFInterface";
export declare function ParseCFBoard(el: ICFBoard, boardMaterialMap?: Map<string, MaterialInfo>): Board;
//# sourceMappingURL=ParseBoard.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"ParseBoard.d.ts","sourceRoot":"","sources":["../../../../../src/Add-on/CF/Parse/ParseBoard.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAO/D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAwC,MAAM,uBAAuB,CAAC;AAGvF,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,SA0MtF"}

View File

@@ -1,11 +0,0 @@
import { Circle } from "../../../DatabaseServices/Entity/Circle";
import { Line } from "../../../DatabaseServices/Entity/Line";
import { Polyline } from "../../../DatabaseServices/Entity/Polyline";
import { ICFLine, ICFPolylineContour } from "../Import/CFInterface";
export declare class ParseCurve {
static ParseLine(en: ICFLine): Line;
ParsePolyline(ContourCurve: ICFPolylineContour, isColosed?: boolean): Polyline;
ParseRect(Width: number, Height: number): Polyline;
ParseCircle(Radius: number, Center: [number, number, number]): Circle;
}
//# sourceMappingURL=ParseCurve.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"ParseCurve.d.ts","sourceRoot":"","sources":["../../../../../src/Add-on/CF/Parse/ParseCurve.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAiB,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,qBAAa,UAAU;IAEnB,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO;IAQ5B,aAAa,CAAC,YAAY,EAAE,kBAAkB,EAAE,SAAS,GAAE,OAAe;IAe1E,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOvC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;CAM/D"}

View File

@@ -1,8 +0,0 @@
import { Database } from "../../../DatabaseServices/Database";
import { Entity } from "../../../DatabaseServices/Entity/Entity";
import { TemplateRecord } from "../../../DatabaseServices/Template/TemplateRecord";
import { MaterialInfo } from "../Import/BoardMaterialLoader";
import { ICFEntity, ICFEntityTree } from "../Import/CFInterface";
export declare function ParseEntityTree(model: ICFEntityTree, cuDb: Database, boardMaterialMap?: Map<string, MaterialInfo>): Promise<TemplateRecord | Entity>;
export declare function CFParseAddEntity(model: ICFEntity, cuDb: Database, boardMaterialMap?: Map<string, MaterialInfo>): Promise<Entity | TemplateRecord>;
//# sourceMappingURL=ParseEntityTree.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"ParseEntityTree.d.ts","sourceRoot":"","sources":["../../../../../src/Add-on/CF/Parse/ParseEntityTree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,yCAAyC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAW,MAAM,uBAAuB,CAAC;AAK1E,wBAAsB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,CA4C1J;AAGD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,oCAqCpH"}

View File

@@ -1,8 +0,0 @@
import { Database } from "../../../DatabaseServices/Database";
import { TemplateRecord } from "../../../DatabaseServices/Template/TemplateRecord";
import { ICFHardware, ICFTemplate, ICFTopline } from "../Import/CFInterface";
export declare function ParseTemplate(temp: ICFTemplate, cuDb: Database): Promise<TemplateRecord>;
export declare function GetTemplate(temp: ICFTemplate, cuDb: Database): Promise<TemplateRecord>;
export declare function ParseHardware(el: ICFHardware, cuDb: Database): Promise<TemplateRecord | import("../../../entitys.exp").HardwareCompositeEntity>;
export declare function ParseTopline(el: ICFTopline, cuDb: Database): Promise<import("../../../entitys.exp").HardwareTopline>;
//# sourceMappingURL=ParseHardwareAndTemplate.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"ParseHardwareAndTemplate.d.ts","sourceRoot":"","sources":["../../../../../src/Add-on/CF/Parse/ParseHardwareAndTemplate.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAK9D,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AAEnF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAG7E,wBAAsB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,2BAmBpE;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,2BAYlE;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,oFAUlE;AAED,wBAAsB,YAAY,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,2DAehE"}

View File

@@ -1,10 +0,0 @@
import { Database } from "../../../DatabaseServices/Database";
import { Polyline } from "../../../DatabaseServices/Entity/Polyline";
import { HardwareCompositeEntity } from "../../../DatabaseServices/Hardware/HardwareCompositeEntity";
import { HardwareTopline } from "../../../DatabaseServices/Hardware/HardwareTopline";
import { TemplateRecord } from "../../../DatabaseServices/Template/TemplateRecord";
import { ICFHardware, ICFTemplate, ICFTopline } from "../Import/CFInterface";
export declare function ParseCFTemplateInfo(newTemp: TemplateRecord, tempInfo: ICFTemplate, cuDb: Database): Promise<TemplateRecord>;
export declare function ParseHardwareInfo(newTemp: TemplateRecord, el: ICFHardware, cuDb: Database): Promise<TemplateRecord | HardwareCompositeEntity>;
export declare function ParseToplineInfo(contour: Polyline, el: ICFTopline, cuDb: Database): Promise<HardwareTopline>;
//# sourceMappingURL=ParseHardwareAndTemplateInfo.d.ts.map

View File

@@ -1 +0,0 @@
{"version":3,"file":"ParseHardwareAndTemplateInfo.d.ts","sourceRoot":"","sources":["../../../../../src/Add-on/CF/Parse/ParseHardwareAndTemplateInfo.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAI9D,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,oDAAoD,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAoB,WAAW,EAAsB,WAAW,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,2BAsEvG;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,qDAmD/F;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,4BAwCvF"}