Bitbybit Docs
    Preparing search index...

    Class OCCTFillets

    Arredondar e chanfrar as arestas de formas OpenCascade: um arredondamento substitui uma aresta viva por uma superfície arredondada de um dado raio, um chanfro por um bisel plano de uma dada distância. As arestas são escolhidas por índice a começar em 0 pela ordem em que shapes.edge.getEdges as lista, ou passadas diretamente; os contornos planos e as faces são arredondados nos seus cantos com fillet2d, cujos índices de cantos começam em 1. Um raio que não cabe, por exemplo maior do que uma face vizinha, faz o kernel falhar, por isso comece pequeno. Cada método devolve uma nova forma.

    Index

    Constructors

    2d fillets

    • Arredonda os cantos de um fio ou face planos com arcos de um dado raio.

      Sem indexes todos os cantos são arredondados com radius. Com indexes, a contar de 1 ao longo do contorno, só esses cantos são arredondados, cada um com radius ou a entrada correspondente de radiusList, com o comprimento de indexes. Fios com arestas de forma livre usam fillet3DWire.

      Parameters

      Returns Promise<TopoDSShapePointer>

      O fio ou a face arredondados

      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] });
    • Arredonda os cantos de vários fios ou faces planos, tal como fillet2d faz para um, com o mesmo raio e índices de cantos para todos.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Os fios ou as faces arredondados, pela mesma ordem

      const rounded = await bitbybit.occt.fillets.fillet2dShapes({ shapes: [rectangleA, rectangleB], radius: 1 });
      
    • Une duas arestas que assentam num só plano com um arco de arredondamento com o raio dado, aparando as arestas para o encontrarem, e devolve os três troços como um só fio.

      O plano é dado por planeOrigin e planeDirection, a sua normal. Quando vários arcos cabem, solution escolhe um por índice; -1 escolhe o mais próximo de planeOrigin.

      Parameters

      Returns Promise<TopoDSWirePointer>

      O fio formado pela primeira aresta, o arco e a segunda aresta

      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

    • Chanfra as arestas de uma forma por uma distância, em unidades do modelo, cortando cada aresta viva numa faixa plana.

      Sem indexes todas as arestas são chanfradas com distance. Com indexes, a contar de 0 pela ordem em que shapes.edge.getEdges as lista, só essas arestas são chanfradas, cada uma com distance ou a entrada correspondente de distanceList, pela ordem das arestas.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com arestas chanfradas

      const beveled = await bitbybit.occt.fillets.chamferEdges({ shape: box, distance: 1 });
      
    • Chanfra as arestas dadas de uma forma, cada uma pela sua própria distância.

      As arestas têm de pertencer à forma; distanceList emparelha com elas por posição e tem de ter o mesmo comprimento, ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com arestas chanfradas

      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] });
    • Chanfra uma aresta de uma forma com um chanfro desigual: distance1 é medida em face, uma das duas faces que se encontram na aresta, e distance2 na outra.

      A face decide que lado recebe que distância; troque-as para inverter o chanfro.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com a aresta chanfrada

      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 });
    • Chanfra várias arestas de uma forma, cada uma com o seu próprio chanfro desigual: para cada aresta distances1 é medida na sua face emparelhada e distances2 na outra face.

      faces, distances1 e distances2 emparelham com edges por posição e têm todas de ter o mesmo comprimento, ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com arestas chanfradas

      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],
      });
    • Chanfra várias arestas de uma forma pela mesma distância e ângulo, a distância medida na face emparelhada de cada aresta e o ângulo em graus a partir dela.

      faces emparelha com edges por posição e tem de ter o mesmo comprimento, ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com arestas chanfradas

      const beveled = await bitbybit.occt.fillets.chamferEdgesDistAngle({ shape: box, edges: [edges[0], edges[1]], faces: [faces[0], faces[0]], distance: 1, angle: 30 });
      
    • Chanfra várias arestas de uma forma, cada uma pela sua própria distância e ângulo, a distância medida na face emparelhada da aresta e o ângulo em graus a partir dela.

      faces, distances e angles emparelham com edges por posição e têm todas de ter o mesmo comprimento, ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com arestas chanfradas

      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

    • Arredonda as arestas de uma forma com um raio de arredondamento, em unidades do modelo.

      Sem indexes todas as arestas são arredondadas com radius. Com indexes, a contar de 0 pela ordem em que shapes.edge.getEdges as lista, só essas arestas são arredondadas, cada uma com radius ou a entrada correspondente de radiusList, emparelhada com as arestas selecionadas pela ordem das arestas.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com arestas arredondadas

      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] });
    • Arredonda as arestas dadas de uma forma, cada uma com o seu próprio raio.

      As arestas têm de pertencer à forma; radiusList emparelha com elas por posição e tem de ter o mesmo comprimento, ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com arestas arredondadas

      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] });
    • Arredonda uma aresta de uma forma com um raio que muda ao longo dela.

      paramsU são posições ao longo da aresta como frações de 0 no seu início a 1 no seu fim, e radiusList dá o raio em cada uma; o kernel faz uma transição suave entre elas. As duas listas têm de ter o mesmo comprimento, ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com a aresta arredondada

      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] });
    • Arredonda várias arestas de uma forma, cada uma com o mesmo perfil de raio que muda ao longo dela.

      paramsU são posições ao longo de cada aresta como frações de 0 a 1 e radiusList o raio em cada uma; as listas têm de ter o mesmo comprimento, ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com as arestas arredondadas

      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] });
    • Arredonda várias arestas de uma forma, cada uma com o seu próprio perfil de raio que muda ao longo dela.

      radiusLists e paramsULists contêm uma lista por aresta, pela ordem das arestas; dentro de cada par as posições são frações de 0 a 1 ao longo da aresta e os raios aplicam-se aí. As três listas têm de ter o mesmo comprimento, ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma com as arestas arredondadas

      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]],
      });
    • Arredonda os cantos de um fio que não assenta num só plano.

      O kernel não tem arredondamento direto de fios 3D, por isso o fio é extrudido ao longo de direction numa casca, a casca é arredondada e o fio arredondado é lido de volta a partir dela; direction não pode ser paralela ao fio e tem de deixar espaço para os arredondamentos.

      Parameters

      Returns Promise<TopoDSShapePointer>

      O fio arredondado

      const rounded = await bitbybit.occt.fillets.fillet3DWire({ shape: zigzagWire, radius: 0.5, direction: [0, 5, 0] });
      
    • Arredonda os cantos de vários fios que não assentam num só plano, tal como fillet3DWire faz para um, com o mesmo raio, índices e direção para todos.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Os fios arredondados, pela mesma ordem

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