功能:矩形槽走刀支持刀路冗余

This commit is contained in:
ChenX
2023-12-13 11:56:37 +08:00
parent a6c14af39c
commit 2b6cb2fd72
10 changed files with 37 additions and 37 deletions

View File

@@ -35,7 +35,7 @@ export declare class OffsetPolyline {
_OffsetDist: number;
_ToolPath: boolean;
private _OffsetDistSq;
private JoinType;
private _JoinType;
_CacheOCS: Matrix4;
_Vertexs: Vector3[];
_SubCurves: Curve[];
@@ -56,10 +56,10 @@ export declare class OffsetPolyline {
* @param _OffsetDist
* @param [_ToolPath=false] 走刀模式(在这个模式下,我们会进行圆弧过渡(或者直线过渡)避免尖角过大)
* @param [_OffsetDistSq=(_OffsetDist ** 2) * 2.1] 允许的最大尖角长度 默认值差不多是矩形的尖角大一点
* @param [JoinType=PolylineJoinType.Round] 尖角的处理方式,默认是圆弧过渡,可以切换成直线过渡
* @param [_JoinType=PolylineJoinType.Round] 尖角的处理方式,默认是圆弧过渡,可以切换成直线过渡
*/
constructor(_Polyline: Polyline, _OffsetDist: number, _ToolPath?: boolean, _OffsetDistSq?: number, //对直角走刀不进行圆弧过度
JoinType?: PolylineJoinType);
_JoinType?: PolylineJoinType);
Do(): Polyline[];
InitSubCurves(): this;
protected GeneralCirclesAndVertexs(): void;

View File

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