UNPKG

@bitbybit-dev/occt

Version:

Bit By Bit Developers CAD algorithms using OpenCascade Technology kernel. Run in Node and in Browser.

93 lines (92 loc) 3.34 kB
export class OCCTFillets { constructor(occ, och) { this.occ = occ; this.och = och; } filletEdges(inputs) { return this.och.filletsService.filletEdges(inputs); } filletEdgesList(inputs) { return this.och.filletsService.filletEdgesList(inputs); } filletEdgesListOneRadius(inputs) { return this.och.filletsService.filletEdgesListOneRadius(inputs); } filletEdgeVariableRadius(inputs) { return this.och.filletsService.filletEdgeVariableRadius(inputs); } filletEdgesVariableRadius(inputs) { return this.och.filletsService.filletEdgesVariableRadius(inputs); } filletEdgesSameVariableRadius(inputs) { return this.och.filletsService.filletEdgesSameVariableRadius(inputs); } chamferEdges(inputs) { return this.och.filletsService.chamferEdges(inputs); } chamferEdgesList(inputs) { return this.och.filletsService.chamferEdgesList(inputs); } chamferEdgeDistAngle(inputs) { return this.och.filletsService.chamferEdgeDistAngle(inputs); } chamferEdgesDistAngle(inputs) { return this.och.filletsService.chamferEdgesDistAngle(inputs); } chamferEdgesDistsAngles(inputs) { return this.och.filletsService.chamferEdgesDistsAngles(inputs); } chamferEdgeTwoDistances(inputs) { return this.och.filletsService.chamferEdgeTwoDistances(inputs); } chamferEdgesTwoDistances(inputs) { return this.och.filletsService.chamferEdgesTwoDistances(inputs); } chamferEdgesTwoDistancesLists(inputs) { return this.och.filletsService.chamferEdgesTwoDistancesLists(inputs); } filletTwoEdgesInPlaneIntoAWire(inputs) { const pln = this.och.entitiesService.gpPln(inputs.planeOrigin, inputs.planeDirection); const fil = new this.occ.ChFi2d_FilletAlgo_3(inputs.edge1, inputs.edge2, pln); fil.Perform(inputs.radius); const pt = this.och.entitiesService.gpPnt(inputs.planeOrigin); const edge1 = new this.occ.TopoDS_Edge(); const edge2 = new this.occ.TopoDS_Edge(); let solution = -1; if (inputs.solution !== undefined) { solution = inputs.solution; } const filletedEdge = fil.Result(pt, edge1, edge2, solution); const result = this.och.converterService.combineEdgesAndWiresIntoAWire({ shapes: [edge1, filletedEdge, edge2] }); fil.delete(); pt.delete(); pln.delete(); edge1.delete(); edge2.delete(); filletedEdge.delete(); return result; } fillet3DWires(inputs) { return inputs.shapes.map(shape => this.och.filletsService.fillet3DWire({ shape, radius: inputs.radius, radiusList: inputs.radiusList, indexes: inputs.indexes, direction: inputs.direction })); } fillet3DWire(inputs) { return this.och.filletsService.fillet3DWire(inputs); } fillet2d(inputs) { return this.och.filletsService.fillet2d(inputs); } fillet2dShapes(inputs) { return inputs.shapes.map(shape => this.och.filletsService.fillet2d({ shape, radius: inputs.radius, radiusList: inputs.radiusList, indexes: inputs.indexes })); } }