Bitbybit Docs
    Bereite Suchindex vor...

    Klasse OCCTFillets

    Verrunden und Anfasen der Kanten von OpenCascade-Formen: eine Verrundung ersetzt eine scharfe Kante durch eine gerundete Oberfläche mit gegebenem Radius, eine Fase durch eine ebene Schräge mit gegebenem Abstand. Kanten werden per 0-basiertem Index in der Reihenfolge gewählt, in der shapes.edge.getEdges sie auflistet, oder direkt übergeben; ebene Umrisse und Flächen werden an ihren Ecken mit fillet2d verrundet, dessen Eckenindizes bei 1 beginnen. Ein Radius, der nicht passt, etwa größer als eine benachbarte Fläche, lässt den Kernel scheitern, also fangen Sie klein an. Jede Methode gibt eine neue Form zurück.

    Index

    Konstruktoren

    2d fillets

    • Verrundet die Ecken eines ebenen Drahts oder einer ebenen Fläche mit Bögen eines gegebenen Radius.

      Ohne indexes wird jede Ecke mit radius verrundet. Mit indexes, gezählt ab 1 entlang des Umrisses, werden nur diese Ecken verrundet, jede mit radius oder dem passenden Eintrag von radiusList, so lang wie indexes. Drähte mit Freiformkanten verwenden fillet3DWire.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Der verrundete Draht oder die verrundete Fläche

      const rectangle = await bitbybit.occt.shapes.wire.createRectangleWire({ width: 10, length: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      const rounded = await bitbybit.occt.fillets.fillet2d({ shape: rectangle, radius: 1 });
      const twoCorners = await bitbybit.occt.fillets.fillet2d({ shape: rectangle, radiusList: [1, 2], indexes: [1, 3] });
    • Verrundet die Ecken mehrerer ebener Drähte oder Flächen, wie fillet2d es für eine tut, mit demselben Radius und denselben Eckenindizes für alle.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer[]>

      Die verrundeten Drähte oder Flächen, in derselben Reihenfolge

      const rounded = await bitbybit.occt.fillets.fillet2dShapes({ shapes: [rectangleA, rectangleB], radius: 1 });
      
    • Verbindet zwei Kanten, die in einer Ebene liegen, mit einem Verrundungsbogen des gegebenen Radius, trimmt die Kanten, damit sie ihn treffen, und gibt die drei Stücke als einen Draht zurück.

      Die Ebene ist durch planeOrigin und planeDirection, ihre Normale, gegeben. Wenn mehrere Bögen passen, wählt solution einen nach Index; -1 nimmt den planeOrigin nächsten.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der Draht aus erster Kante, Bogen und zweiter Kante

      const corner = await bitbybit.occt.fillets.filletTwoEdgesInPlaneIntoAWire({
      edge1: horizontal,
      edge2: vertical,
      planeOrigin: [0, 0, 0],
      planeDirection: [0, 1, 0],
      radius: 1,
      solution: -1,
      });
    • Fast die Ecken eines ebenen Drahts oder einer ebenen Fläche an: jede Ecke wird um distance entlang einer Kante zurückgeschnitten, unter angle Grad zu ihr.

      Ohne indexes wird jede Ecke angefast; mit ihnen, gezählt ab 1 entlang des Umrisses, nur diese Ecken.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer | TopoDSFacePointer>

      Der angefaste Draht oder die angefaste Fläche

      const beveled = await bitbybit.occt.fillets.chamfer2dVertices({ shape: rectangle, distance: 1, angle: 45, indexes: [1, 3] });
      

    3d chamfers

    • Fast die Kanten einer Form um einen Abstand an, in Modelleinheiten, und schneidet jede scharfe Kante zu einem flachen Streifen zurück.

      Ohne indexes wird jede Kante mit distance angefast. Mit indexes, gezählt ab 0 in der Reihenfolge, in der shapes.edge.getEdges sie auflistet, werden nur diese Kanten angefast, jede mit distance oder dem passenden Eintrag von distanceList, in Kantenreihenfolge.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit angefasten Kanten

      const beveled = await bitbybit.occt.fillets.chamferEdges({ shape: box, distance: 1 });
      
    • Fast die gegebenen Kanten einer Form an, jede um ihren eigenen Abstand.

      Die Kanten müssen zur Form gehören; distanceList ist ihnen positionsweise zugeordnet und muss gleich lang sein, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit angefasten Kanten

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const beveled = await bitbybit.occt.fillets.chamferEdgesList({ shape: box, edges: [edges[0], edges[1]], distanceList: [1, 2] });
    • Fast eine Kante einer Form mit einer ungleichen Fase an: distance1 wird auf face gemessen, einer der beiden Flächen, die an der Kante zusammentreffen, und distance2 auf der anderen.

      Die Fläche entscheidet, welche Seite welchen Abstand erhält; vertauschen Sie sie, um die Fase umzukehren.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit der angefasten Kante

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const faces = await bitbybit.occt.shapes.face.getFaces({ shape: box });
      const beveled = await bitbybit.occt.fillets.chamferEdgeTwoDistances({ shape: box, edge: edges[0], face: faces[0], distance1: 1, distance2: 2 });
    • Fast mehrere Kanten einer Form mit derselben ungleichen Fase an: distance1 wird auf der zugeordneten Fläche jeder Kante gemessen und distance2 auf der anderen Fläche.

      faces ist edges positionsweise zugeordnet und muss gleich lang sein, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit angefasten Kanten

      const beveled = await bitbybit.occt.fillets.chamferEdgesTwoDistances({ shape: box, edges: [edges[0], edges[1]], faces: [faces[0], faces[0]], distance1: 1, distance2: 2 });
      
    • Fast mehrere Kanten einer Form an, jede mit ihrer eigenen ungleichen Fase: für jede Kante wird distances1 auf ihrer zugeordneten Fläche gemessen und distances2 auf der anderen Fläche.

      faces, distances1 und distances2 sind edges positionsweise zugeordnet und müssen alle gleich lang sein, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit angefasten Kanten

      const beveled = await bitbybit.occt.fillets.chamferEdgesTwoDistancesLists({
      shape: box,
      edges: [edges[0], edges[1]],
      faces: [faces[0], faces[0]],
      distances1: [1, 0.5],
      distances2: [2, 1],
      });
    • Fast eine Kante einer Form um einen auf face gemessenen Abstand und einen Winkel in Grad von dieser Fläche an.

      Die Fase beginnt distance von der Kante entfernt auf der gegebenen Fläche und verlässt sie unter angle; 45 Grad ergeben eine gleichmäßige Fase.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit der angefasten Kante

      const beveled = await bitbybit.occt.fillets.chamferEdgeDistAngle({ shape: box, edge: edges[0], face: faces[0], distance: 1, angle: 30 });
      
    • Fast mehrere Kanten einer Form um denselben Abstand und Winkel an, der Abstand gemessen auf der zugeordneten Fläche jeder Kante und der Winkel in Grad von ihr aus.

      faces ist edges positionsweise zugeordnet und muss gleich lang sein, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit angefasten Kanten

      const beveled = await bitbybit.occt.fillets.chamferEdgesDistAngle({ shape: box, edges: [edges[0], edges[1]], faces: [faces[0], faces[0]], distance: 1, angle: 30 });
      
    • Fast mehrere Kanten einer Form an, jede um ihren eigenen Abstand und Winkel, der Abstand gemessen auf der zugeordneten Fläche der Kante und der Winkel in Grad von ihr aus.

      faces, distances und angles sind edges positionsweise zugeordnet und müssen alle gleich lang sein, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit angefasten Kanten

      const beveled = await bitbybit.occt.fillets.chamferEdgesDistsAngles({
      shape: box,
      edges: [edges[0], edges[1]],
      faces: [faces[0], faces[0]],
      distances: [1, 0.5],
      angles: [30, 60],
      });

    3d fillets

    • Verrundet die Kanten einer Form mit einem Verrundungsradius, in Modelleinheiten.

      Ohne indexes wird jede Kante mit radius verrundet. Mit indexes, gezählt ab 0 in der Reihenfolge, in der shapes.edge.getEdges sie auflistet, werden nur diese Kanten verrundet, jede mit radius oder dem passenden Eintrag von radiusList, den gewählten Kanten in Kantenreihenfolge zugeordnet.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit verrundeten Kanten

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 20, height: 5, center: [0, 0, 0] });
      const rounded = await bitbybit.occt.fillets.filletEdges({ shape: box, radius: 1 });
      const twoEdges = await bitbybit.occt.fillets.filletEdges({ shape: box, radiusList: [1, 2], indexes: [0, 3] });
    • Verrundet die gegebenen Kanten einer Form, jede mit ihrem eigenen Radius.

      Die Kanten müssen zur Form gehören; radiusList ist ihnen positionsweise zugeordnet und muss gleich lang sein, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit verrundeten Kanten

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const rounded = await bitbybit.occt.fillets.filletEdgesList({ shape: box, edges: [edges[0], edges[1]], radiusList: [1, 2] });
    • Verrundet eine Kante einer Form mit einem Radius, der sich entlang der Kante ändert.

      paramsU sind Positionen entlang der Kante als Anteile von 0 an ihrem Anfang bis 1 an ihrem Ende, und radiusList gibt den Radius an jeder; der Kernel überblendet glatt dazwischen. Die beiden Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit der verrundeten Kante

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const tapered = await bitbybit.occt.fillets.filletEdgeVariableRadius({ shape: box, edge: edges[0], radiusList: [0.5, 2, 0.5], paramsU: [0, 0.5, 1] });
    • Verrundet mehrere Kanten einer Form, jede mit demselben Radiusprofil, das sich entlang der Kante ändert.

      paramsU sind Positionen entlang jeder Kante als Anteile von 0 bis 1 und radiusList der Radius an jeder; die Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit den verrundeten Kanten

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const tapered = await bitbybit.occt.fillets.filletEdgesSameVariableRadius({ shape: box, edges: [edges[0], edges[2]], radiusList: [0.5, 2, 0.5], paramsU: [0, 0.5, 1] });
    • Verrundet mehrere Kanten einer Form, jede mit ihrem eigenen Radiusprofil, das sich entlang der Kante ändert.

      radiusLists und paramsULists enthalten eine Liste pro Kante, in Kantenreihenfolge; innerhalb jedes Paars sind die Positionen Anteile von 0 bis 1 entlang der Kante und die Radien gelten dort. Alle drei Listen müssen gleich lang sein, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Die Form mit den verrundeten Kanten

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      const tapered = await bitbybit.occt.fillets.filletEdgesVariableRadius({
      shape: box,
      edges: [edges[0], edges[2]],
      radiusLists: [[0.5, 2], [2, 0.5]],
      paramsULists: [[0, 1], [0, 1]],
      });
    • Verrundet die Ecken eines Drahts, der nicht in einer Ebene liegt.

      Der Kernel hat keine direkte 3D-Drahtverrundung, daher wird der Draht entlang direction zu einer Schale extrudiert, die Schale verrundet und der verrundete Draht davon zurückgelesen; direction darf nicht parallel zum Draht sein und muss Platz für die Verrundungen lassen.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer>

      Der verrundete Draht

      const rounded = await bitbybit.occt.fillets.fillet3DWire({ shape: zigzagWire, radius: 0.5, direction: [0, 5, 0] });
      
    • Verrundet die Ecken mehrerer Drähte, die nicht in einer Ebene liegen, wie fillet3DWire es für einen tut, mit demselben Radius, denselben Indizes und derselben Richtung für alle.

      Parameter

      Rückgabewert Promise<TopoDSShapePointer[]>

      Die verrundeten Drähte, in derselben Reihenfolge

      const rounded = await bitbybit.occt.fillets.fillet3DWires({ shapes: [wireA, wireB], radius: 0.5, direction: [0, 5, 0] });