Bitbybit Docs
    Preparing search index...

    Class OCCTFillets

    Arrondir et chanfreiner les arêtes des formes OpenCascade : un congé remplace une arête vive par une surface arrondie d'un rayon donné, un chanfrein par un biseau plat d'une distance donnée. Les arêtes sont choisies par index à partir de 0 dans l'ordre où shapes.edge.getEdges les liste, ou passées directement ; les contours et faces plans sont arrondis à leurs coins avec fillet2d, dont les index de coins commencent à 1. Un rayon qui ne rentre pas, par exemple plus grand qu'une face voisine, fait échouer le noyau, donc commencez petit. Chaque méthode renvoie une nouvelle forme.

    Index

    Constructors

    2d fillets

    • Arrondit les coins d'un fil ou d'une face plane avec des arcs d'un rayon donné.

      Sans indexes, chaque coin est arrondi avec radius. Avec indexes, comptés à partir de 1 le long du contour, seuls ces coins sont arrondis, chacun avec radius ou l'entrée correspondante de radiusList, de la longueur de indexes. Les fils à arêtes libres utilisent fillet3DWire.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Le fil ou la face arrondi

      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] });
    • Arrondit les coins de plusieurs fils ou faces planes, comme fillet2d le fait pour un seul, avec le même rayon et les mêmes index de coin pour tous.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Les fils ou faces arrondis, dans le même ordre

      const rounded = await bitbybit.occt.fillets.fillet2dShapes({ shapes: [rectangleA, rectangleB], radius: 1 });
      
    • Relie deux arêtes situées dans un même plan par un arc d'arrondi du rayon donné, en limitant les arêtes pour le rejoindre, et renvoie les trois morceaux en un seul fil.

      Le plan est donné par planeOrigin et planeDirection, sa normale. Quand plusieurs arcs conviennent, solution en choisit un par index ; -1 prend le plus proche de planeOrigin.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil formé de la première arête, de l'arc et de la seconde arête

      const corner = await bitbybit.occt.fillets.filletTwoEdgesInPlaneIntoAWire({
      edge1: horizontal,
      edge2: vertical,
      planeOrigin: [0, 0, 0],
      planeDirection: [0, 1, 0],
      radius: 1,
      solution: -1,
      });

    3d chamfers

    • Chanfreine les arêtes d'une forme d'une distance, en unités du modèle, en rabattant chaque arête vive en une bande plate.

      Sans indexes, chaque arête est chanfreinée avec distance. Avec indexes, comptés à partir de 0 dans l'ordre où shapes.edge.getEdges les liste, seules ces arêtes sont chanfreinées, chacune avec distance ou l'entrée correspondante de distanceList, dans l'ordre des arêtes.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec les arêtes chanfreinées

      const beveled = await bitbybit.occt.fillets.chamferEdges({ shape: box, distance: 1 });
      
    • Chanfreine les arêtes données d'une forme, chacune de sa propre distance.

      Les arêtes doivent appartenir à la forme ; distanceList s'apparie à elles par position et doit avoir la même longueur, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec les arêtes chanfreinées

      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] });
    • Chanfreine une arête d'une forme avec un chanfrein inégal : distance1 est mesurée sur face, l'une des deux faces qui se rejoignent à l'arête, et distance2 sur l'autre.

      La face décide quel côté reçoit quelle distance ; échangez-les pour retourner le chanfrein.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec l'arête chanfreinée

      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 });
    • Chanfreine plusieurs arêtes d'une forme avec le même chanfrein inégal : distance1 est mesurée sur la face associée de chaque arête et distance2 sur l'autre face.

      faces s'apparie à edges par position et doit avoir la même longueur, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec les arêtes chanfreinées

      const beveled = await bitbybit.occt.fillets.chamferEdgesTwoDistances({ shape: box, edges: [edges[0], edges[1]], faces: [faces[0], faces[0]], distance1: 1, distance2: 2 });
      
    • Chanfreine plusieurs arêtes d'une forme, chacune avec son propre chanfrein inégal : pour chaque arête, distances1 est mesurée sur sa face associée et distances2 sur l'autre face.

      faces, distances1 et distances2 s'apparient à edges par position et doivent toutes avoir la même longueur, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec les arêtes chanfreinées

      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],
      });
    • Chanfreine plusieurs arêtes d'une forme de la même distance et du même angle, la distance mesurée sur la face associée de chaque arête et l'angle en degrés par rapport à elle.

      faces s'apparie à edges par position et doit avoir la même longueur, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec les arêtes chanfreinées

      const beveled = await bitbybit.occt.fillets.chamferEdgesDistAngle({ shape: box, edges: [edges[0], edges[1]], faces: [faces[0], faces[0]], distance: 1, angle: 30 });
      
    • Chanfreine plusieurs arêtes d'une forme, chacune de sa propre distance et de son propre angle, la distance mesurée sur la face associée de l'arête et l'angle en degrés par rapport à elle.

      faces, distances et angles s'apparient à edges par position et doivent toutes avoir la même longueur, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec les arêtes chanfreinées

      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

    • Arrondit les arêtes d'une forme avec un rayon de congé, en unités du modèle.

      Sans indexes, chaque arête est arrondie avec radius. Avec indexes, comptés à partir de 0 dans l'ordre où shapes.edge.getEdges les liste, seules ces arêtes sont arrondies, chacune avec radius ou l'entrée correspondante de radiusList, appariée aux arêtes sélectionnées dans l'ordre des arêtes.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec les arêtes arrondies

      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] });
    • Arrondit les arêtes données d'une forme, chacune avec son propre rayon.

      Les arêtes doivent appartenir à la forme ; radiusList s'apparie à elles par position et doit avoir la même longueur, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec les arêtes arrondies

      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] });
    • Arrondit une arête d'une forme avec un rayon qui change le long d'elle.

      paramsU sont des positions le long de l'arête en fractions de 0 à son début à 1 à sa fin, et radiusList donne le rayon à chacune ; le noyau fait une transition lisse entre elles. Les deux listes doivent avoir la même longueur, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec l'arête arrondie

      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] });
    • Arrondit plusieurs arêtes d'une forme, chacune avec le même profil de rayon qui change le long d'elle.

      paramsU sont des positions le long de chaque arête en fractions de 0 à 1 et radiusList le rayon à chacune ; les listes doivent avoir la même longueur, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec les arêtes arrondies

      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] });
    • Arrondit plusieurs arêtes d'une forme, chacune avec son propre profil de rayon qui change le long d'elle.

      radiusLists et paramsULists contiennent une liste par arête, dans l'ordre des arêtes ; dans chaque paire, les positions sont des fractions de 0 à 1 le long de l'arête et les rayons s'y appliquent. Les trois listes doivent avoir la même longueur, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme avec les arêtes arrondies

      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]],
      });
    • Arrondit les coins d'un fil qui ne se trouve pas dans un seul plan.

      Le noyau n'a pas de congé direct pour les fils 3D, le fil est donc extrudé le long de direction en une coque, la coque reçoit les congés et le fil arrondi est relu dessus ; direction ne doit pas être parallèle au fil et doit laisser de la place pour les congés.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Le fil arrondi

      const rounded = await bitbybit.occt.fillets.fillet3DWire({ shape: zigzagWire, radius: 0.5, direction: [0, 5, 0] });
      
    • Arrondit les coins de plusieurs fils qui ne se trouvent pas dans un seul plan, comme fillet3DWire le fait pour un seul, avec le même rayon, les mêmes index et la même direction pour tous.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Les fils arrondis, dans le même ordre

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