Compare commits

...

6 Commits

Author SHA1 Message Date
ChenX
01cac616f5 修复:并集错误 2023-12-20 17:24:49 +08:00
ChenX
6ef1e8d8b0 修复 动态规划导致的结果 2023-12-18 14:09:36 +08:00
ChenX
596ab9dba3 变更api 2023-12-18 11:24:07 +08:00
ChenX
2b6cb2fd72 功能:矩形槽走刀支持刀路冗余 2023-12-13 11:56:37 +08:00
ChenX
a6c14af39c 功能:走刀偏移直线连接 2023-12-13 10:54:24 +08:00
ChenX
0e7a71f44d 修复注释错误 2023-12-06 20:55:18 +08:00
21 changed files with 267 additions and 113 deletions

View File

@@ -225,7 +225,8 @@ class IHostApplicationServices {
checkSealType: "1",
sealMaxValue: 10,
sealValues: '',
hardwareExpressionFormattingAccuracy: 2, //复合实体表达式值格式化精度
hardwareExpressionFormattingAccuracy: 2,
partialSplitValueCanTakesEffect: false,
};
this.viewSize = {
minViewHeight: 1e-3,
@@ -6371,7 +6372,7 @@ class Contour {
hasEqualCus = fastEqualCurve(cu, pl, COMBINE_FUZZ);
if (hasEqualCus) {
//方向相同
if (equalv3(cu.GetFirstDeriv(cu.MidParam).normalize(), pl.GetFirstDeriv(pl.MidParam).normalize(), 1e-3)
if (equalv3(cu.GetFirstDeriv(cu.MidParam).normalize(), pl.GetFirstDeriv(pl.MidParam).normalize(), 1e-2)
=== isEqualNormal) {
unionList.push(pl);
intersectionList.push(pl);
@@ -6715,13 +6716,28 @@ class CurveTreeNode {
}
}
}
var PolylineJoinType;
(function (PolylineJoinType) {
PolylineJoinType[PolylineJoinType["Square"] = 0] = "Square";
PolylineJoinType[PolylineJoinType["Round"] = 1] = "Round";
})(PolylineJoinType || (PolylineJoinType = {}));
class OffsetPolyline {
constructor(_Polyline, _OffsetDist, _ToolPath = false, _OffsetDistSq = (_OffsetDist ** 2) * 2.1 //对直角走刀不进行圆弧过度
/**
*
* @param _Polyline
* @param _OffsetDist
* @param [_ToolPath=false] 走刀模式(在这个模式下,我们会进行圆弧过渡(或者直线过渡)避免尖角过大)
* @param [_OffsetDistSq=(_OffsetDist ** 2) * 2.1] 允许的最大尖角长度 默认值差不多是矩形的尖角大一点
* @param [_JoinType=PolylineJoinType.Round] 尖角的处理方式,默认是圆弧过渡,可以切换成直线过渡
*/
constructor(_Polyline, _OffsetDist, _ToolPath = false, _OffsetDistSq = (_OffsetDist ** 2) * 2.1, //对直角走刀不进行圆弧过度
_JoinType = PolylineJoinType.Round //仅在走刀路径时生效
) {
this._Polyline = _Polyline;
this._OffsetDist = _OffsetDist;
this._ToolPath = _ToolPath;
this._OffsetDistSq = _OffsetDistSq;
this._JoinType = _JoinType;
this._IsTopoOffset = false; //局部偏移,允许特殊延伸,参考测试用例
}
Do() {
@@ -6823,7 +6839,10 @@ class OffsetPolyline {
let refP = this._Vertexs[curveResNext.index];
let distSq = iPts[0].distanceToSquared(refP);
if (this._ToolPath && distSq > this._OffsetDistSq) {
if (this._JoinType === PolylineJoinType.Round)
curveResNow.paddingCurve = [this.CreateArc(refP, sp, ep)];
else
curveResNow.paddingCurve = [this.CreateSquare(refP, curveResNow, curveResNext, code)]; //补直线
this._TrimCircleContours.push(this._Circles[curveResNext.index]);
}
else
@@ -6833,7 +6852,8 @@ class OffsetPolyline {
// curveResNow.paddingCurve = [new Line(sp, ep)];
}
}
else {
else //直线和圆弧 圆弧和圆弧
{
let refP = this._Vertexs[curveResNext.index];
//在局部偏移中,当偏移距离不一致时,我们总是倾向于直接连接
if (this._IsTopoOffset && tPts.length === 0 && curveResNow.dist !== curveResNext.dist) {
@@ -6901,8 +6921,13 @@ class OffsetPolyline {
else
curveResNow.paddingCurve = [this.CreateArc(refP, sp, ep)]; //补圆弧
}
else
else {
if (this._JoinType === PolylineJoinType.Round)
curveResNow.paddingCurve = [this.CreateArc(refP, sp, ep)]; //补圆弧
else {
curveResNow.paddingCurve = [this.CreateSquare(refP, curveResNow, curveResNext, code)]; //补直线
}
}
let circle = this._Circles[curveResNext.index];
if (circle)
this._TrimCircleContours.push(circle); //因为局部偏移可能未提供圆
@@ -7333,6 +7358,24 @@ class OffsetPolyline {
let arc = new exports.Arc(center, Math.abs(this._OffsetDist), sa, ea, this._OffsetDist < 0);
return arc;
}
CreateSquare(center, curveNow, curveNext, entTypeCode) {
const arc = this.CreateArc(center, curveNow.curve.EndPoint, curveNext.curve.StartPoint);
const centerPoint = arc.GetPointAtParam(0.5);
const tangentLine = new exports.Line(centerPoint, arc.GetFirstDeriv(0.5).add(centerPoint)); //切线
let ep, sp;
if (entTypeCode === 1) {
ep = tangentLine.IntersectWith(curveNow.curve, IntersectOption.ExtendBoth)[0]; //第一条线新的终点坐标
sp = centerPoint.multiplyScalar(2).sub(ep);
}
else // if (entTypeCode === 0)//全圆弧 直线和圆弧
{
ep = SelectNearP(tangentLine.IntersectWith(curveNow.curve, IntersectOption.ExtendBoth), center); //第一条线新的终点坐标
sp = SelectNearP(tangentLine.IntersectWith(curveNext.curve, IntersectOption.ExtendBoth), center);
}
curveNow.ep = ep;
curveNext.sp = sp;
return new exports.Line(ep, sp);
}
}
function EntityEncode(c) {
if (c instanceof exports.Line)
@@ -7909,10 +7952,13 @@ exports.Polyline = Polyline_1 = class Polyline extends Curve {
GetParamAtDist(dist) {
if (equaln$1(dist, 0))
return 0;
let cus = this.Explode();
for (let i = 0; i < cus.length; i++) {
let cu = cus[i];
let cus = [];
for (let i = 0; i < this.EndParam; i++) {
let cu = this.GetCurveAtIndex(i);
let len = cu.Length;
if (len < 1e-6)
continue;
cus.push(cu);
if (dist <= len)
return i + cu.GetParamAtDist(dist);
else if (equaln$1(dist, len, 1e-8))
@@ -8408,10 +8454,10 @@ exports.Polyline = Polyline_1 = class Polyline extends Curve {
cu.ColorIndex = this.ColorIndex;
return curves;
}
GetFeedingToolPath(offsetDist, offsetDistSq = (offsetDist ** 2) * 2.1) {
GetFeedingToolPath(offsetDist, offsetDistSq = (offsetDist ** 2) * 2.1, joinType = PolylineJoinType.Round) {
if (equaln$1(offsetDist, 0))
return [];
let polyOffestUtil = new OffsetPolyline(this, offsetDist, true, offsetDistSq);
let polyOffestUtil = new OffsetPolyline(this, offsetDist, true, offsetDistSq, joinType);
return polyOffestUtil.Do();
}
/**
@@ -13445,6 +13491,8 @@ Object.freeze(DefaultR2b2Option);
matchType: ECompareType.Equal
});
const DefaultCommonPanelOption = {
version: 1,
orderMap: {},
orderType: EOrderType.ByUpdate,
};
Object.freeze(DefaultCommonPanelOption);
@@ -18199,7 +18247,7 @@ function ConverArcToPtsBul(arc, hasEnd = false) {
exports.Production = void 0;
(function (Production) {
/**获取板件拆单数据 */
function GetBoardSplitOrderData(br) {
function GetBoardSplitOrderData(br, redundancyKnif = 0) {
let sealedData = GetSealedBoardContour(br);
if (!sealedData) {
ToasterShowEntityMsg({
@@ -18222,7 +18270,7 @@ exports.Production = void 0;
let originOutlinePtsBul = ConverToPtsBul(orgContour);
originOutlinePtsBul.pts.pop();
originOutlinePtsBul.buls.pop();
let { modeling, sideModeling } = GetBoardModelingData(br, offsetTanslation);
let { modeling, sideModeling } = GetBoardModelingData(br, offsetTanslation, redundancyKnif);
let boardContour;
if (GetSpiteSize(br))
boardContour = ConverToPtsBul(br.ContourCurve); //不分裂圆弧转点表
@@ -18359,7 +18407,7 @@ exports.Production = void 0;
* @param br
* @param offsetTanslation
*/
function GetBoardModelingData(br, offsetTanslation) {
function GetBoardModelingData(br, offsetTanslation, redundancyKnif = 0) {
const tool = FeedingToolPath.GetInstance();
const tMtx = MoveMatrix(offsetTanslation.clone().negate());
const getModelings = (ms, isSide) => {
@@ -18370,7 +18418,7 @@ exports.Production = void 0;
continue;
if (HostApplicationServices.chaidanOption.useDefaultRad)
m.knifeRadius = HostApplicationServices.chaidanOption.radius;
let paths = tool.GetModelFeedPath(br, m); //走刀路径
let paths = tool.GetModelFeedPath(br, m, redundancyKnif); //走刀路径
if (!isSide)
paths.forEach(path => path.ApplyMatrix(tMtx));
//走刀的ptsbuls
@@ -18408,14 +18456,17 @@ exports.Production = void 0;
Production.GetBoardModelingData = GetBoardModelingData;
//获得拆单尺寸
function GetSpiteSize(br) {
if (br.BoardProcessOption[EBoardKeyList.SpliteHeight]
&& br.BoardProcessOption[EBoardKeyList.SpliteWidth]
&& br.BoardProcessOption[EBoardKeyList.SpliteThickness]) {
let param = { L: br.Height, W: br.Width, H: br.Thickness };
let spliteHeight = safeEval(br.BoardProcessOption.spliteHeight, param, "L");
let spliteWidth = safeEval(br.BoardProcessOption.spliteWidth, param, "W");
let spliteThickness = safeEval(br.BoardProcessOption.spliteThickness, param, "H");
if (spliteHeight && spliteWidth && spliteThickness)
let [spHeight, spWidth, spThickness] = [br.BoardProcessOption.spliteHeight, br.BoardProcessOption.spliteWidth, br.BoardProcessOption.spliteThickness];
const isEffect = HostApplicationServices.chaidanOption.partialSplitValueCanTakesEffect;
const param = { L: br.Height, W: br.Width, H: br.Thickness };
if (isEffect || (spHeight && spWidth && spThickness)) {
spHeight = spHeight || br.Height.toString();
spWidth = spWidth || br.Width.toString();
spThickness = spThickness || br.Thickness.toString();
const spliteHeight = safeEval(spHeight, param, "L");
const spliteWidth = safeEval(spWidth, param, "W");
const spliteThickness = safeEval(spThickness, param, "H");
if (spliteHeight && spliteWidth && spliteThickness) {
return {
spliteHeight,
spliteWidth,
@@ -18423,6 +18474,7 @@ exports.Production = void 0;
};
}
}
}
Production.GetSpiteSize = GetSpiteSize;
//获得拆单轮廓(如果没有,那么将返回空,如果有,返回多段线)
function GetSpliteOutlineBySpliteSize(br) {
@@ -20289,10 +20341,16 @@ let Board = Board_1 = class Board extends ExtrudeSolid {
}
//#endregion
get Has2DPath() { return this._2DModelingList.length > 0; }
get Async2DPathing() { return this._async2DPathIng; }
GoodBye() {
super.GoodBye();
TerminateCSGTask({ key: this });
}
async Load2DPathIng() {
return new Promise((res) => {
this.promise2DPath = res;
});
}
//分裂后重新将排钻实体设置给不同的实体
HandleSpliteEntitys(splitEntitys) {
if (!splitEntitys.length)
@@ -21528,7 +21586,7 @@ class FeedingToolPath extends Singleton {
* @param knifRadius 刀半径/偏移距离
* @param [isOut=true] 是否是最外轮廓,如果是,洞需要外偏移一个刀半径,多段线偏移保留不闭合轮廓
*/
HandleShape(shape, knifRadius, isOut) {
HandleShape(shape, knifRadius, isOut, redundancyKnif = 0) {
let outline = shape.Outline.Curve;
if (isOut)
outline = outline.Clone();
@@ -21556,7 +21614,7 @@ class FeedingToolPath extends Singleton {
let rectInfo = IsRect(outline);
while (true) {
if ((!isOut || offsetDist >= knifRadius) && rectInfo)
offsetDist += knifRadius * 2;
offsetDist += knifRadius * 2 - redundancyKnif;
else
offsetDist += knifRadius;
//理论上最大的宽度为1220,所以2000已经是种仁慈.
@@ -21671,7 +21729,7 @@ class FeedingToolPath extends Singleton {
return cus;
}
//获取造型走刀
GetModelFeedPath(br, modeling) {
GetModelFeedPath(br, modeling, redundancyKnif = 0) {
const brThickness = br.Thickness;
let cus = []; //返回走刀路径
let { shape, thickness, knifeRadius, addLen, addWidth, addDepth } = modeling;
@@ -21706,7 +21764,7 @@ class FeedingToolPath extends Singleton {
cus.push(...paths);
}
else {
let offsetCus = this.HandleShape(shape, knifeRadius, true);
let offsetCus = this.HandleShape(shape, knifeRadius, true, redundancyKnif);
if (offsetCus.length > 1)
cus.push(...OptimizeToolPath(offsetCus, shape, knifeRadius));
}
@@ -23021,10 +23079,10 @@ function GetMaxAreaFn(rects) {
return Max(rects, (t1, t2) => t2[0] > t1[0]);
}
function GetMaxWidthFn(rects) {
return Max(rects, (t1, t2) => t2[1] > t1[1]);
return Max(rects, (t1, t2) => t2[5] === t1[5] ? t2[6] > t1[6] : t2[5] > t1[5]);
}
function GetMaxHeightFn(rects) {
return Max(rects, (t1, t2) => t2[2] > t1[2]);
return Max(rects, (t1, t2) => t2[6] === t1[6] ? t2[6] > t1[6] : t2[5] > t1[5]);
}
//最大内接矩形
//1.分析盒子
@@ -23053,7 +23111,7 @@ function GetMaxHeightFn(rects) {
*
* //除了变量 也可以设置过滤函数
* //例如:
* lir.FilterRectFn = !(w,h)=> (w>500 || h>500) //这样将对长或者宽不足500的矩形板过滤(舍弃)
* lir.FilterRectFn = (w,h)=> !(w>500 || h>500) //这样将对长或者宽不足500的矩形板过滤(舍弃)
*
* //2. 可以设置优先模式,默认提供了面积优先,你也可以使用宽度优先或者高度优先,或许默认规则可能不好用,可以自定义传入自定义函数.
* lir.GetMaxRectIndexFn = LargestInteriorRectangle.GetMaxAreaFn; //或者 LargestInteriorRectangle.GetMaxWidthFn / LargestInteriorRectangle.GetMaxHeightFn
@@ -23205,7 +23263,7 @@ class LargestInteriorRectangle {
}
}
}
//area maxXIndex maxYIndex xcount ycount
//area maxXIndex maxYIndex xcount ycount,width,height
let rects = [];
for (let j = 0; j < n; j++) // 对于每一列,使用基于柱状图的方法
{
@@ -23243,11 +23301,12 @@ class LargestInteriorRectangle {
//面积小于最小允许面积
if (area < this.MinArea)
continue;
rects.push([area, down[i], j, xCount, yCount]);
rects.push([area, down[i], j, xCount, yCount, width, height]);
}
}
while (rects.length) {
let maxIndex = Max(rects, (t1, t2) => t2[0] > t1[0]);
// while (rects.length)
if (rects.length) {
let maxIndex = this.GetMaxRectIndexFn(rects);
let [area, maxXIndex, maxYIndex, xCount, yCount] = rects[maxIndex];
let xMax = xs[maxXIndex];
let yMax = ys[maxYIndex + 1];
@@ -23262,16 +23321,20 @@ class LargestInteriorRectangle {
}
}
//如果有被标记的方块,则删除它
arrayRemoveIf(rects, rect => {
let [area, maxX, maxY, xCount, yCount] = rect;
for (let i = 0; i < xCount; i++) {
for (let j = 0; j < yCount; j++) {
if (!matrix[maxX - 1 - i][maxY - j])
return true;
}
}
return false;
});
//某些情况不适合这个算法,移除了它,保证结果正确性
// arrayRemoveIf(rects, rect =>
// {
// let [area, maxX, maxY, xCount, yCount] = rect;
// for (let i = 0; i < xCount; i++)
// {
// for (let j = 0; j < yCount; j++)
// {
// if (!matrix[maxX - 1 - i][maxY - j])
// return true;
// }
// }
// return false;
// });
}
};
let maxRects = [];

File diff suppressed because one or more lines are too long

View File

@@ -216,7 +216,8 @@ class IHostApplicationServices {
checkSealType: "1",
sealMaxValue: 10,
sealValues: '',
hardwareExpressionFormattingAccuracy: 2, //复合实体表达式值格式化精度
hardwareExpressionFormattingAccuracy: 2,
partialSplitValueCanTakesEffect: false,
};
this.viewSize = {
minViewHeight: 1e-3,
@@ -6362,7 +6363,7 @@ class Contour {
hasEqualCus = fastEqualCurve(cu, pl, COMBINE_FUZZ);
if (hasEqualCus) {
//方向相同
if (equalv3(cu.GetFirstDeriv(cu.MidParam).normalize(), pl.GetFirstDeriv(pl.MidParam).normalize(), 1e-3)
if (equalv3(cu.GetFirstDeriv(cu.MidParam).normalize(), pl.GetFirstDeriv(pl.MidParam).normalize(), 1e-2)
=== isEqualNormal) {
unionList.push(pl);
intersectionList.push(pl);
@@ -6706,13 +6707,28 @@ class CurveTreeNode {
}
}
}
var PolylineJoinType;
(function (PolylineJoinType) {
PolylineJoinType[PolylineJoinType["Square"] = 0] = "Square";
PolylineJoinType[PolylineJoinType["Round"] = 1] = "Round";
})(PolylineJoinType || (PolylineJoinType = {}));
class OffsetPolyline {
constructor(_Polyline, _OffsetDist, _ToolPath = false, _OffsetDistSq = (_OffsetDist ** 2) * 2.1 //对直角走刀不进行圆弧过度
/**
*
* @param _Polyline
* @param _OffsetDist
* @param [_ToolPath=false] 走刀模式(在这个模式下,我们会进行圆弧过渡(或者直线过渡)避免尖角过大)
* @param [_OffsetDistSq=(_OffsetDist ** 2) * 2.1] 允许的最大尖角长度 默认值差不多是矩形的尖角大一点
* @param [_JoinType=PolylineJoinType.Round] 尖角的处理方式,默认是圆弧过渡,可以切换成直线过渡
*/
constructor(_Polyline, _OffsetDist, _ToolPath = false, _OffsetDistSq = (_OffsetDist ** 2) * 2.1, //对直角走刀不进行圆弧过度
_JoinType = PolylineJoinType.Round //仅在走刀路径时生效
) {
this._Polyline = _Polyline;
this._OffsetDist = _OffsetDist;
this._ToolPath = _ToolPath;
this._OffsetDistSq = _OffsetDistSq;
this._JoinType = _JoinType;
this._IsTopoOffset = false; //局部偏移,允许特殊延伸,参考测试用例
}
Do() {
@@ -6814,7 +6830,10 @@ class OffsetPolyline {
let refP = this._Vertexs[curveResNext.index];
let distSq = iPts[0].distanceToSquared(refP);
if (this._ToolPath && distSq > this._OffsetDistSq) {
if (this._JoinType === PolylineJoinType.Round)
curveResNow.paddingCurve = [this.CreateArc(refP, sp, ep)];
else
curveResNow.paddingCurve = [this.CreateSquare(refP, curveResNow, curveResNext, code)]; //补直线
this._TrimCircleContours.push(this._Circles[curveResNext.index]);
}
else
@@ -6824,7 +6843,8 @@ class OffsetPolyline {
// curveResNow.paddingCurve = [new Line(sp, ep)];
}
}
else {
else //直线和圆弧 圆弧和圆弧
{
let refP = this._Vertexs[curveResNext.index];
//在局部偏移中,当偏移距离不一致时,我们总是倾向于直接连接
if (this._IsTopoOffset && tPts.length === 0 && curveResNow.dist !== curveResNext.dist) {
@@ -6892,8 +6912,13 @@ class OffsetPolyline {
else
curveResNow.paddingCurve = [this.CreateArc(refP, sp, ep)]; //补圆弧
}
else
else {
if (this._JoinType === PolylineJoinType.Round)
curveResNow.paddingCurve = [this.CreateArc(refP, sp, ep)]; //补圆弧
else {
curveResNow.paddingCurve = [this.CreateSquare(refP, curveResNow, curveResNext, code)]; //补直线
}
}
let circle = this._Circles[curveResNext.index];
if (circle)
this._TrimCircleContours.push(circle); //因为局部偏移可能未提供圆
@@ -7324,6 +7349,24 @@ class OffsetPolyline {
let arc = new Arc(center, Math.abs(this._OffsetDist), sa, ea, this._OffsetDist < 0);
return arc;
}
CreateSquare(center, curveNow, curveNext, entTypeCode) {
const arc = this.CreateArc(center, curveNow.curve.EndPoint, curveNext.curve.StartPoint);
const centerPoint = arc.GetPointAtParam(0.5);
const tangentLine = new Line(centerPoint, arc.GetFirstDeriv(0.5).add(centerPoint)); //切线
let ep, sp;
if (entTypeCode === 1) {
ep = tangentLine.IntersectWith(curveNow.curve, IntersectOption.ExtendBoth)[0]; //第一条线新的终点坐标
sp = centerPoint.multiplyScalar(2).sub(ep);
}
else // if (entTypeCode === 0)//全圆弧 直线和圆弧
{
ep = SelectNearP(tangentLine.IntersectWith(curveNow.curve, IntersectOption.ExtendBoth), center); //第一条线新的终点坐标
sp = SelectNearP(tangentLine.IntersectWith(curveNext.curve, IntersectOption.ExtendBoth), center);
}
curveNow.ep = ep;
curveNext.sp = sp;
return new Line(ep, sp);
}
}
function EntityEncode(c) {
if (c instanceof Line)
@@ -7900,10 +7943,13 @@ let Polyline = Polyline_1 = class Polyline extends Curve {
GetParamAtDist(dist) {
if (equaln$1(dist, 0))
return 0;
let cus = this.Explode();
for (let i = 0; i < cus.length; i++) {
let cu = cus[i];
let cus = [];
for (let i = 0; i < this.EndParam; i++) {
let cu = this.GetCurveAtIndex(i);
let len = cu.Length;
if (len < 1e-6)
continue;
cus.push(cu);
if (dist <= len)
return i + cu.GetParamAtDist(dist);
else if (equaln$1(dist, len, 1e-8))
@@ -8399,10 +8445,10 @@ let Polyline = Polyline_1 = class Polyline extends Curve {
cu.ColorIndex = this.ColorIndex;
return curves;
}
GetFeedingToolPath(offsetDist, offsetDistSq = (offsetDist ** 2) * 2.1) {
GetFeedingToolPath(offsetDist, offsetDistSq = (offsetDist ** 2) * 2.1, joinType = PolylineJoinType.Round) {
if (equaln$1(offsetDist, 0))
return [];
let polyOffestUtil = new OffsetPolyline(this, offsetDist, true, offsetDistSq);
let polyOffestUtil = new OffsetPolyline(this, offsetDist, true, offsetDistSq, joinType);
return polyOffestUtil.Do();
}
/**
@@ -13436,6 +13482,8 @@ Object.freeze(DefaultR2b2Option);
matchType: ECompareType.Equal
});
const DefaultCommonPanelOption = {
version: 1,
orderMap: {},
orderType: EOrderType.ByUpdate,
};
Object.freeze(DefaultCommonPanelOption);
@@ -18190,7 +18238,7 @@ function ConverArcToPtsBul(arc, hasEnd = false) {
var Production;
(function (Production) {
/**获取板件拆单数据 */
function GetBoardSplitOrderData(br) {
function GetBoardSplitOrderData(br, redundancyKnif = 0) {
let sealedData = GetSealedBoardContour(br);
if (!sealedData) {
ToasterShowEntityMsg({
@@ -18213,7 +18261,7 @@ var Production;
let originOutlinePtsBul = ConverToPtsBul(orgContour);
originOutlinePtsBul.pts.pop();
originOutlinePtsBul.buls.pop();
let { modeling, sideModeling } = GetBoardModelingData(br, offsetTanslation);
let { modeling, sideModeling } = GetBoardModelingData(br, offsetTanslation, redundancyKnif);
let boardContour;
if (GetSpiteSize(br))
boardContour = ConverToPtsBul(br.ContourCurve); //不分裂圆弧转点表
@@ -18350,7 +18398,7 @@ var Production;
* @param br
* @param offsetTanslation
*/
function GetBoardModelingData(br, offsetTanslation) {
function GetBoardModelingData(br, offsetTanslation, redundancyKnif = 0) {
const tool = FeedingToolPath.GetInstance();
const tMtx = MoveMatrix(offsetTanslation.clone().negate());
const getModelings = (ms, isSide) => {
@@ -18361,7 +18409,7 @@ var Production;
continue;
if (HostApplicationServices.chaidanOption.useDefaultRad)
m.knifeRadius = HostApplicationServices.chaidanOption.radius;
let paths = tool.GetModelFeedPath(br, m); //走刀路径
let paths = tool.GetModelFeedPath(br, m, redundancyKnif); //走刀路径
if (!isSide)
paths.forEach(path => path.ApplyMatrix(tMtx));
//走刀的ptsbuls
@@ -18399,14 +18447,17 @@ var Production;
Production.GetBoardModelingData = GetBoardModelingData;
//获得拆单尺寸
function GetSpiteSize(br) {
if (br.BoardProcessOption[EBoardKeyList.SpliteHeight]
&& br.BoardProcessOption[EBoardKeyList.SpliteWidth]
&& br.BoardProcessOption[EBoardKeyList.SpliteThickness]) {
let param = { L: br.Height, W: br.Width, H: br.Thickness };
let spliteHeight = safeEval(br.BoardProcessOption.spliteHeight, param, "L");
let spliteWidth = safeEval(br.BoardProcessOption.spliteWidth, param, "W");
let spliteThickness = safeEval(br.BoardProcessOption.spliteThickness, param, "H");
if (spliteHeight && spliteWidth && spliteThickness)
let [spHeight, spWidth, spThickness] = [br.BoardProcessOption.spliteHeight, br.BoardProcessOption.spliteWidth, br.BoardProcessOption.spliteThickness];
const isEffect = HostApplicationServices.chaidanOption.partialSplitValueCanTakesEffect;
const param = { L: br.Height, W: br.Width, H: br.Thickness };
if (isEffect || (spHeight && spWidth && spThickness)) {
spHeight = spHeight || br.Height.toString();
spWidth = spWidth || br.Width.toString();
spThickness = spThickness || br.Thickness.toString();
const spliteHeight = safeEval(spHeight, param, "L");
const spliteWidth = safeEval(spWidth, param, "W");
const spliteThickness = safeEval(spThickness, param, "H");
if (spliteHeight && spliteWidth && spliteThickness) {
return {
spliteHeight,
spliteWidth,
@@ -18414,6 +18465,7 @@ var Production;
};
}
}
}
Production.GetSpiteSize = GetSpiteSize;
//获得拆单轮廓(如果没有,那么将返回空,如果有,返回多段线)
function GetSpliteOutlineBySpliteSize(br) {
@@ -20280,10 +20332,16 @@ let Board = Board_1 = class Board extends ExtrudeSolid {
}
//#endregion
get Has2DPath() { return this._2DModelingList.length > 0; }
get Async2DPathing() { return this._async2DPathIng; }
GoodBye() {
super.GoodBye();
TerminateCSGTask({ key: this });
}
async Load2DPathIng() {
return new Promise((res) => {
this.promise2DPath = res;
});
}
//分裂后重新将排钻实体设置给不同的实体
HandleSpliteEntitys(splitEntitys) {
if (!splitEntitys.length)
@@ -21519,7 +21577,7 @@ class FeedingToolPath extends Singleton {
* @param knifRadius 刀半径/偏移距离
* @param [isOut=true] 是否是最外轮廓,如果是,洞需要外偏移一个刀半径,多段线偏移保留不闭合轮廓
*/
HandleShape(shape, knifRadius, isOut) {
HandleShape(shape, knifRadius, isOut, redundancyKnif = 0) {
let outline = shape.Outline.Curve;
if (isOut)
outline = outline.Clone();
@@ -21547,7 +21605,7 @@ class FeedingToolPath extends Singleton {
let rectInfo = IsRect(outline);
while (true) {
if ((!isOut || offsetDist >= knifRadius) && rectInfo)
offsetDist += knifRadius * 2;
offsetDist += knifRadius * 2 - redundancyKnif;
else
offsetDist += knifRadius;
//理论上最大的宽度为1220,所以2000已经是种仁慈.
@@ -21662,7 +21720,7 @@ class FeedingToolPath extends Singleton {
return cus;
}
//获取造型走刀
GetModelFeedPath(br, modeling) {
GetModelFeedPath(br, modeling, redundancyKnif = 0) {
const brThickness = br.Thickness;
let cus = []; //返回走刀路径
let { shape, thickness, knifeRadius, addLen, addWidth, addDepth } = modeling;
@@ -21697,7 +21755,7 @@ class FeedingToolPath extends Singleton {
cus.push(...paths);
}
else {
let offsetCus = this.HandleShape(shape, knifeRadius, true);
let offsetCus = this.HandleShape(shape, knifeRadius, true, redundancyKnif);
if (offsetCus.length > 1)
cus.push(...OptimizeToolPath(offsetCus, shape, knifeRadius));
}
@@ -23012,10 +23070,10 @@ function GetMaxAreaFn(rects) {
return Max(rects, (t1, t2) => t2[0] > t1[0]);
}
function GetMaxWidthFn(rects) {
return Max(rects, (t1, t2) => t2[1] > t1[1]);
return Max(rects, (t1, t2) => t2[5] === t1[5] ? t2[6] > t1[6] : t2[5] > t1[5]);
}
function GetMaxHeightFn(rects) {
return Max(rects, (t1, t2) => t2[2] > t1[2]);
return Max(rects, (t1, t2) => t2[6] === t1[6] ? t2[6] > t1[6] : t2[5] > t1[5]);
}
//最大内接矩形
//1.分析盒子
@@ -23044,7 +23102,7 @@ function GetMaxHeightFn(rects) {
*
* //除了变量 也可以设置过滤函数
* //例如:
* lir.FilterRectFn = !(w,h)=> (w>500 || h>500) //这样将对长或者宽不足500的矩形板过滤(舍弃)
* lir.FilterRectFn = (w,h)=> !(w>500 || h>500) //这样将对长或者宽不足500的矩形板过滤(舍弃)
*
* //2. 可以设置优先模式,默认提供了面积优先,你也可以使用宽度优先或者高度优先,或许默认规则可能不好用,可以自定义传入自定义函数.
* lir.GetMaxRectIndexFn = LargestInteriorRectangle.GetMaxAreaFn; //或者 LargestInteriorRectangle.GetMaxWidthFn / LargestInteriorRectangle.GetMaxHeightFn
@@ -23196,7 +23254,7 @@ class LargestInteriorRectangle {
}
}
}
//area maxXIndex maxYIndex xcount ycount
//area maxXIndex maxYIndex xcount ycount,width,height
let rects = [];
for (let j = 0; j < n; j++) // 对于每一列,使用基于柱状图的方法
{
@@ -23234,11 +23292,12 @@ class LargestInteriorRectangle {
//面积小于最小允许面积
if (area < this.MinArea)
continue;
rects.push([area, down[i], j, xCount, yCount]);
rects.push([area, down[i], j, xCount, yCount, width, height]);
}
}
while (rects.length) {
let maxIndex = Max(rects, (t1, t2) => t2[0] > t1[0]);
// while (rects.length)
if (rects.length) {
let maxIndex = this.GetMaxRectIndexFn(rects);
let [area, maxXIndex, maxYIndex, xCount, yCount] = rects[maxIndex];
let xMax = xs[maxXIndex];
let yMax = ys[maxYIndex + 1];
@@ -23253,16 +23312,20 @@ class LargestInteriorRectangle {
}
}
//如果有被标记的方块,则删除它
arrayRemoveIf(rects, rect => {
let [area, maxX, maxY, xCount, yCount] = rect;
for (let i = 0; i < xCount; i++) {
for (let j = 0; j < yCount; j++) {
if (!matrix[maxX - 1 - i][maxY - j])
return true;
}
}
return false;
});
//某些情况不适合这个算法,移除了它,保证结果正确性
// arrayRemoveIf(rects, rect =>
// {
// let [area, maxX, maxY, xCount, yCount] = rect;
// for (let i = 0; i < xCount; i++)
// {
// for (let j = 0; j < yCount; j++)
// {
// if (!matrix[maxX - 1 - i][maxY - j])
// return true;
// }
// }
// return false;
// });
}
};
let maxRects = [];

File diff suppressed because one or more lines are too long

View File

@@ -1,12 +1,14 @@
import { Box2, Vector2 } from "three";
/** [area maxXIndex maxYIndex xCount yCount,width,height] */
export type RectData = [number, number, number, number, number, number, number];
/**
* 获取面积最大的矩形
* @param rects
* @returns
*/
declare function GetMaxAreaFn(rects: [number, number, number][]): number;
declare function GetMaxWidthFn(rects: [number, number, number][]): number;
declare function GetMaxHeightFn(rects: [number, number, number][]): number;
declare function GetMaxAreaFn(rects: RectData[]): number;
declare function GetMaxWidthFn(rects: RectData[]): number;
declare function GetMaxHeightFn(rects: RectData[]): number;
/**
* @example
*
@@ -18,7 +20,7 @@ declare function GetMaxHeightFn(rects: [number, number, number][]): number;
*
* //除了变量 也可以设置过滤函数
* //例如:
* lir.FilterRectFn = !(w,h)=> (w>500 || h>500) //这样将对长或者宽不足500的矩形板过滤(舍弃)
* lir.FilterRectFn = (w,h)=> !(w>500 || h>500) //这样将对长或者宽不足500的矩形板过滤(舍弃)
*
* //2. 可以设置优先模式,默认提供了面积优先,你也可以使用宽度优先或者高度优先,或许默认规则可能不好用,可以自定义传入自定义函数.
* lir.GetMaxRectIndexFn = LargestInteriorRectangle.GetMaxAreaFn; //或者 LargestInteriorRectangle.GetMaxWidthFn / LargestInteriorRectangle.GetMaxHeightFn
@@ -33,7 +35,7 @@ export declare class LargestInteriorRectangle {
MinArea: number;
/** 可以自定义过滤函数,以便过滤掉某些不需要的矩形,当返回true时,我们会过滤它 */
FilterRectFn: (width: number, height: number) => boolean;
GetMaxRectIndexFn: (rects: [number, number, number][]) => number;
GetMaxRectIndexFn: (rects: RectData[]) => number;
static GetMaxAreaFn: typeof GetMaxAreaFn;
static GetMaxWidthFn: typeof GetMaxWidthFn;
static GetMaxHeightFn: typeof GetMaxHeightFn;

View File

@@ -1 +1 @@
{"version":3,"file":"LargestInteriorRectangle.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/testEntity/LargestInteriorRectangle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAW,MAAM,OAAO,CAAC;AAW/C;;;;GAIG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAG/D;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAGhE;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAGjE;AAuBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,wBAAwB;IAEjC,QAAQ,SAAO;IACf,SAAS,SAAO;IAChB,OAAO,SAAa;IAEpB,8CAA8C;IAC9C,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAEzD,iBAAiB,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,MAAM,CAAgB;IAGhF,MAAM,CAAC,YAAY,sBAAgB;IACnC,MAAM,CAAC,aAAa,uBAAiB;IACrC,MAAM,CAAC,cAAc,wBAAkB;;IAMvC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE;CAqS1C"}
{"version":3,"file":"LargestInteriorRectangle.d.ts","sourceRoot":"","sources":["../../../../src/Add-on/testEntity/LargestInteriorRectangle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAW,MAAM,OAAO,CAAC;AAU/C,4DAA4D;AAC5D,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhF;;;;GAIG;AACH,iBAAS,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAG/C;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAGhD;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAGjD;AAuBD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,wBAAwB;IAEjC,QAAQ,SAAO;IACf,SAAS,SAAO;IAChB,OAAO,SAAa;IAEpB,8CAA8C;IAC9C,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAEzD,iBAAiB,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,MAAM,CAAgB;IAGhE,MAAM,CAAC,YAAY,sBAAgB;IACnC,MAAM,CAAC,aAAa,uBAAiB;IACrC,MAAM,CAAC,cAAc,wBAAkB;;IAMvC;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE;CAqS1C"}

View File

@@ -47,6 +47,7 @@ export declare class IHostApplicationServices {
sealMaxValue: number;
sealValues: string;
hardwareExpressionFormattingAccuracy: number;
partialSplitValueCanTakesEffect: boolean;
};
viewSize: {
minViewHeight: number;

View File

@@ -1 +1 @@
{"version":3,"file":"HostApplicationServices.d.ts","sourceRoot":"","sources":["../../../src/ApplicationServices/HostApplicationServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,qBAAa,wBAAwB;IAEjC,mBAAmB,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAC/D,oBAAoB,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAChE,mBAAmB,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAC/D,8BAA8B,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAE1E,mBAAmB,UAAQ;IAE3B,eAAe,EAAE,QAAQ,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAQ;IAC9C,cAAc,EAAE,OAAO,CAAQ;IAEnB,kBAAkB,SAAK;IACvB,mBAAmB,SAAK;IAExB,iBAAiB,SAAK;IAElC,kBAAkB,UAAS;IAC3B,WAAW,SAAK;IAEhB,OAAO,CAAC,eAAe,CAAM;IAC7B,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAM;IACpC,IAAI,WAAW,IACM,GAAG,CAD0B;IAClD,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAUvB;IAGW,WAAW,EAAE,UAAU,CAAwB;IAI/C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAW;IAItD,mBAAmB,UAAQ;IAI3B,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IAIzC,SAAS,UAAS;IAIlB,gBAAgB,UAAS;IAIzB,cAAc,UAAS;IAIvB,gBAAgB,UAAS;IAIzB,IAAI,EAAE,MAAM,CAAC;IAIb,cAAc,EAAE,OAAO,CAAS;IAGhC,aAAa;;;;;;;;;;;;;;;MAevB;IAEU,QAAQ;;;;MAIlB;IAEU,UAAU,EAAE,aAAa,CAInC;IAEU,aAAa,SAAM;IACnB,SAAS,SAAK;IACd,kBAAkB,EAAE,kBAAkB,CAA0B;IAE5E,OAAO;IAEP,OAAO,CAAC,MAAM,CAAC,eAAe,CAA2B;IACzD,MAAM,CAAC,WAAW,IAAI,wBAAwB;IAQxC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAClC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;CACzC;AAED,eAAO,IAAI,uBAAuB,0BAAyC,CAAC"}
{"version":3,"file":"HostApplicationServices.d.ts","sourceRoot":"","sources":["../../../src/ApplicationServices/HostApplicationServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,qBAAa,wBAAwB;IAEjC,mBAAmB,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAC/D,oBAAoB,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAChE,mBAAmB,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAC/D,8BAA8B,CAAC,EAAE,iBAAiB,GAAG,oBAAoB,CAAC;IAE1E,mBAAmB,UAAQ;IAE3B,eAAe,EAAE,QAAQ,CAAC;IACd,iBAAiB,EAAE,OAAO,CAAQ;IAC9C,cAAc,EAAE,OAAO,CAAQ;IAEnB,kBAAkB,SAAK;IACvB,mBAAmB,SAAK;IAExB,iBAAiB,SAAK;IAElC,kBAAkB,UAAS;IAC3B,WAAW,SAAK;IAEhB,OAAO,CAAC,eAAe,CAAM;IAC7B,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAM;IACpC,IAAI,WAAW,IACM,GAAG,CAD0B;IAClD,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,EAUvB;IAGW,WAAW,EAAE,UAAU,CAAwB;IAI/C,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAW;IAItD,mBAAmB,UAAQ;IAI3B,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAM;IAIzC,SAAS,UAAS;IAIlB,gBAAgB,UAAS;IAIzB,cAAc,UAAS;IAIvB,gBAAgB,UAAS;IAIzB,IAAI,EAAE,MAAM,CAAC;IAIb,cAAc,EAAE,OAAO,CAAS;IAGhC,aAAa;;;;;;;;;;;;;;;;MAgBvB;IAEU,QAAQ;;;;MAIlB;IAEU,UAAU,EAAE,aAAa,CAInC;IAEU,aAAa,SAAM;IACnB,SAAS,SAAK;IACd,kBAAkB,EAAE,kBAAkB,CAA0B;IAE5E,OAAO;IAEP,OAAO,CAAC,MAAM,CAAC,eAAe,CAA2B;IACzD,MAAM,CAAC,WAAW,IAAI,wBAAwB;IAQxC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAClC,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;CACzC;AAED,eAAO,IAAI,uBAAuB,0BAAyC,CAAC"}

View File

@@ -1,3 +1,4 @@
import Geom3 from '@jscad/modeling/src/geometries/geom3/type';
import { Frustum, Geometry, Matrix3, Matrix4, Object3D, UVGenerator, Vector3 } from 'three';
import { FaceDirection } from "../../Add-on/DrawDrilling/DrillType";
import { ObjectSnapMode } from '../../Editor/ObjectSnapMode';
@@ -162,11 +163,14 @@ export declare class Board extends ExtrudeSolid {
/**
* 这个函数生成了二维刀路的csg数组,并且同时生成了_2DPathDrawObject(二维刀路提刀线框显示对象)
*/
private Get2DPathCsgs;
Get2DPathCsgs(): Geom3[];
protected get Has2DPath(): boolean;
private _workerCalcedGeom;
private _async2DPathIng;
get Async2DPathing(): boolean;
GoodBye(): void;
private promise2DPath;
Load2DPathIng(): Promise<boolean>;
HandleSpliteEntitys(splitEntitys: this[]): void;
private get PlaceColor();
private GetPlaceFace;

File diff suppressed because one or more lines are too long

View File

@@ -3,6 +3,7 @@ import { Status } from '../../Common/Status';
import { ObjectSnapMode } from '../../Editor/ObjectSnapMode';
import { Box3Ext } from '../../Geometry/Box';
import { IntersectOption } from '../../GraphicsSystem/IntersectWith';
import { PolylineJoinType } from '../../GraphicsSystem/OffsetPolyline';
import { CADFiler } from '../CADFiler';
import { Shape2 } from '../Shape2';
import { Arc } from './Arc';
@@ -136,7 +137,7 @@ export declare class Polyline extends Curve {
GetClosestPointTo(pt: Vector3, extend: boolean): Vector3;
GetClosestPointTo2(pt: Vector3, extType: ExtendType): Vector3;
GetOffsetCurves(offsetDist: number): Polyline[];
GetFeedingToolPath(offsetDist: number, offsetDistSq?: number): Polyline[];
GetFeedingToolPath(offsetDist: number, offsetDistSq?: number, joinType?: PolylineJoinType): Polyline[];
/**
* 分解
*/

View File

@@ -1 +1 @@
{"version":3,"file":"Polyline.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/Entity/Polyline.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"Polyline.d.ts","sourceRoot":"","sources":["../../../../src/DatabaseServices/Entity/Polyline.ts"],"names":[],"mappings":"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"}

View File

@@ -1 +1 @@
{"version":3,"file":"DefaultConfig.d.ts","sourceRoot":"","sources":["../../../src/Editor/DefaultConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAI3G,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAe,mBAAmB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AACvJ,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAgB,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAA0C,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/I,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAqB,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAoB,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACnG,OAAO,EAAe,wBAAwB,EAAE,MAAM,sDAAsD,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAa,MAAM,gDAAgD,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACpc,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAEvH,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,kDAAkD,CAAC;AAC7J,OAAO,EAAuE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrI,eAAO,MAAM,uBAAuB,EAAE,gBAkBrC,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,mBAiBxC,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,iBAiBtC,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,eAgCnC,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,aAanC,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,aAoBtC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,eAUpC,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,oBAIzC,CAAC;AAGF,eAAO,MAAM,4BAA4B,EAAE,qBAM1C,CAAC;AAGF,eAAO,MAAM,4BAA4B,EAAE,qBAK1C,CAAC;AAGF,eAAO,MAAM,4BAA4B,EAAE,qBAI1C,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,uBAEtC,CAAC;AAIF,eAAO,MAAM,uBAAuB,EAAE,gBAWrC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,eAepC,CAAC;AAGF,eAAO,MAAM,0BAA0B,EAAE,mBAcxC,CAAC;AAGF,eAAO,MAAM,4BAA4B,EAAE,qBAiB1C,CAAC;AAGF,eAAO,MAAM,wBAAwB,EAAE,iBAWtC,CAAC;AAGF,eAAO,MAAM,yBAAyB,EAAE,kBAavC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,gBA2FpC,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,cAwBjC,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,iBAuD/B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAMhC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,mBA0CjC,CAAC;AAGF,eAAO,MAAM,8BAA8B,EAAE,wBAQ5C,CAAC;AAGF,eAAO,MAAM,6BAA6B,EAAE,uBAM3C,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,cAwBlC,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,eAa/B,CAAC;AAGF,eAAO,MAAM,4BAA4B,EAAE,gBAiB1C,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,gBAkBzC,CAAC;AAEF,eAAO,MAAM,4BAA4B,EAAE,mBAoB1C,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,cAexC,CAAC;AAGF,eAAO,MAAM,yBAAyB,EAAE,kBAwBvC,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,eASpC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,uBAkDrC,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,iBAShC,CAAC;AAIF,eAAO,MAAM,2BAA2B,EAAE,qBA8BzC,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,aA6C9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,eAY/B,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,SAiC7B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,uBAEtC,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,oBAEnC,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,iBAiBrC,CAAC;AAIF,eAAO,MAAM,wBAAwB,EAAE,uBAgBtC,CAAC;AAGF,eAAO,MAAM,qBAAqB,EAAE,eAUnC,CAAC;AAGF,eAAO,MAAM,uCAAuC,EAAE,gCAKrD,CAAC;AAGF,eAAO,MAAM,uCAAuC,EAAE,gCAOrD,CAAC;AAGF,eAAO,MAAM,4BAA4B,EAAE,qBAE1C,CAAC;AAGF,eAAO,MAAM,uCAAuC,EAAE,gCAGrD,CAAC"}
{"version":3,"file":"DefaultConfig.d.ts","sourceRoot":"","sources":["../../../src/Editor/DefaultConfig.ts"],"names":[],"mappings":"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"}

View File

@@ -3,6 +3,7 @@ import { Contour } from "../DatabaseServices/Contour";
import { Arc } from "../DatabaseServices/Entity/Arc";
import { Circle } from "../DatabaseServices/Entity/Circle";
import { Curve } from "../DatabaseServices/Entity/Curve";
import { Line } from "../DatabaseServices/Entity/Line";
import { Polyline } from "../DatabaseServices/Entity/Polyline";
interface IOffsetResult {
index: number;
@@ -25,11 +26,16 @@ export declare class CurveTreeNode {
TrimBy(contour: Contour, box: Box3): void;
get Nodes(): this[];
}
export declare enum PolylineJoinType {
Square = 0,
Round = 1
}
export declare class OffsetPolyline {
_Polyline: Polyline;
_OffsetDist: number;
_ToolPath: boolean;
private _OffsetDistSq;
private _JoinType;
_CacheOCS: Matrix4;
_Vertexs: Vector3[];
_SubCurves: Curve[];
@@ -44,7 +50,16 @@ export declare class OffsetPolyline {
_IsClose: boolean;
_OffsetDistSign: number;
_IsTopoOffset: boolean;
constructor(_Polyline: Polyline, _OffsetDist: number, _ToolPath?: boolean, _OffsetDistSq?: number);
/**
*
* @param _Polyline
* @param _OffsetDist
* @param [_ToolPath=false] 走刀模式(在这个模式下,我们会进行圆弧过渡(或者直线过渡)避免尖角过大)
* @param [_OffsetDistSq=(_OffsetDist ** 2) * 2.1] 允许的最大尖角长度 默认值差不多是矩形的尖角大一点
* @param [_JoinType=PolylineJoinType.Round] 尖角的处理方式,默认是圆弧过渡,可以切换成直线过渡
*/
constructor(_Polyline: Polyline, _OffsetDist: number, _ToolPath?: boolean, _OffsetDistSq?: number, //对直角走刀不进行圆弧过度
_JoinType?: PolylineJoinType);
Do(): Polyline[];
InitSubCurves(): this;
protected GeneralCirclesAndVertexs(): void;
@@ -68,6 +83,7 @@ export declare class OffsetPolyline {
CheckPointDir(pt: Vector3): boolean;
GetPointAtCurveDir(pt: Vector3): number;
protected CreateArc(center: Vector3, startP: Vector3, endP?: Vector3): Arc;
protected CreateSquare(center: Vector3, curveNow: IOffsetResult, curveNext: IOffsetResult, entTypeCode: number): Line;
}
export declare function EntityEncode2(c1: Curve, c2: Curve): number;
export declare function CurveIsFine(curve: Curve): boolean;

View File

@@ -1 +1 @@
{"version":3,"file":"OffsetPolyline.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/OffsetPolyline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAK/C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAM/D,UAAU,aAAa;IAEnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;CAC1B;AAED,qBAAa,aAAa;IAQH,KAAK,EAAE,KAAK;IAN/B,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjB,GAAG,EAAE,IAAI,CAAC;IACV,IAAI,EAAE,OAAO,CAAC;IAEd,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI;gBAEnB,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI;IAK3C,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI;IA6ElC,IAAI,KAAK,WAUR;CACJ;AAED,qBAAa,cAAc;IA4BJ,SAAS,EAAE,QAAQ;IAAS,WAAW,EAAE,MAAM;IAAS,SAAS;IAChF,OAAO,CAAC,aAAa;IA1BzB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAGnB,kBAAkB,EAAE,aAAa,EAAE,CAAC;IAEpC,eAAe,EAAE,aAAa,EAAE,CAAC;IAEjC,qBAAqB,EAAE,aAAa,EAAE,CAAC;IAGvC,qBAAqB,EAAE,OAAO,EAAE,CAAC;IACjC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAG5B,UAAU,EAAE,QAAQ,EAAE,CAAC;IAEvB,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IAExB,aAAa,UAAS;gBAEH,SAAS,EAAE,QAAQ,EAAS,WAAW,EAAE,MAAM,EAAS,SAAS,UAAQ,EAChF,aAAa,SAA2B;IAKpD,EAAE,IAAI,QAAQ,EAAE;IAkDhB,aAAa;IAUb,SAAS,CAAC,wBAAwB;IAWlC,SAAS,CAAC,eAAe;IAkBzB,aAAa;IA+Kb;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAQrB,SAAS,CAAC,mBAAmB;IAoK7B,SAAS,CAAC,cAAc;IAqBxB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,aAAa;IAoCrB,OAAO,CAAC,kBAAkB;IAoH1B,OAAO,CAAC,6BAA6B;IAwCrC,aAAa,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO;IAKnC,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM;IA0FvC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO;CAOvE;AAOD,wBAAgB,aAAa,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,UAGjD;AAMD,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,WAIvC"}
{"version":3,"file":"OffsetPolyline.d.ts","sourceRoot":"","sources":["../../../src/GraphicsSystem/OffsetPolyline.ts"],"names":[],"mappings":"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"}

View File

@@ -24,7 +24,7 @@ export declare class FeedingToolPath extends Singleton {
GetModelFeedPath(br: {
Thickness: number;
ContourCurve: ExtrudeContourCurve;
}, modeling: IModeling): Curve[];
}, modeling: IModeling, redundancyKnif?: number): Curve[];
private GrooveAddSize;
/**
* 获取所有的轮廓

View File

@@ -1 +1 @@
{"version":3,"file":"FeedingToolPath.d.ts","sourceRoot":"","sources":["../../../../src/GraphicsSystem/ToolPath/FeedingToolPath.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAYrD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAE1C;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAuJnB,cAAc;IACd,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,UAAQ;IAmBpC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE;IAWpD,gBAAgB,CAAC,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,mBAAmB,CAAC;KAAE,EAAE,QAAQ,EAAE,SAAS,GAAG,KAAK,EAAE;IA8C7G,OAAO,CAAC,aAAa;IA2BrB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAuCnB,aAAa,CAAC,EAAE,EAAE,KAAK;IAkBvB,eAAe,CAAC,EAAE,EAAE,KAAK;IAsBzB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM;CAsInF;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,KAAK;;kBAKT,WAAW;;;kBACP,WAAW;;EAyGzD"}
{"version":3,"file":"FeedingToolPath.d.ts","sourceRoot":"","sources":["../../../../src/GraphicsSystem/ToolPath/FeedingToolPath.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AAEzE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEvE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAYrD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAE1C;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAuJnB,cAAc;IACd,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,UAAQ;IAmBpC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,EAAE;IAWpD,gBAAgB,CAAC,EAAE,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,mBAAmB,CAAC;KAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,SAAI,GAAG,KAAK,EAAE;IA8CjI,OAAO,CAAC,aAAa;IA2BrB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAuCnB,aAAa,CAAC,EAAE,EAAE,KAAK;IAkBvB,eAAe,CAAC,EAAE,EAAE,KAAK;IAsBzB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM;CAsInF;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,KAAK;;kBAKT,WAAW;;;kBACP,WAAW;;EAyGzD"}

View File

@@ -113,7 +113,7 @@ interface IChaiDanFeedingData extends IOriginModelingData {
}
export declare namespace Production {
/**获取板件拆单数据 */
function GetBoardSplitOrderData(br: Board): ISpliteOrderData | undefined;
function GetBoardSplitOrderData(br: Board, redundancyKnif?: number): ISpliteOrderData | undefined;
function ParseSealData(sealData: BrSealedData): ISealingData[];
function GetBoardInfo(br: Board, size: Vector3): IBoardProdInfo;
function GetMetalTotalEntitys(md: HardwareCompositeEntity, isHole?: boolean, filter?: (e: Entity) => boolean): Entity[];
@@ -126,7 +126,7 @@ export declare namespace Production {
* @param br
* @param offsetTanslation
*/
function GetBoardModelingData(br: Board, offsetTanslation: Vector3): {
function GetBoardModelingData(br: Board, offsetTanslation: Vector3, redundancyKnif?: number): {
modeling: IModelingData[];
sideModeling: IModelingData[];
};

View File

@@ -1 +1 @@
{"version":3,"file":"Product.d.ts","sourceRoot":"","sources":["../../../src/Production/Product.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"Product.d.ts","sourceRoot":"","sources":["../../../src/Production/Product.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,OAAO,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAIjE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKvD,OAAO,EAAgB,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAKvF,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAa,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAI/E,OAAO,EAAE,YAAY,EAAyB,MAAM,mCAAmC,CAAC;AAExF,OAAO,EAAe,eAAe,EAAkB,MAAM,iDAAiD,CAAC;AAC/G,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAE7D,OAAO,EAAqC,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGnF,MAAM,WAAW,cAAc;IAE3B,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB;AACD,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,uBAAuB,CAAC;AAGtE,MAAM,WAAW,aAAa;IAE1B,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAE5B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAE3B,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,SAAS,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,UAAU,cAAc;IAEpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IACpC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAC5B,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAExB,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,cAAc,EAAE,CAAC;CAC3B;AACD,MAAM,WAAW,WAAW;IAExB,IAAI,EAAE,cAAc,CAAC;IACrB,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;CACrB;AAED,UAAU;AACV,MAAM,WAAW,gBAAgB;IAE7B,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;KAAE,CAAC;IAC/C,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,WAAW,EAAE,CAAC;IAC1B,UAAU,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAE7B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,IAAI,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAEhC,YAAY,EAAE,eAAe,CAAC;IAC9B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC7B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAEhC,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,mBAAoB,SAAQ,mBAAmB;IAErD,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,yBAAiB,UAAU,CAC3B;IACI,cAAc;IACd,SAAgB,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAE,cAAc,SAAI,GAAG,gBAAgB,GAAG,SAAS,CAqDlG;IAID,SAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE,CA2CpE;IAGD,SAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,GAAG,cAAc,CA0BrE;IAED,SAAgB,oBAAoB,CAAC,EAAE,EAAE,uBAAuB,EAAE,MAAM,UAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,YAqBhH;IAED,SAAgB,0BAA0B,CAAC,EAAE,EAAE,KAAK;;;MAiCnD;IAED;;;;OAIG;IACH,SAAgB,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,cAAc,SAAI;;;MAuD5F;IAGD,SAAgB,YAAY,CAAC,EAAE,EAAE,KAAK;;;;MAyBrC;IAGD,SAAgB,4BAA4B,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CAMvE;IAED,wBAAwB;IACxB,SAAgB,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,GAAG,cAAc,CAsG1H;IAsTD,SAAgB,wBAAwB,CAAC,EAAE,EAAE,uBAAuB,GAAG,mBAAmB,CAsCzF;IAED,SAAgB,sBAAsB,CAAC,EAAE,EAAE,eAAe,yBA0CzD;IAED,YAAY;IACZ,SAAgB,kBAAkB,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,aAAa,CAAC,EAAE;;;;;MAGhE;IAED,SAAgB,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CA4B/D;IACD,SAAgB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,UAAO,YAM/D;IAED,SAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,iBActD;IAED,SAAgB,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,iBA0CtD;IAED,SAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,kBAgB9D;IACD,SAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhD;CACJ"}

View File

@@ -1,4 +1,5 @@
import { BoardOpenDir, BoardType, BrRelativePos } from "../../../DatabaseServices/Entity/BoardInterface";
import { EOrderType } from "../../../Editor/OrderType";
import { RenderType } from "../../../GraphicsSystem/RenderType";
import { BehindHeightPositon, RadioType, ViewDirection } from "./OptionEnum";
export interface IBaseOption {
@@ -200,7 +201,10 @@ export interface IKnifeProps {
angle: number;
}
export interface CommonPanelConfigOption extends IBaseOption {
orderType: string;
orderMap: {
[key: string]: string;
};
orderType: EOrderType;
}
export interface DatalistColumnWidthOption {
name: number;

File diff suppressed because one or more lines are too long