Bitbybit Docs
    Preparing search index...

    Class OCCTFillets

    Redondear y achaflanar las aristas de formas de OpenCascade: un redondeo sustituye una arista viva por una superficie redondeada de un radio dado, un chaflán por un bisel plano de una distancia dada. Las aristas se eligen por índice, empezando en 0, en el orden en que shapes.edge.getEdges las enumera, o se pasan directamente; los contornos y caras planos se redondean en sus esquinas con fillet2d, cuyos índices de esquina empiezan en 1. Un radio que no cabe, por ejemplo mayor que una cara vecina, hace que el núcleo falle, así que empieza con valores pequeños. Cada método devuelve una forma nueva.

    Index

    Constructors

    2d fillets

    • Redondea las esquinas de un alambre o cara planos con arcos de un radio dado.

      Sin indexes todas las esquinas se redondean con radius. Con indexes, contados desde 1 a lo largo del contorno, solo se redondean esas esquinas, cada una con radius o la entrada correspondiente de radiusList, de la longitud de indexes. Los alambres con aristas de forma libre usan fillet3DWire.

      Parameters

      Returns Promise<TopoDSShapePointer>

      El alambre o la cara redondeados

      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] });
    • Redondea las esquinas de varios alambres o caras planos, como hace fillet2d con uno, con el mismo radio e índices de esquina para todos.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Los alambres o las caras redondeados, en el mismo orden

      const rounded = await bitbybit.occt.fillets.fillet2dShapes({ shapes: [rectangleA, rectangleB], radius: 1 });
      
    • Une dos aristas que están en un mismo plano con un arco de redondeo del radio dado, recortando las aristas para que lo encuentren, y devuelve las tres piezas como un solo alambre.

      El plano lo dan planeOrigin y planeDirection, su normal. Cuando caben varios arcos, solution elige uno por índice; -1 toma el más cercano a planeOrigin.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre formado por la primera arista, el arco y la segunda arista

      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

    • Achaflana las aristas de una forma según una distancia, en unidades del modelo, recortando cada arista afilada hasta una banda plana.

      Sin indexes todas las aristas se achaflanan con distance. Con indexes, contados desde 0 en el orden en que shapes.edge.getEdges las lista, solo se achaflanan esas aristas, cada una con distance o la entrada correspondiente de distanceList, en el orden de las aristas.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con las aristas achaflanadas

      const beveled = await bitbybit.occt.fillets.chamferEdges({ shape: box, distance: 1 });
      
    • Achaflana las aristas dadas de una forma, cada una según su propia distancia.

      Las aristas deben pertenecer a la forma; distanceList se empareja con ellas por posición y debe tener la misma longitud, o se lanza un error.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con las aristas achaflanadas

      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] });
    • Achaflana una arista de una forma con un chaflán desigual: distance1 se mide sobre face, una de las dos caras que se encuentran en la arista, y distance2 sobre la otra.

      La cara decide qué lado recibe qué distancia; intercámbialas para invertir el chaflán.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con la arista achaflanada

      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 });
    • Achaflana varias aristas de una forma, cada una con su propio chaflán desigual: para cada arista distances1 se mide sobre su cara emparejada y distances2 sobre la otra cara.

      faces, distances1 y distances2 se emparejan con edges por posición y deben tener todas la misma longitud, o se lanza un error.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con las aristas achaflanadas

      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],
      });
    • Achaflana varias aristas de una forma según la misma distancia y ángulo, la distancia medida sobre la cara emparejada de cada arista y el ángulo en grados desde ella.

      faces se empareja con edges por posición y debe tener la misma longitud, o se lanza un error.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con las aristas achaflanadas

      const beveled = await bitbybit.occt.fillets.chamferEdgesDistAngle({ shape: box, edges: [edges[0], edges[1]], faces: [faces[0], faces[0]], distance: 1, angle: 30 });
      
    • Achaflana varias aristas de una forma, cada una según su propia distancia y ángulo, la distancia medida sobre la cara emparejada de la arista y el ángulo en grados desde ella.

      faces, distances y angles se emparejan con edges por posición y deben tener todas la misma longitud, o se lanza un error.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con las aristas achaflanadas

      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

    • Redondea las aristas de una forma con un radio de redondeo, en unidades del modelo.

      Sin indexes todas las aristas se redondean con radius. Con indexes, contados desde 0 en el orden en que shapes.edge.getEdges las lista, solo se redondean esas aristas, cada una con radius o la entrada correspondiente de radiusList, emparejada con las aristas seleccionadas en el orden de las aristas.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con las aristas redondeadas

      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] });
    • Redondea las aristas dadas de una forma, cada una con su propio radio.

      Las aristas deben pertenecer a la forma; radiusList se empareja con ellas por posición y debe tener la misma longitud, o se lanza un error.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con las aristas redondeadas

      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] });
    • Redondea una arista de una forma con un radio que cambia a lo largo de ella.

      paramsU son posiciones a lo largo de la arista como fracciones de 0 en su inicio a 1 en su final, y radiusList da el radio en cada una; el núcleo interpola suavemente entre ellas. Las dos listas deben tener la misma longitud, o se lanza un error.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con la arista redondeada

      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] });
    • Redondea varias aristas de una forma, cada una con el mismo perfil de radio que cambia a lo largo de ella.

      paramsU son posiciones a lo largo de cada arista como fracciones de 0 a 1 y radiusList el radio en cada una; las listas deben tener la misma longitud, o se lanza un error.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con las aristas redondeadas

      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] });
    • Redondea varias aristas de una forma, cada una con su propio perfil de radio que cambia a lo largo de ella.

      radiusLists y paramsULists contienen una lista por arista, en el orden de las aristas; dentro de cada par las posiciones son fracciones de 0 a 1 a lo largo de la arista y los radios se aplican ahí. Las tres listas deben tener la misma longitud, o se lanza un error.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma con las aristas redondeadas

      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]],
      });
    • Redondea las esquinas de un alambre que no está en un mismo plano.

      El núcleo no tiene un redondeo directo de alambres 3D, así que el alambre se extruye a lo largo de direction hasta una carcasa, la carcasa se redondea y el alambre redondeado se lee de vuelta de ella; direction no debe ser paralela al alambre y debe dejar sitio para los redondeos.

      Parameters

      • inputs: Fillet3DWireDto<TopoDSShapePointer>

        El alambre, el radio o la lista de radios, los índices de esquina opcionales, empezando en 0, y la dirección de extrusión

      Returns Promise<TopoDSShapePointer>

      El alambre redondeado

      const rounded = await bitbybit.occt.fillets.fillet3DWire({ shape: zigzagWire, radius: 0.5, direction: [0, 5, 0] });
      
    • Redondea las esquinas de varios alambres que no están en un mismo plano, como hace fillet3DWire con uno, con el mismo radio, índices y dirección para todos.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Los alambres redondeados, en el mismo orden

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