Bitbybit Docs
    Preparing search index...

    Class OCCTEdge

    Arestas em OpenCascade: curvas únicas entre dois vértices, retas, circulares, elípticas ou de forma livre. Construa-as a partir de pontos e linhas, como arcos, círculos e elipses, ou como construções tangentes a círculos; leia-as de volta como pontos, comprimentos, tangentes e centros; e extraia arestas de qualquer forma. As arestas unem-se de ponta a ponta em fios, que shapes.wire trata. Os parâmetros ao longo de uma aresta vão de 0 no seu início a 1 no seu fim; os ângulos estão em graus.

    Index

    Constructors

    constraint

    • Desenha as linhas retas a partir de dois pontos que apenas tocam um círculo, uma linha tangente a partir de cada ponto.

      positionResult mantém as soluções de um lado do círculo ou todas elas, e circleRemainder adiciona o troço do círculo entre os pontos de tangência.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      As linhas tangentes, e o troço do círculo quando pedido

      const tangents = await bitbybit.occt.shapes.edge.constraintTanLinesFromTwoPtsToCircle({
      circle,
      point1: [20, 0, 0],
      point2: [-20, 0, 0],
      tolerance: 1e-7,
      positionResult: Bit.Inputs.OCCT.positionResultEnum.all,
      circleRemainder: Bit.Inputs.OCCT.circleInclusionEnum.none,
      });
    • Desenha as duas linhas retas a partir de um ponto que apenas tocam um círculo.

      positionResult mantém a solução de um lado do círculo ou ambas, e circleRemainder adiciona o troço do círculo entre os pontos de tangência.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      As linhas tangentes, e o troço do círculo quando pedido

      const tangents = await bitbybit.occt.shapes.edge.constraintTanLinesFromPtToCircle({
      circle,
      point: [20, 0, 0],
      tolerance: 1e-7,
      positionResult: Bit.Inputs.OCCT.positionResultEnum.all,
      circleRemainder: Bit.Inputs.OCCT.circleInclusionEnum.none,
      });
    • Desenha as linhas retas que apenas tocam dois círculos ao mesmo tempo, como uma correia à volta de duas polias.

      positionResult mantém as linhas de um lado ou todas elas, e circleRemainders adiciona os troços exteriores ou interiores dos círculos entre os pontos de tangência, o que completa a forma de correia.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      As linhas tangentes, e os troços dos círculos quando pedidos

      const belt = await bitbybit.occt.shapes.edge.constraintTanLinesOnTwoCircles({
      circle1,
      circle2,
      tolerance: 1e-7,
      positionResult: Bit.Inputs.OCCT.positionResultEnum.all,
      circleRemainders: Bit.Inputs.OCCT.twoCircleInclusionEnum.outside,
      });

    debug

    • Recolhe factos de diagnóstico sobre a curva de uma aresta: o seu tipo e grau, contagens de pontos de controlo e de nós, se é racional, periódica ou fechada, o seu intervalo de parâmetro e período, o seu comprimento e os seus pontos de extremidade.

      Parameters

      Returns Promise<EdgeDebugInfo>

      O relatório sobre a curva da aresta

      const info = await bitbybit.occt.shapes.edge.debugInfo({ shape: edge });
      

    extract

    • Encontra o ponto a uma fração do caminho ao longo de uma aresta: 0 é o início, 1 o fim, 0.5 o meio do intervalo de parâmetro.

      A fração segue o parâmetro próprio da curva, que numa curva de forma livre não está uniformemente distribuído por comprimento; use pointOnEdgeAtLength para uma distância.

      Parameters

      Returns Promise<Point3>

      O ponto na aresta

      const middle = await bitbybit.occt.shapes.edge.pointOnEdgeAtParam({ shape: edge, param: 0.5 });
      
    • Transforma cada aresta de uma forma numa sequência de pontos que segue a sua curva de perto o suficiente para a desenhar, uma lista por aresta.

      As definições de deflexão dizem quão apertados os pontos abraçam as arestas curvas; as arestas de um fio vêm pela sua ordem ao longo do fio.

      Parameters

      Returns Promise<Point3[][]>

      Uma lista de pontos por aresta

      const polylines = await bitbybit.occt.shapes.edge.edgesToPoints({
      shape: wire,
      angularDeflection: 0.1,
      curvatureDeflection: 0.1,
      minimumOfPoints: 2,
      uTolerance: 1e-9,
      minimumLength: 1e-7,
      });
    • Encontra a direção em que a aresta segue a uma fração do caminho ao longo dela, de 0 no início a 1 no fim.

      Parameters

      Returns Promise<Vector3>

      A direção da tangente

      const tangent = await bitbybit.occt.shapes.edge.tangentOnEdgeAtParam({ shape: arc, param: 0.5 });
      
    • Encontra a direção em que cada aresta de uma lista segue à mesma fração ao longo dela.

      Parameters

      Returns Promise<Point3[]>

      Uma tangente por aresta, pela mesma ordem

      const tangents = await bitbybit.occt.shapes.edge.tangentsOnEdgesAtParam({ shapes: edges, param: 0.5 });
      
    • Encontra o ponto a uma dada distância ao longo de uma aresta a partir do seu início, medida ao longo da curva em unidades do modelo.

      Parameters

      Returns Promise<Point3>

      O ponto na aresta

      const point = await bitbybit.occt.shapes.edge.pointOnEdgeAtLength({ shape: edge, length: 2.5 });
      
    • Encontra o ponto à mesma distância do início ao longo de cada aresta de uma lista.

      Parameters

      Returns Promise<Point3[]>

      Um ponto por aresta, pela mesma ordem

      const points = await bitbybit.occt.shapes.edge.pointsOnEdgesAtLength({ shapes: edges, length: 2.5 });
      
    • Encontra a direção em que a aresta segue a uma dada distância ao longo dela a partir do seu início, medida ao longo da curva.

      Parameters

      Returns Promise<Vector3>

      A direção da tangente

      const tangent = await bitbybit.occt.shapes.edge.tangentOnEdgeAtLength({ shape: arc, length: 2.5 });
      
    • Encontra a direção em que cada aresta de uma lista segue à mesma distância do seu início.

      Parameters

      Returns Promise<Vector3[]>

      Uma tangente por aresta, pela mesma ordem

      const tangents = await bitbybit.occt.shapes.edge.tangentsOnEdgesAtLength({ shapes: edges, length: 2.5 });
      
    • Lê o ponto onde uma aresta começa, na direção própria da aresta.

      Parameters

      Returns Promise<Point3>

      O ponto inicial

      const start = await bitbybit.occt.shapes.edge.startPointOnEdge({ shape: edge });
      
    • Lê o ponto inicial de cada aresta de uma lista.

      Parameters

      Returns Promise<Point3[]>

      Um ponto inicial por aresta, pela mesma ordem

      const starts = await bitbybit.occt.shapes.edge.startPointsOnEdges({ shapes: edges });
      
    • Lê o ponto onde uma aresta termina, na direção própria da aresta.

      Parameters

      Returns Promise<Point3>

      O ponto final

      const end = await bitbybit.occt.shapes.edge.endPointOnEdge({ shape: edge });
      
    • Lê o ponto final de cada aresta de uma lista.

      Parameters

      Returns Promise<Point3[]>

      Um ponto final por aresta, pela mesma ordem

      const ends = await bitbybit.occt.shapes.edge.endPointsOnEdges({ shapes: edges });
      
    • Coloca pontos ao longo de uma aresta em passos iguais do seu parâmetro, do início ao fim.

      nrOfDivisions passos dão mais um ponto do que isso; removeStartPoint e removeEndPoint retiram as extremidades. Numa curva de forma livre passos iguais de parâmetro não são distâncias iguais; use divideEdgeByEqualDistanceToPoints para essas.

      Parameters

      Returns Promise<Point3[]>

      Os pontos ao longo da aresta, por ordem

      const points = await bitbybit.occt.shapes.edge.divideEdgeByParamsToPoints({ shape: edge, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Coloca pontos ao longo de cada aresta de uma lista em passos iguais do seu parâmetro, uma lista por aresta.

      Parameters

      Returns Promise<Point3[][]>

      Uma lista de pontos por aresta, pela mesma ordem

      const points = await bitbybit.occt.shapes.edge.divideEdgesByParamsToPoints({ shapes: edges, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Coloca pontos ao longo de uma aresta a distâncias iguais medidas ao longo da sua curva, do início ao fim.

      nrOfDivisions passos dão mais um ponto do que isso; removeStartPoint e removeEndPoint retiram as extremidades.

      Parameters

      Returns Promise<Point3[]>

      Os pontos ao longo da aresta, por ordem

      const points = await bitbybit.occt.shapes.edge.divideEdgeByEqualDistanceToPoints({ shape: edge, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Coloca pontos ao longo de cada aresta de uma lista a distâncias iguais ao longo da sua curva, uma lista por aresta.

      Parameters

      Returns Promise<Point3[][]>

      Uma lista de pontos por aresta, pela mesma ordem

      const points = await bitbybit.occt.shapes.edge.divideEdgesByEqualDistanceToPoints({ shapes: edges, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      

    from

    from base

    • Cria uma aresta reta a partir de um objeto linha da forma { start, end }.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta reta

      const edge = await bitbybit.occt.shapes.edge.fromBaseLine({ line: { start: [0, 0, 0], end: [10, 0, 0] } });
      
    • Cria uma aresta reta por objeto linha da forma { start, end }.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Uma aresta por linha, pela mesma ordem

      const edges = await bitbybit.occt.shapes.edge.fromBaseLines({ lines: [{ start: [0, 0, 0], end: [10, 0, 0] }, { start: [10, 0, 0], end: [10, 10, 0] }] });
      
    • Cria uma aresta reta a partir de um segmento, um par de pontos [start, end].

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta reta

      const edge = await bitbybit.occt.shapes.edge.fromBaseSegment({ segment: [[0, 0, 0], [10, 0, 0]] });
      
    • Cria uma aresta reta por segmento, cada um um par de pontos [start, end].

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Uma aresta por segmento, pela mesma ordem

      const edges = await bitbybit.occt.shapes.edge.fromBaseSegments({ segments: [[[0, 0, 0], [10, 0, 0]], [[10, 0, 0], [10, 10, 0]]] });
      
    • Une cada ponto ao seguinte com uma aresta reta, de modo que uma lista de pontos se torna uma cadeia de arestas.

      As arestas são devolvidas soltas; shapes.wire.createPolylineWire cria diretamente o fio unido.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Uma aresta por par de pontos vizinhos

      const edges = await bitbybit.occt.shapes.edge.fromPoints({ points: [[0, 0, 0], [10, 0, 0], [10, 10, 0]] });
      
    • Cria uma aresta reta por segmento de um objeto polilinha; uma polilinha fechada recebe também a aresta do seu último ponto de volta ao primeiro.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Uma aresta por segmento, por ordem

      const edges = await bitbybit.occt.shapes.edge.fromBasePolyline({ polyline: { points: [[0, 0, 0], [10, 0, 0], [10, 10, 0]], isClosed: true } });
      
    • Cria as três arestas retas de um triângulo dado como três pontos.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      As suas três arestas

      const edges = await bitbybit.occt.shapes.edge.fromBaseTriangle({ triangle: [[0, 0, 0], [10, 0, 0], [0, 10, 0]] });
      
    • Cria as três arestas retas de cada triângulo de uma malha, todas numa só lista plana.

      Um triângulo cujas arestas não possam ser construídas é saltado com um aviso em vez de parar o resto.

      Parameters

      • inputs: MeshBaseDto

        A malha como uma lista de triângulos

      Returns Promise<TopoDSEdgePointer[]>

      As arestas de todos os triângulos

      const edges = await bitbybit.occt.shapes.edge.fromBaseMesh({ mesh: triangles });
      

    get

    • Escolhe uma aresta de uma forma pela sua posição, a contar de 0, pela ordem em que o kernel percorre a forma.

      A forma tem de ser uma aresta, um fio ou algo construído a partir deles; um índice para lá da última aresta lança um erro.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta nesse índice

      const first = await bitbybit.occt.shapes.edge.getEdge({ shape: wire, index: 0 });
      
    • Lista todas as arestas de uma forma pela ordem em que o kernel a percorre, que não é a ordem ao longo de um fio; use getEdgesAlongWire para isso.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      As arestas encontradas na forma

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      
    • Lista as arestas de um fio pela ordem em que se seguem umas às outras ao longo dele, cada uma orientada para correr na direção do fio.

      Uma aresta única é devolvida como uma lista de um elemento.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      As suas arestas por ordem ao longo do fio

      const ordered = await bitbybit.occt.shapes.edge.getEdgesAlongWire({ shape: wire });
      
    • Lista só as arestas circulares de um fio, pela ordem em que se seguem umas às outras ao longo dele.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      As suas arestas circulares por ordem

      const arcs = await bitbybit.occt.shapes.edge.getCircularEdgesAlongWire({ shape: roundedRectangle });
      
    • Lista só as arestas retas de um fio, pela ordem em que se seguem umas às outras ao longo dele.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      As suas arestas retas por ordem

      const straights = await bitbybit.occt.shapes.edge.getLinearEdgesAlongWire({ shape: roundedRectangle });
      
    • Lista os pontos de extremidade de todas as arestas de uma forma, com as repetições removidas, de modo que um canto onde várias arestas se encontram aparece uma vez.

      Os pontos vêm sem ordem em particular.

      Parameters

      Returns Promise<Point3[]>

      Os pontos extremos únicos das arestas

      const corners = await bitbybit.occt.shapes.edge.getCornerPointsOfEdgesForShape({ shape: box });
      
    • Mede o comprimento de uma aresta ao longo da sua curva, em unidades do modelo.

      Parameters

      Returns Promise<number>

      O comprimento

      const len = await bitbybit.occt.shapes.edge.getEdgeLength({ shape: edge });
      
    • Mede todas as arestas de uma forma ao longo da sua curva, em unidades do modelo.

      Parameters

      Returns Promise<number[]>

      Um comprimento por aresta, pela ordem em que getEdges as lista

      const lengths = await bitbybit.occt.shapes.edge.getEdgeLengthsOfShape({ shape: box });
      
    • Mede cada aresta de uma lista ao longo da sua curva, em unidades do modelo.

      Parameters

      Returns Promise<number[]>

      Um comprimento por aresta, pela mesma ordem

      const lengths = await bitbybit.occt.shapes.edge.getEdgesLengths({ shapes: edges });
      
    • Encontra o centro de massa de uma aresta, o ponto de equilíbrio da sua curva; para uma aresta reta é o seu ponto médio, para um arco um ponto dentro da curva.

      Parameters

      Returns Promise<Point3>

      O ponto do centro de massa

      const center = await bitbybit.occt.shapes.edge.getEdgeCenterOfMass({ shape: edge });
      
    • Encontra o centro de massa de cada aresta de uma lista.

      Parameters

      Returns Promise<Point3[]>

      Um ponto por aresta, pela mesma ordem

      const centers = await bitbybit.occt.shapes.edge.getEdgesCentersOfMass({ shapes: edges });
      

    get circular edge

    • Encontra o centro do círculo em que uma aresta circular assenta.

      Uma aresta que não seja circular lança um erro.

      Parameters

      Returns Promise<Point3>

      O ponto central

      const center = await bitbybit.occt.shapes.edge.getCircularEdgeCenterPoint({ shape: arc });
      
    • Lê o raio do círculo em que uma aresta circular assenta.

      Uma aresta que não seja circular lança um erro.

      Parameters

      Returns Promise<number>

      O raio em unidades do modelo

      const radius = await bitbybit.occt.shapes.edge.getCircularEdgeRadius({ shape: arc });
      
    • Lê a normal do plano em que uma aresta circular assenta.

      Uma aresta que não seja circular lança um erro.

      Parameters

      Returns Promise<Vector3>

      A normal unitária do plano do círculo

      const normal = await bitbybit.occt.shapes.edge.getCircularEdgePlaneDirection({ shape: arc });
      

    is

    • Indica se uma aresta é uma linha reta.

      Parameters

      Returns Promise<boolean>

      True quando a aresta é reta

      const straight = await bitbybit.occt.shapes.edge.isEdgeLinear({ shape: edge });
      
    • Indica se uma aresta assenta num círculo, seja um círculo completo ou um arco.

      Parameters

      Returns Promise<boolean>

      True quando a aresta é circular

      const round = await bitbybit.occt.shapes.edge.isEdgeCircular({ shape: edge });
      

    primitives

    • Cria uma aresta reta entre dois pontos, a aresta mais simples que existe.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta reta

      const edge = await bitbybit.occt.shapes.edge.line({ start: [0, 0, 0], end: [10, 0, 0] });
      
    • Cria um arco circular que começa no primeiro ponto, passa pelo do meio e termina no último.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta em arco

      const arc = await bitbybit.occt.shapes.edge.arcThroughThreePoints({ start: [0, 0, 0], middle: [5, 5, 0], end: [10, 0, 0] });
      
    • Cria um arco circular de um ponto para outro que sai do primeiro ponto numa dada direção.

      A tangente fixa o plano e o raio do arco.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta em arco

      const arc = await bitbybit.occt.shapes.edge.arcThroughTwoPointsAndTangent({ start: [0, 0, 0], tangentVec: [0, 1, 0], end: [10, 0, 0] });
      
    • Recorta um arco de uma aresta de círculo entre dois pontos sobre ela.

      sense escolhe em que sentido à volta do círculo o arco corre do primeiro ponto para o segundo.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta em arco

      const arc = await bitbybit.occt.shapes.edge.arcFromCircleAndTwoPoints({ circle, start: [10, 0, 0], end: [0, 0, 10], sense: true });
      
    • Recorta um arco de uma aresta de círculo entre dois ângulos, em graus, medidos à volta do círculo a partir do seu próprio início.

      sense escolhe em que sentido à volta do círculo o arco corre do primeiro ângulo para o segundo.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta em arco

      const quarter = await bitbybit.occt.shapes.edge.arcFromCircleAndTwoAngles({ circle, alphaAngle1: 0, alphaAngle2: 90, sense: true });
      
    • Recorta um arco de uma aresta de círculo que começa num ponto sobre o círculo e abrange um dado ângulo, em graus.

      sense escolhe em que sentido à volta do círculo o arco corre.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta em arco

      const arc = await bitbybit.occt.shapes.edge.arcFromCirclePointAndAngle({ circle, point: [10, 0, 0], alphaAngle: 45, sense: true });
      
    • Cria um círculo completo como uma só aresta fechada, assente no plano cuja normal é direction.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta circular

      const circle = await bitbybit.occt.shapes.edge.createCircleEdge({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Cria uma elipse completa como uma só aresta fechada, assente no plano cuja normal é direction.

      radiusMajor não pode ser menor do que radiusMinor, ou o kernel recusa a elipse.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      A aresta elíptica

      const ellipse = await bitbybit.occt.shapes.edge.createEllipseEdge({ center: [0, 0, 0], direction: [0, 1, 0], radiusMinor: 3, radiusMajor: 6 });
      

    rebuild

    • Reconstrói a curva de uma aresta como uma B-spline de um dado grau, dentro de uma tolerância.

      Baixar o grau simplifica a curva, subi-lo dá mais liberdade às operações posteriores; de qualquer modo a nova curva fica dentro de tolerance da antiga.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Uma nova aresta com a curva reconstruída

      const simpler = await bitbybit.occt.shapes.edge.rebuildEdgeDegree({ shape: edge, degree: 3, tolerance: 1e-3 });
      

    seam

    • Move a costura de uma aresta periódica fechada, o ponto onde começa e termina, para um dado parâmetro ao longo da curva.

      A geometria não muda; só onde se considera que a aresta começa.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Uma nova aresta que começa na costura

      const rotated = await bitbybit.occt.shapes.edge.moveEdgeSeamByParameter({ shape: circle, parameter: 1.57 });
      
    • Move a costura de uma aresta periódica fechada, o ponto onde começa e termina, uma distância ao longo da curva a partir do seu início atual.

      A geometria não muda; só onde se considera que a aresta começa.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Uma nova aresta que começa na costura

      const rotated = await bitbybit.occt.shapes.edge.moveEdgeSeamByLength({ shape: circle, length: 2.5 });
      

    shapes

    • Funde faces que assentam na mesma superfície e arestas na mesma curva, o que remove as costuras internas que uma operação booleana ou uma fusão deixa.

      É shapes.shape.unifySameDomain com arestas e faces ambas unificadas e as B-splines deixadas como estão.

      Parameters

      Returns Promise<TopoDSShapePointer>

      A forma sem costuras internas

      const clean = await bitbybit.occt.shapes.edge.removeInternalEdges({ shape: fused });