功能:新增简化多段线功能

This commit is contained in:
2021-04-06 17:12:55 +08:00
parent 79b58810d6
commit 91bae565fd
339 changed files with 17068 additions and 14935 deletions

View File

@@ -2,42 +2,34 @@ import { Matrix4 } from "three";
import { AlignedDimension } from "../../DatabaseServices/Dimension/AlignedDimension";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Command } from "../../Editor/CommandMachine";
import { CoordinateSystem } from "../../Geometry/CoordinateSystem";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { Curve } from "../../DatabaseServices/Entity/Curve";
interface DirPls {
left: Curve[];
right: Curve[];
top: Curve[];
bottom: Curve[];
}
import { IConfigOption } from "../../UI/Components/Board/UserConfig";
import { IConfigStore } from "../../UI/Store/BoardStore";
export declare class Command_AutoDimBrs implements Command {
maxThickness: number;
store: AutoDimBrsStore;
exec(): Promise<void>;
/**
* 绘制前视图的标注
* @param brs 需要绘制前视图标注的板件
* @param textRo 字体旋转角度(弧度形式)
*/
DrawFrontDim(brs: Board[], textRo: number): Promise<AlignedDimension[]>;
/**
* 绘制标注
* @param brs
* @param drawCS 绘制标注的坐标系
*/
DrawDim(brs: Board[], drawCS: Matrix4, textRotation?: number, needJig?: boolean, useMaxZ?: boolean, isLeadOutFlipped?: boolean): AlignedDimension[];
/**
* 判断轮廓的上下左右
* @param pl 轮廓(多段线)
* @param cs 参照坐标系
* @memberof Command_AutoDimBrs
*/
JudgeOutlineDirection(pls: Polyline[], cs: CoordinateSystem): DirPls;
/**
* 通过轮廓并集得到最大外轮廓
* @memberof Command_AutoDimBrs
*/
private GetOutLineByBoolUnion;
}
declare class AutoDimBrsStore implements IConfigStore {
configName: string;
configsNames: string[];
config: {
option: {
dimType: number;
};
};
InitOption(): void;
SaveConfig(): {
option: {
dimType: number;
};
};
UpdateOption(conf: IConfigOption<any>): void;
}
export {};
//# sourceMappingURL=AutoDimBrs.d.ts.map

View File

@@ -1 +1 @@
{"version":3,"file":"AutoDimBrs.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawDim/AutoDimBrs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAoB,MAAM,OAAO,CAAC;AAGxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAKnE,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAU5D,UAAU,MAAM;IAEZ,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,GAAG,EAAE,KAAK,EAAE,CAAC;IACb,MAAM,EAAE,KAAK,EAAE,CAAC;CACnB;AAUD,qBAAa,kBAAmB,YAAW,OAAO;IAE9C,YAAY,EAAE,MAAM,CAAK;IACnB,IAAI;IA+EV;;;;OAIG;IACG,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM;IA8E/C;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,EAAE,OAAO,GAAE,OAAe,EAAE,gBAAgB,GAAE,OAAe;IA8FnJ;;;;;OAKG;IACH,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,gBAAgB,GAAG,MAAM;IA6BpE;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAShC"}
{"version":3,"file":"AutoDimBrs.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawDim/AutoDimBrs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoB,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAG5D,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAMtD,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,qBAAa,kBAAmB,YAAW,OAAO;IAE9C,YAAY,EAAE,MAAM,CAAK;IAEzB,KAAK,EAAE,eAAe,CAAC;IACjB,IAAI;IAmDV;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,EAAE,OAAO,GAAE,OAAe,EAAE,gBAAgB,GAAE,OAAe;CA6FtJ;AAGD,cAAM,eAAgB,YAAW,YAAY;IAEzC,UAAU,SAAQ;IAClB,YAAY,WAAU;IACtB,MAAM;;;;MAIJ;IACF,UAAU;IAQV,UAAU;;;;;IAIV,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;CAIxC"}

View File

@@ -0,0 +1,57 @@
import { Matrix4 } from "three";
import { AlignedDimension } from "../../DatabaseServices/Dimension/AlignedDimension";
import { Board } from "../../DatabaseServices/Entity/Board";
import { Curve } from "../../DatabaseServices/Entity/Curve";
import { Polyline } from "../../DatabaseServices/Entity/Polyline";
import { CoordinateSystem } from "../../Geometry/CoordinateSystem";
export declare enum EDimType {
Total = 1,
Out = 2,
InW = 4,
InH = 8,
NoRepeat = 16,
NoSmSize = 32,
All = 127
}
interface DirPls {
left: Curve[];
right: Curve[];
top: Curve[];
bottom: Curve[];
}
export declare class AutoDimBoardsTool {
private qsMtx;
private min;
private maxThickness;
private type;
private repeatDim;
Do(boardList: Board[], type: EDimType): void;
private TotalDim;
DimOut(brs: Board[]): void;
private DimIn;
private RayPoint;
private DimInBy;
DrawFrontDim(brs: Board[], textRo: number): Promise<AlignedDimension[]>;
/**
* 绘制标注
* @param brs
* @param drawCS 绘制标注的坐标系
*/
DrawDim(brs: Board[], drawCS: Matrix4, textRotation?: number, useMaxZ?: boolean, isLeadOutFlipped?: boolean): AlignedDimension[];
/**
* 判断轮廓的上下左右
* @param pl 轮廓(多段线)
* @param cs 参照坐标系
* @memberof Command_AutoDimBrs
*/
JudgeOutlineDirection(pls: Polyline[], cs: CoordinateSystem): DirPls;
/**
* 通过轮廓并集得到最大外轮廓
* @memberof Command_AutoDimBrs
*/
private GetOutLineByBoolUnion;
private handleRepeat;
}
export declare const autoDimBoardTool: AutoDimBoardsTool;
export {};
//# sourceMappingURL=AutoDimBrsTool.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"AutoDimBrsTool.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawDim/AutoDimBrsTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,OAAO,EAAyC,MAAM,OAAO,CAAC;AAItG,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAGlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAUnE,oBAAY,QAAQ;IAEhB,KAAK,IAAW;IAChB,GAAG,IAAW;IACd,GAAG,IAAW;IACd,GAAG,IAAW;IACd,QAAQ,KAAW;IACnB,QAAQ,KAAW;IACnB,GAAG,MAAa;CACnB;AAED,UAAU,MAAM;IAEZ,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,GAAG,EAAE,KAAK,EAAE,CAAC;IACb,MAAM,EAAE,KAAK,EAAE,CAAC;CACnB;AAYD,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,KAAK,CAAiE;IAC9E,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,IAAI,CAAW;IACvB,OAAO,CAAC,SAAS,CAAqB;IAEtC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ;IA8CrC,OAAO,CAAC,QAAQ;IA2DhB,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE;IAInB,OAAO,CAAC,KAAK;IA4Bb,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,OAAO;IAgFT,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM;IAiF/C;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,EAAE,gBAAgB,GAAE,OAAe;IAgGzH;;;;;OAKG;IACH,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,gBAAgB,GAAG,MAAM;IA6BpE;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,YAAY;CAUvB;AAGD,eAAO,MAAM,gBAAgB,mBAA0B,CAAC"}

View File

@@ -2,4 +2,8 @@ import { Command } from "../../Editor/CommandMachine";
export declare class DeleteDim implements Command {
exec(): Promise<void>;
}
export declare class DeleteMinDim implements Command {
private _MidDim;
exec(): Promise<void>;
}
//# sourceMappingURL=DeleteDim.d.ts.map

View File

@@ -1 +1 @@
{"version":3,"file":"DeleteDim.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawDim/DeleteDim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAMtD,qBAAa,SAAU,YAAW,OAAO;IAE/B,IAAI;CAYb"}
{"version":3,"file":"DeleteDim.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/DrawDim/DeleteDim.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAMtD,qBAAa,SAAU,YAAW,OAAO;IAE/B,IAAI;CAYb;AAID,qBAAa,YAAa,YAAW,OAAO;IAExC,OAAO,CAAC,OAAO,CAAM;IACf,IAAI;CAiCb"}