Bitbybit Docs
    Preparing search index...

    Class OCCTEdge

    Aristas en OpenCascade: curvas únicas entre dos vértices, rectas, circulares, elípticas o de forma libre. Constrúyelas a partir de puntos y líneas, como arcos, círculos y elipses, o como construcciones tangentes contra círculos; léelas de vuelta como puntos, longitudes, tangentes y centros; y extrae aristas de cualquier forma. Las aristas se unen extremo con extremo en alambres, de los que se ocupa shapes.wire. Los parámetros a lo largo de una arista van de 0 en su inicio a 1 en su final; los ángulos están en grados.

    Index

    Constructors

    constraint

    • Dibuja las líneas rectas desde dos puntos que apenas tocan un círculo, una línea tangente desde cada punto.

      positionResult conserva las soluciones de un lado del círculo o todas ellas, y circleRemainder añade el trozo del círculo entre los puntos de tangencia.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Las líneas tangentes, y el trozo de círculo cuando se pide

      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,
      });
    • Dibuja las dos líneas rectas desde un punto que apenas tocan un círculo.

      positionResult conserva la solución de un lado del círculo o ambas, y circleRemainder añade el trozo del círculo entre los puntos de tangencia.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Las líneas tangentes, y el trozo de círculo cuando se pide

      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,
      });
    • Dibuja las líneas rectas que apenas tocan dos círculos a la vez, como una correa alrededor de dos poleas.

      positionResult conserva las líneas de un lado o todas ellas, y circleRemainders añade los trozos exteriores o interiores de los círculos entre los puntos de tangencia, lo que completa la forma de correa.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Las líneas tangentes, y los trozos de círculo cuando se piden

      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

    • Recopila datos de diagnóstico sobre la curva de una arista: su tipo y grado, el número de puntos de control y de nodos, si es racional, periódica o cerrada, su rango de parámetro y su periodo, su longitud y sus puntos extremos.

      Parameters

      Returns Promise<EdgeDebugInfo>

      El informe sobre la curva de la arista

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

    extract

    • Encuentra el punto a una fracción del recorrido de una arista: 0 es el inicio, 1 el final, 0.5 el medio del rango de parámetro.

      La fracción sigue el parámetro propio de la curva, que para una curva de forma libre no se reparte uniformemente por longitud; usa pointOnEdgeAtLength para una distancia.

      Parameters

      Returns Promise<Point3>

      El punto en la arista

      const middle = await bitbybit.occt.shapes.edge.pointOnEdgeAtParam({ shape: edge, param: 0.5 });
      
    • Encuentra el punto a la misma fracción a lo largo de cada arista de una lista.

      Parameters

      Returns Promise<Point3[]>

      Un punto por arista, en el mismo orden

      const middles = await bitbybit.occt.shapes.edge.pointsOnEdgesAtParam({ shapes: edges, param: 0.5 });
      
    • Convierte cada arista de una forma en una serie de puntos que sigue su curva lo bastante de cerca para dibujarla, una lista por arista.

      Los ajustes de desviación dicen cuán ceñidos siguen los puntos las aristas curvas; las aristas de un alambre vienen en su orden a lo largo del alambre.

      Parameters

      Returns Promise<Point3[][]>

      Una lista de puntos por arista

      const polylines = await bitbybit.occt.shapes.edge.edgesToPoints({
      shape: wire,
      angularDeflection: 0.1,
      curvatureDeflection: 0.1,
      minimumOfPoints: 2,
      uTolerance: 1e-9,
      minimumLength: 1e-7,
      });
    • Encuentra la dirección en la que avanza la arista a una fracción de su recorrido, de 0 en el inicio a 1 en el final.

      Parameters

      Returns Promise<Vector3>

      La dirección tangente

      const tangent = await bitbybit.occt.shapes.edge.tangentOnEdgeAtParam({ shape: arc, param: 0.5 });
      
    • Encuentra la dirección en la que avanza cada arista de una lista a la misma fracción de su recorrido.

      Parameters

      Returns Promise<Point3[]>

      Una tangente por arista, en el mismo orden

      const tangents = await bitbybit.occt.shapes.edge.tangentsOnEdgesAtParam({ shapes: edges, param: 0.5 });
      
    • Encuentra el punto a una distancia dada a lo largo de una arista desde su inicio, medida a lo largo de la curva en unidades del modelo.

      Parameters

      Returns Promise<Point3>

      El punto en la arista

      const point = await bitbybit.occt.shapes.edge.pointOnEdgeAtLength({ shape: edge, length: 2.5 });
      
    • Encuentra el punto a la misma distancia desde el inicio a lo largo de cada arista de una lista.

      Parameters

      Returns Promise<Point3[]>

      Un punto por arista, en el mismo orden

      const points = await bitbybit.occt.shapes.edge.pointsOnEdgesAtLength({ shapes: edges, length: 2.5 });
      
    • Encuentra la dirección en la que avanza la arista a una distancia dada a lo largo de ella desde su inicio, medida a lo largo de la curva.

      Parameters

      Returns Promise<Vector3>

      La dirección tangente

      const tangent = await bitbybit.occt.shapes.edge.tangentOnEdgeAtLength({ shape: arc, length: 2.5 });
      
    • Encuentra la dirección en la que avanza cada arista de una lista a la misma distancia desde su inicio.

      Parameters

      Returns Promise<Vector3[]>

      Una tangente por arista, en el mismo orden

      const tangents = await bitbybit.occt.shapes.edge.tangentsOnEdgesAtLength({ shapes: edges, length: 2.5 });
      
    • Lee el punto donde empieza una arista, en la dirección propia de la arista.

      Parameters

      Returns Promise<Point3>

      El punto inicial

      const start = await bitbybit.occt.shapes.edge.startPointOnEdge({ shape: edge });
      
    • Lee el punto inicial de cada arista de una lista.

      Parameters

      Returns Promise<Point3[]>

      Un punto inicial por arista, en el mismo orden

      const starts = await bitbybit.occt.shapes.edge.startPointsOnEdges({ shapes: edges });
      
    • Lee el punto donde termina una arista, en la dirección propia de la arista.

      Parameters

      Returns Promise<Point3>

      El punto final

      const end = await bitbybit.occt.shapes.edge.endPointOnEdge({ shape: edge });
      
    • Lee el punto final de cada arista de una lista.

      Parameters

      Returns Promise<Point3[]>

      Un punto final por arista, en el mismo orden

      const ends = await bitbybit.occt.shapes.edge.endPointsOnEdges({ shapes: edges });
      
    • Coloca puntos a lo largo de una arista a pasos iguales de su parámetro, del inicio al final.

      nrOfDivisions pasos dan un punto más que eso; removeStartPoint y removeEndPoint descartan los extremos. En una curva de forma libre los pasos iguales de parámetro no son distancias iguales; usa divideEdgeByEqualDistanceToPoints para esas.

      Parameters

      Returns Promise<Point3[]>

      Los puntos a lo largo de la arista, en orden

      const points = await bitbybit.occt.shapes.edge.divideEdgeByParamsToPoints({ shape: edge, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Coloca puntos a lo largo de cada arista de una lista a pasos iguales de su parámetro, una lista por arista.

      Parameters

      Returns Promise<Point3[][]>

      Una lista de puntos por arista, en el mismo orden

      const points = await bitbybit.occt.shapes.edge.divideEdgesByParamsToPoints({ shapes: edges, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Coloca puntos a lo largo de una arista a distancias iguales medidas a lo largo de su curva, del inicio al final.

      nrOfDivisions pasos dan un punto más que eso; removeStartPoint y removeEndPoint descartan los extremos.

      Parameters

      Returns Promise<Point3[]>

      Los puntos a lo largo de la arista, en orden

      const points = await bitbybit.occt.shapes.edge.divideEdgeByEqualDistanceToPoints({ shape: edge, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Coloca puntos a lo largo de cada arista de una lista a distancias iguales a lo largo de su curva, una lista por arista.

      Parameters

      Returns Promise<Point3[][]>

      Una lista de puntos por arista, en el mismo orden

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

    from

    from base

    • Hace una arista recta a partir de un objeto de línea de la forma { start, end }.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista recta

      const edge = await bitbybit.occt.shapes.edge.fromBaseLine({ line: { start: [0, 0, 0], end: [10, 0, 0] } });
      
    • Hace una arista recta por cada objeto de línea de la forma { start, end }.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Una arista por línea, en el mismo orden

      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] }] });
      
    • Hace una arista recta a partir de un segmento, un par de puntos [start, end].

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista recta

      const edge = await bitbybit.occt.shapes.edge.fromBaseSegment({ segment: [[0, 0, 0], [10, 0, 0]] });
      
    • Hace una arista recta por cada segmento, cada uno un par de puntos [start, end].

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Una arista por segmento, en el mismo orden

      const edges = await bitbybit.occt.shapes.edge.fromBaseSegments({ segments: [[[0, 0, 0], [10, 0, 0]], [[10, 0, 0], [10, 10, 0]]] });
      
    • Une cada punto con el siguiente mediante una arista recta, de modo que una lista de puntos se convierte en una cadena de aristas.

      Las aristas se devuelven sueltas; shapes.wire.createPolylineWire hace directamente el alambre unido.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Una arista por cada par de puntos vecinos

      const edges = await bitbybit.occt.shapes.edge.fromPoints({ points: [[0, 0, 0], [10, 0, 0], [10, 10, 0]] });
      
    • Hace una arista recta por cada segmento de un objeto de polilínea; una polilínea cerrada recibe también la arista de su último punto de vuelta al primero.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Una arista por segmento, en orden

      const edges = await bitbybit.occt.shapes.edge.fromBasePolyline({ polyline: { points: [[0, 0, 0], [10, 0, 0], [10, 10, 0]], isClosed: true } });
      
    • Hace las tres aristas rectas de un triángulo dado como tres puntos.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Sus tres aristas

      const edges = await bitbybit.occt.shapes.edge.fromBaseTriangle({ triangle: [[0, 0, 0], [10, 0, 0], [0, 10, 0]] });
      
    • Hace las tres aristas rectas de cada triángulo de una malla, todas en una sola lista plana.

      Un triángulo cuyas aristas no pueden construirse se salta con un aviso en lugar de detener el resto.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Las aristas de todos los triángulos

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

    get

    • Elige una arista de una forma por su posición, contando desde 0, en el orden en que el núcleo recorre la forma.

      La forma debe ser una arista, un alambre o algo construido a partir de ellos; un índice más allá de la última arista lanza un error.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista en ese índice

      const first = await bitbybit.occt.shapes.edge.getEdge({ shape: wire, index: 0 });
      
    • Lista cada arista de una forma en el orden en que la recorre el núcleo, que no es el orden a lo largo de un alambre; usa getEdgesAlongWire para eso.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Las aristas encontradas en la forma

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      
    • Lista las aristas de un alambre en el orden en que se siguen unas a otras a lo largo de él, cada una orientada para ir en la dirección del alambre.

      Una sola arista se devuelve como una lista de un elemento.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Sus aristas en orden a lo largo del alambre

      const ordered = await bitbybit.occt.shapes.edge.getEdgesAlongWire({ shape: wire });
      
    • Lista solo las aristas circulares de un alambre, en el orden en que se siguen unas a otras a lo largo de él.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Sus aristas circulares en orden

      const arcs = await bitbybit.occt.shapes.edge.getCircularEdgesAlongWire({ shape: roundedRectangle });
      
    • Lista solo las aristas rectas de un alambre, en el orden en que se siguen unas a otras a lo largo de él.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Sus aristas rectas en orden

      const straights = await bitbybit.occt.shapes.edge.getLinearEdgesAlongWire({ shape: roundedRectangle });
      
    • Lista los puntos extremos de cada arista de una forma, con las repeticiones eliminadas, de modo que una esquina donde se encuentran varias aristas aparece una vez.

      Los puntos vienen sin ningún orden concreto.

      Parameters

      Returns Promise<Point3[]>

      Los puntos extremos únicos de las aristas

      const corners = await bitbybit.occt.shapes.edge.getCornerPointsOfEdgesForShape({ shape: box });
      
    • Mide la longitud de una arista a lo largo de su curva, en unidades del modelo.

      Parameters

      Returns Promise<number>

      La longitud

      const len = await bitbybit.occt.shapes.edge.getEdgeLength({ shape: edge });
      
    • Mide cada arista de una forma a lo largo de su curva, en unidades del modelo.

      Parameters

      Returns Promise<number[]>

      Una longitud por arista, en el orden en que getEdges las enumera

      const lengths = await bitbybit.occt.shapes.edge.getEdgeLengthsOfShape({ shape: box });
      
    • Mide cada arista de una lista a lo largo de su curva, en unidades del modelo.

      Parameters

      Returns Promise<number[]>

      Una longitud por arista, en el mismo orden

      const lengths = await bitbybit.occt.shapes.edge.getEdgesLengths({ shapes: edges });
      
    • Encuentra el centro de masas de una arista, el punto de equilibrio de su curva; para una arista recta es su punto medio, para un arco un punto dentro de la curva.

      Parameters

      Returns Promise<Point3>

      El punto del centro de masas

      const center = await bitbybit.occt.shapes.edge.getEdgeCenterOfMass({ shape: edge });
      
    • Encuentra el centro de masas de cada arista de una lista.

      Parameters

      Returns Promise<Point3[]>

      Un punto por arista, en el mismo orden

      const centers = await bitbybit.occt.shapes.edge.getEdgesCentersOfMass({ shapes: edges });
      
    • Invierte la dirección de una arista, de modo que su inicio se convierte en su final.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Una nueva arista que recorre el sentido contrario

      const back = await bitbybit.occt.shapes.edge.reversedEdge({ shape: edge });
      

    get circular edge

    • Encuentra el centro del círculo sobre el que está una arista circular.

      Una arista que no es circular lanza un error.

      Parameters

      Returns Promise<Point3>

      El punto central

      const center = await bitbybit.occt.shapes.edge.getCircularEdgeCenterPoint({ shape: arc });
      
    • Lee el radio del círculo sobre el que está una arista circular.

      Una arista que no es circular lanza un error.

      Parameters

      Returns Promise<number>

      El radio en unidades del modelo

      const radius = await bitbybit.occt.shapes.edge.getCircularEdgeRadius({ shape: arc });
      
    • Lee la normal del plano en el que está una arista circular.

      Una arista que no es circular lanza un error.

      Parameters

      Returns Promise<Vector3>

      La normal unitaria del plano del círculo

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

    is

    • Indica si una arista es una línea recta.

      Parameters

      Returns Promise<boolean>

      True cuando la arista es recta

      const straight = await bitbybit.occt.shapes.edge.isEdgeLinear({ shape: edge });
      
    • Indica si una arista está sobre un círculo, ya sea un círculo completo o un arco.

      Parameters

      Returns Promise<boolean>

      True cuando la arista es circular

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

    primitives

    • Hace una arista recta entre dos puntos, la arista más simple que existe.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista recta

      const edge = await bitbybit.occt.shapes.edge.line({ start: [0, 0, 0], end: [10, 0, 0] });
      
    • Hace un arco circular que empieza en el primer punto, pasa por el del medio y termina en el último.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista de arco

      const arc = await bitbybit.occt.shapes.edge.arcThroughThreePoints({ start: [0, 0, 0], middle: [5, 5, 0], end: [10, 0, 0] });
      
    • Hace un arco circular de un punto a otro que sale del primer punto en una dirección dada.

      La tangente fija el plano y el radio del arco.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista de arco

      const arc = await bitbybit.occt.shapes.edge.arcThroughTwoPointsAndTangent({ start: [0, 0, 0], tangentVec: [0, 1, 0], end: [10, 0, 0] });
      
    • Recorta un arco de una arista circular entre dos puntos sobre ella.

      sense elige en qué sentido alrededor del círculo va el arco del primer punto al segundo.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista de arco

      const arc = await bitbybit.occt.shapes.edge.arcFromCircleAndTwoPoints({ circle, start: [10, 0, 0], end: [0, 0, 10], sense: true });
      
    • Recorta un arco de una arista circular entre dos ángulos, en grados, medidos alrededor del círculo desde su propio inicio.

      sense elige en qué sentido alrededor del círculo va el arco del primer ángulo al segundo.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista de arco

      const quarter = await bitbybit.occt.shapes.edge.arcFromCircleAndTwoAngles({ circle, alphaAngle1: 0, alphaAngle2: 90, sense: true });
      
    • Recorta un arco de una arista circular que empieza en un punto del círculo y abarca un ángulo dado, en grados.

      sense elige en qué sentido alrededor del círculo va el arco.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista de arco

      const arc = await bitbybit.occt.shapes.edge.arcFromCirclePointAndAngle({ circle, point: [10, 0, 0], alphaAngle: 45, sense: true });
      
    • Hace un círculo completo como una sola arista cerrada, situada en el plano cuya normal es direction.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista circular

      const circle = await bitbybit.occt.shapes.edge.createCircleEdge({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Hace una elipse completa como una sola arista cerrada, situada en el plano cuya normal es direction.

      radiusMajor no debe ser menor que radiusMinor, o el núcleo rechaza la elipse.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      La arista elíptica

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

    rebuild

    • Reconstruye la curva de una arista como una B-spline de un grado dado, dentro de una tolerancia.

      Bajar el grado simplifica la curva, subirlo da más libertad a las operaciones posteriores; en cualquier caso la curva nueva se queda dentro de tolerance respecto a la antigua.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Una nueva arista con la curva reconstruida

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

    seam

    • Mueve la costura de una arista periódica cerrada, el punto donde empieza y termina, a un parámetro dado a lo largo de la curva.

      La geometría no cambia; solo dónde se considera que empieza la arista.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Una nueva arista que empieza en la costura

      const rotated = await bitbybit.occt.shapes.edge.moveEdgeSeamByParameter({ shape: circle, parameter: 1.57 });
      
    • Mueve la costura de una arista periódica cerrada, el punto donde empieza y termina, una distancia a lo largo de la curva desde su inicio actual.

      La geometría no cambia; solo dónde se considera que empieza la arista.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Una nueva arista que empieza en la costura

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

    shapes

    • Fusiona las caras que están sobre la misma superficie y las aristas sobre la misma curva, lo que elimina las costuras internas que deja una booleana o una fusión.

      Es shapes.shape.unifySameDomain con aristas y caras unificadas ambas y las B-splines dejadas como están.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forma sin costuras internas

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