Bitbybit Docs
    Preparing search index...

    Class OCCTWire

    Alambres en OpenCascade: cadenas de aristas unidas extremo con extremo, abiertas como un camino o cerradas como un contorno. Constrúyelos a partir de puntos y curvas (polilíneas, B-splines, Beziers, interpolaciones, hélices, espirales), como contornos planos ya hechos (círculos, rectángulos, estrellas, perfiles de viga, texto) que se apoyan en el plano del suelo a menos que direction diga otra cosa, o uniendo y dividiendo aristas y alambres existentes; léelos de vuelta como puntos, tangentes, longitudes y centros; proyéctalos sobre caras o sobre formas. Los parámetros a lo largo de un alambre van de 0 en su inicio a 1 en su final y siguen el parámetro propio de cada arista, no la distancia. Un alambre cerrado es lo que shapes.face rellena para crear una cara.

    Index

    Constructors

    beam profiles

    build

    debug

    edit

    extract

    extract from wires

    from base

    get

    multiple

    place

    primitives

    rebuild

    seam

    via points

    via wires

    Constructors

    beam profiles

    • Hace el contorno cerrado de la sección transversal de una viga en I: dos alas horizontales unidas por un alma vertical.

      width es la anchura del ala, height la altura total, webThickness y flangeThickness los grosores de pared; alignment dice qué punto de la caja del perfil se sitúa en center, rotation lo gira en su plano, en grados. Está en el suelo, listo para extruir.

      Parameters

      • inputs: IBeamProfileDto

        El tamaño del perfil, los dos espesores, la alineación, la rotación, el centro y la normal del plano

      Returns Promise<TopoDSWirePointer>

      El alambre de contorno de viga en I

      const profile = await bitbybit.occt.shapes.wire.createIBeamProfileWire({
      width: 10,
      height: 20,
      webThickness: 2,
      flangeThickness: 3,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • Hace el contorno cerrado de la sección transversal de una viga en H: dos alas verticales unidas por un alma horizontal, una viga en I tumbada.

      width es la anchura total, height la altura del ala, webThickness y flangeThickness los grosores de pared; alignment dice qué punto de la caja del perfil se sitúa en center, rotation lo gira en su plano, en grados.

      Parameters

      • inputs: HBeamProfileDto

        El tamaño del perfil, los dos espesores, la alineación, la rotación, el centro y la normal del plano

      Returns Promise<TopoDSWirePointer>

      El alambre de contorno de viga en H

      const profile = await bitbybit.occt.shapes.wire.createHBeamProfileWire({
      width: 20,
      height: 10,
      webThickness: 2,
      flangeThickness: 3,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • Hace el contorno cerrado de la sección transversal de una viga en T: un ala horizontal con un alma vertical que cuelga de su centro.

      width es la anchura del ala, height la altura total, webThickness y flangeThickness los grosores de pared; alignment dice qué punto de la caja del perfil se sitúa en center, rotation lo gira en su plano, en grados. Está en el suelo.

      Parameters

      • inputs: TBeamProfileDto

        El tamaño del perfil, los dos espesores, la alineación, la rotación, el centro y la normal del plano

      Returns Promise<TopoDSWirePointer>

      El alambre de contorno de viga en T

      const profile = await bitbybit.occt.shapes.wire.createTBeamProfileWire({
      width: 10,
      height: 12,
      webThickness: 2,
      flangeThickness: 2,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • Hace el contorno cerrado de la sección transversal de una viga en U, un canal: un alma con dos alas de flangeWidth levantadas desde sus extremos.

      width y height son el tamaño total, webThickness y flangeThickness los grosores de pared; alignment dice qué punto de la caja del perfil se sitúa en center, rotation lo gira en su plano, en grados. Está en el suelo.

      Parameters

      • inputs: UBeamProfileDto

        El tamaño del perfil, los espesores, la anchura del ala, la alineación, la rotación, el centro y la normal del plano

      Returns Promise<TopoDSWirePointer>

      El alambre de contorno de viga en U

      const profile = await bitbybit.occt.shapes.wire.createUBeamProfileWire({
      width: 10,
      height: 6,
      webThickness: 1,
      flangeThickness: 1,
      flangeWidth: 3,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });

    build

    • Une aristas y alambres que se tocan extremo con extremo en un solo alambre.

      Las piezas deben conectarse; un conjunto con un hueco o una pieza suelta lanza un error. Las formas de otros tipos en la lista se ignoran.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre unido

      const outline = await bitbybit.occt.shapes.wire.combineEdgesAndWiresIntoAWire({ shapes: [arc, line1, line2] });
      
    • Envuelve una sola arista en un alambre, para que pueda ir donde se espera un alambre.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre que contiene esa arista

      const wire = await bitbybit.occt.shapes.wire.createWireFromEdge({ shape: edge });
      

    debug

    • Recopila datos de diagnóstico sobre un alambre: cuántas aristas tiene, si está cerrado, su longitud total y, para cada arista, el informe de curva que da shapes.edge.debugInfo.

      Un alambre vacío o null da un informe marcado como no válido con recuentos a cero.

      Parameters

      Returns Promise<WireDebugInfo>

      El informe con el número de aristas, el indicador de cerrado, la longitud y una entrada por arista

      const info = await bitbybit.occt.shapes.wire.debugInfo({ shape: wire });
      console.log(info.nbEdges, info.closed, info.totalLength);

    edit

    • Cierra un alambre abierto con una arista recta de su punto final de vuelta a su punto inicial.

      Un alambre cuyos extremos ya se encuentran se devuelve tal cual.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre cerrado

      const closedWire = await bitbybit.occt.shapes.wire.closeOpenWire({ shape: openWire });
      

    extract

    • Corta un alambre en trozos en los puntos dados.

      Cada punto se mueve al lugar más cercano del alambre antes de cortar, así que no tiene por qué estar exactamente sobre él; los puntos repetidos se ignoran. Los trozos vuelven en orden a lo largo del alambre, de su inicio a su final.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Los trozos del alambre, en orden

      const pieces = await bitbybit.occt.shapes.wire.splitOnPoints({ shape: wire, points: [[3, 0, 0], [7, 0, 0]] });
      
    • Convierte cada alambre de una forma en una serie de puntos que sigue sus curvas lo bastante de cerca para dibujarlo, una lista por alambre.

      Los ajustes de desviación dicen cuán ceñidos siguen los puntos las aristas curvas; donde una arista termina y empieza la siguiente el punto compartido aparece una vez.

      Parameters

      Returns Promise<Point3[][]>

      Una lista de puntos por alambre

      const polylines = await bitbybit.occt.shapes.wire.wiresToPoints({
      shape: wire,
      angularDeflection: 0.1,
      curvatureDeflection: 0.1,
      minimumOfPoints: 2,
      uTolerance: 1e-9,
      minimumLength: 1e-7,
      });
    • Coloca puntos a lo largo de un alambre 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. El parámetro sigue el parámetro de curva propio de cada arista, así que los pasos iguales no son distancias iguales; usa divideWireByEqualDistanceToPoints para esas.

      Parameters

      Returns Promise<Point3[]>

      Los puntos a lo largo del alambre, en orden

      const points = await bitbybit.occt.shapes.wire.divideWireByParamsToPoints({ shape: wire, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Coloca puntos a lo largo de un alambre a distancias iguales medidas a lo largo de sus curvas, 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 del alambre, en orden

      const points = await bitbybit.occt.shapes.wire.divideWireByEqualDistanceToPoints({ shape: wire, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Encuentra el punto a una fracción del recorrido de un alambre: 0 es el inicio, 1 el final.

      La fracción sigue los parámetros de las aristas, no la distancia, así que 0.5 no siempre es el medio por longitud; usa pointOnWireAtLength para una distancia.

      Parameters

      Returns Promise<Point3>

      El punto en el alambre

      const point = await bitbybit.occt.shapes.wire.pointOnWireAtParam({ shape: wire, param: 0.25 });
      
    • Encuentra el punto a una distancia dada a lo largo de un alambre desde su inicio, medida a lo largo de sus curvas en unidades del modelo.

      Parameters

      Returns Promise<Point3>

      El punto en el alambre

      const point = await bitbybit.occt.shapes.wire.pointOnWireAtLength({ shape: wire, length: 2.5 });
      
    • Encuentra los puntos a varias distancias a lo largo de un alambre desde su inicio, medidas a lo largo de sus curvas en unidades del modelo.

      Parameters

      Returns Promise<Point3[]>

      Un punto por distancia, en el mismo orden

      const points = await bitbybit.occt.shapes.wire.pointsOnWireAtLengths({ shape: wire, lengths: [1, 2.5, 4] });
      
    • Coloca puntos a lo largo de un alambre cada length unidades del modelo desde su inicio, tantos como quepan.

      includeFirst conserva el punto del inicio, includeLast añade el punto final sea cual sea el espaciado, y tryNext pide un punto más un paso más allá del último que cupo.

      Parameters

      Returns Promise<Point3[]>

      Los puntos a lo largo del alambre, en orden

      const points = await bitbybit.occt.shapes.wire.pointsOnWireAtEqualLength({ shape: wire, length: 2, tryNext: false, includeFirst: true, includeLast: false });
      
    • Coloca puntos a lo largo de un alambre según un patrón repetido de huecos, como 1, 3, 1, 3, hasta que el alambre se acaba.

      lengths es el patrón de huecos en unidades del modelo, repetido desde el inicio; includeFirst conserva el punto inicial, includeLast añade el punto final, y tryNext pide un punto más en el siguiente hueco tras el último.

      Parameters

      Returns Promise<Point3[]>

      Los puntos a lo largo del alambre, en orden

      const points = await bitbybit.occt.shapes.wire.pointsOnWireAtPatternOfLengths({ shape: wire, lengths: [1, 3], tryNext: false, includeFirst: true, includeLast: false });
      
    • Encuentra la dirección en la que avanza el alambre a una fracción de su recorrido, de 0 en el inicio a 1 en el final.

      La fracción sigue los parámetros de las aristas, no la distancia.

      Parameters

      Returns Promise<Vector3>

      La dirección tangente

      const tangent = await bitbybit.occt.shapes.wire.tangentOnWireAtParam({ shape: wire, param: 0.5 });
      
    • Encuentra la dirección en la que avanza el alambre a una distancia dada desde su inicio, medida a lo largo de sus curvas en unidades del modelo.

      Parameters

      Returns Promise<Vector3>

      La dirección tangente

      const tangent = await bitbybit.occt.shapes.wire.tangentOnWireAtLength({ shape: wire, length: 2.5 });
      
    • Calcula la primera, segunda y tercera derivadas de la curva de un alambre a una distancia dada desde su inicio.

      La primera derivada es la tangente con su velocidad, la segunda dice cómo se curva la curva, la tercera cómo cambia esa curvatura; todas son respecto al parámetro de la curva. La distancia se mide a lo largo de las curvas en unidades del modelo.

      Parameters

      Returns Promise<[Vector3, Vector3, Vector3]>

      Los tres vectores derivada, de la primera a la tercera

      const [first, second, third] = await bitbybit.occt.shapes.wire.derivativesOnWireAtLength({ shape: wire, length: 2.5 });
      
    • Calcula la primera, segunda y tercera derivadas de la curva de un alambre a una fracción de su recorrido, de 0 en el inicio a 1 en el final.

      La primera derivada es la tangente con su velocidad, la segunda dice cómo se curva la curva, la tercera cómo cambia esa curvatura; todas son respecto al parámetro de la curva.

      Parameters

      Returns Promise<[Vector3, Vector3, Vector3]>

      Los tres vectores derivada, de la primera a la tercera

      const [first, second, third] = await bitbybit.occt.shapes.wire.derivativesOnWireAtParam({ shape: wire, param: 0.5 });
      
    • Lee el punto donde empieza un alambre, en la dirección propia del alambre.

      Parameters

      Returns Promise<Point3>

      El punto inicial

      const start = await bitbybit.occt.shapes.wire.startPointOnWire({ shape: wire });
      
    • Encuentra el punto a mitad del rango de parámetro de un alambre.

      El parámetro sigue las curvas propias de las aristas, no la distancia, así que en un alambre de aristas desiguales esto no siempre es el medio por longitud; pointOnWireAtLength con la mitad de getWireLength da eso.

      Parameters

      Returns Promise<Point3>

      El punto en el parámetro 0.5

      const middle = await bitbybit.occt.shapes.wire.midPointOnWire({ shape: wire });
      
    • Lee el punto donde termina un alambre, en la dirección propia del alambre.

      Parameters

      Returns Promise<Point3>

      El punto final

      const end = await bitbybit.occt.shapes.wire.endPointOnWire({ shape: wire });
      

    extract from wires

    • Ejecuta divideWireByParamsToPoints sobre varios alambres con los mismos ajustes.

      Parameters

      Returns Promise<Point3[][]>

      Una lista de puntos por alambre, en el mismo orden

      const lists = await bitbybit.occt.shapes.wire.divideWiresByParamsToPoints({ shapes: wires, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Ejecuta divideWireByEqualDistanceToPoints sobre varios alambres con los mismos ajustes.

      Parameters

      Returns Promise<Point3[][]>

      Una lista de puntos por alambre, en el mismo orden

      const lists = await bitbybit.occt.shapes.wire.divideWiresByEqualDistanceToPoints({ shapes: wires, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      

    from base

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

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre recto

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

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Un alambre por línea, en el mismo orden

      const wires = await bitbybit.occt.shapes.wire.fromBaseLines({ lines: [{ start: [0, 0, 0], end: [10, 0, 0] }, { start: [10, 0, 0], end: [10, 10, 0] }] });
      
    • Hace un alambre recto de una sola arista a partir de un segmento, un par de puntos [start, end].

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre recto

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

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Un alambre por segmento, en el mismo orden

      const wires = await bitbybit.occt.shapes.wire.fromBaseSegments({ segments: [[[0, 0, 0], [10, 0, 0]], [[10, 0, 0], [10, 10, 0]]] });
      
    • Une una lista de puntos en orden con aristas rectas en un solo alambre.

      Menos de dos puntos lanzan un error. Cuando el último punto repite el primero, la repetición se descarta y el alambre se cierra de vuelta al primer punto; si no, el alambre queda abierto. Para un contorno cerrado sin repetir un punto use createPolygonWire.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre que pasa por los puntos

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

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre

      const outline = await bitbybit.occt.shapes.wire.fromBasePolyline({ polyline: { points: [[0, 0, 0], [10, 0, 0], [10, 0, 10]], isClosed: true } });
      
    • Hace un alambre cerrado de tres aristas a partir de un triángulo dado como tres puntos.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre cerrado

      const outline = await bitbybit.occt.shapes.wire.fromBaseTriangle({ triangle: [[0, 0, 0], [10, 0, 0], [0, 0, 10]] });
      
    • Hace un alambre cerrado de tres aristas por cada triángulo de una malla.

      Un triángulo cuyo alambre no puede construirse se salta con un aviso en lugar de detener el resto.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Un alambre por cada triángulo que se pudo construir

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

    get

    • Elige un alambre 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 un alambre o algo construido a partir de alambres; un índice más allá del último alambre lanza un error.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre en ese índice

      const outer = await bitbybit.occt.shapes.wire.getWire({ shape: face, index: 0 });
      
    • Encuentra el centro de masas de un alambre, el punto de equilibrio de sus curvas; para un círculo es su centro, fuera del propio alambre.

      Parameters

      Returns Promise<Point3>

      El punto del centro de masas

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

      Parameters

      Returns Promise<Point3[]>

      Un punto por alambre, en el mismo orden

      const centers = await bitbybit.occt.shapes.wire.getWiresCentersOfMass({ shapes: wires });
      
    • Invierte la dirección de un alambre, de modo que su inicio se convierte en su final.

      Las aristas conservan su propio orden y sus indicadores de dirección; el alambre en conjunto se marca como invertido, que es lo que leen la mayoría de operaciones. reversedWireFromReversedEdges reconstruye el alambre arista a arista en su lugar.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Un nuevo alambre que recorre el sentido contrario

      const back = await bitbybit.occt.shapes.wire.reversedWire({ shape: wire });
      
    • Invierte la dirección de un alambre invirtiendo cada arista y uniéndolas de nuevo en el orden contrario.

      El resultado es un alambre que va en sentido contrario de principio a fin, lo que algunas operaciones necesitan cuando el simple indicador de reversedWire no basta.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Un nuevo alambre que recorre el sentido contrario

      const back = await bitbybit.occt.shapes.wire.reversedWireFromReversedEdges({ shape: wire });
      
    • Indica si un alambre está cerrado, que es cuando sus puntos inicial y final coinciden dentro de una pequeña tolerancia.

      Parameters

      Returns Promise<boolean>

      True cuando los extremos se encuentran

      const wireIsClosed = await bitbybit.occt.shapes.wire.isWireClosed({ shape: wire });
      
    • Mide la longitud de un alambre a lo largo de sus curvas, en unidades del modelo.

      Parameters

      Returns Promise<number>

      La longitud

      const len = await bitbybit.occt.shapes.wire.getWireLength({ shape: wire });
      
    • Mide la longitud de cada alambre de una lista a lo largo de sus curvas, en unidades del modelo.

      Parameters

      Returns Promise<number[]>

      Una longitud por alambre, en el mismo orden

      const lengths = await bitbybit.occt.shapes.wire.getWiresLengths({ shapes: wires });
      

    multiple

    • Hace un alambre poligonal cerrado por cada lista de puntos, como hace createPolygonWire.

      Con returnCompound en true los alambres se empaquetan en una sola forma compuesta en lugar de una lista.

      Parameters

      • inputs: PolygonsDto

        Los polígonos y si empaquetarlos en un compuesto

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Los alambres en orden, o un compuesto que los contiene

      const outlines = await bitbybit.occt.shapes.wire.createPolygons({
      polygons: [{ points: [[0, 0, 0], [5, 0, 0], [5, 0, 5]] }, { points: [[10, 0, 0], [15, 0, 0], [15, 0, 5]] }],
      returnCompound: false,
      });
    • Hace un alambre recto de una sola arista por cada definición de línea.

      Con returnCompound en true los alambres se empaquetan en una sola forma compuesta en lugar de una lista.

      Parameters

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Los alambres en orden, o un compuesto que los contiene

      const lines = await bitbybit.occt.shapes.wire.createLines({
      lines: [{ start: [0, 0, 0], end: [10, 0, 0] }, { start: [0, 0, 5], end: [10, 0, 5] }],
      returnCompound: false,
      });
    • Hace un alambre de polilínea abierto por cada lista de puntos, como hace createPolylineWire.

      Con returnCompound en true los alambres se empaquetan en una sola forma compuesta en lugar de una lista.

      Parameters

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Los alambres en orden, o un compuesto que los contiene

      const paths = await bitbybit.occt.shapes.wire.createPolylines({
      polylines: [{ points: [[0, 0, 0], [5, 0, 0], [5, 0, 5]] }, { points: [[10, 0, 0], [15, 0, 0]] }],
      returnCompound: false,
      });
    • Hace un alambre Bezier por cada definición, como hace createBezier.

      Con returnCompound en true los alambres se empaquetan en una sola forma compuesta en lugar de una lista.

      Parameters

      • inputs: BezierWiresDto

        Las definiciones de Bezier y si empaquetarlas en un compuesto

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Los alambres en orden, o un compuesto que los contiene

      const curves = await bitbybit.occt.shapes.wire.createBezierWires({
      bezierWires: [{ points: [[0, 0, 0], [5, 0, 10], [10, 0, 0]], closed: false }, { points: [[0, 0, 5], [5, 0, 15], [10, 0, 5]], closed: false }],
      returnCompound: false,
      });
    • Hace un alambre B-spline interpolado por cada definición, como hace interpolatePoints.

      Con returnCompound en true los alambres se empaquetan en una sola forma compuesta en lugar de una lista.

      Parameters

      • inputs: InterpolateWiresDto

        Las definiciones de interpolación y si empaquetarlas en un compuesto

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Los alambres en orden, o un compuesto que los contiene

      const curves = await bitbybit.occt.shapes.wire.interpolateWires({
      interpolations: [{ points: [[0, 0, 0], [5, 0, 5], [10, 0, 0]], periodic: false, tolerance: 1e-7 }, { points: [[0, 0, 5], [5, 0, 10], [10, 0, 5]], periodic: false, tolerance: 1e-7 }],
      returnCompound: false,
      });
    • Hace un alambre B-spline de aproximación por cada definición, como hace createBSpline.

      Con returnCompound en true los alambres se empaquetan en una sola forma compuesta en lugar de una lista.

      Parameters

      • inputs: BSplinesDto

        Las definiciones de B-spline y si empaquetarlas en un compuesto

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Los alambres en orden, o un compuesto que los contiene

      const curves = await bitbybit.occt.shapes.wire.createBSplines({
      bSplines: [{ points: [[0, 0, 0], [5, 0, 5], [10, 0, 0]], closed: false }, { points: [[0, 0, 5], [5, 0, 10], [10, 0, 5]], closed: false }],
      returnCompound: false,
      });

    place

    • Proyecta un alambre plano dibujado en el plano del suelo sobre la superficie de una cara, como si el dibujo se envolviera alrededor de ella.

      La coordenada Z del alambre se lee como U y su coordenada X como V, en los valores UV reales de la cara, que shapes.face.getUMinBound y sus hermanos informan; un dibujo que cabe dentro de esos límites aterriza en la cara.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre tendido sobre la superficie de la cara

      const onSurface = await bitbybit.occt.shapes.wire.placeWireOnFace({ wire: flatWire, face: cylinderFace });
      
    • Proyecta un alambre sobre una forma a lo largo de una dirección, como proyectar su sombra sobre la superficie.

      El resultado es un compuesto de las curvas donde la proyección se encuentra con las caras de la forma, que pueden estar tanto en su lado cercano como en el lejano. Corta una cara con él mediante shapes.face.createFaceFromWireOnFace o úsalo como ruta.

      Parameters

      Returns Promise<TopoDSCompoundPointer>

      Un compuesto de las curvas proyectadas

      const shadow = await bitbybit.occt.shapes.wire.project({ wire: circle, shape: sphere, direction: [0, -1, 0] });
      

    primitives

    • Hace un círculo completo como un alambre cerrado de una sola arista, situado en el plano cuya normal es direction; el valor predeterminado [0, 1, 0] lo tumba en el suelo.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre circular

      const circle = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Rellena un rectángulo en el plano del suelo con una cuadrícula de alambres hexagonales cerrados, centrada en el origen.

      Los hexágonos se escalan para que nrHexagonsInWidth quepan a lo ancho de width y nrHexagonsInHeight a lo largo de height. Los patrones de escala, redondeo e inclusión se leen hexágono a hexágono y se repiten; los indicadores de extensión estiran las filas exteriores más allá de los bordes para cubrir el rectángulo.

      Parameters

      • inputs: HexagonsInGridDto

        El tamaño del rectángulo, los números de hexágonos, los indicadores de extensión y los patrones opcionales

      Returns Promise<TopoDSWirePointer[]>

      Un alambre por hexágono, fila por fila

      const cells = await bitbybit.occt.shapes.wire.hexagonsInGrid({
      width: 20,
      height: 10,
      nrHexagonsInWidth: 8,
      nrHexagonsInHeight: 4,
      flatTop: false,
      scalePatternWidth: [0.9],
      scalePatternHeight: [0.9],
      });
    • Hace un alambre cuadrado cerrado centrado en center.

      direction es la normal de su plano: el valor predeterminado [0, 1, 0] lo tumba en el suelo.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre cuadrado

      const square = await bitbybit.occt.shapes.wire.createSquareWire({ size: 10, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Hace un alambre cerrado en forma de estrella con numRays puntas.

      Las puntas llegan a outerRadius y las muescas entre ellas a innerRadius; offsetOuterEdges levanta las puntas de los rayos fuera del plano esa distancia, haciendo una estrella 3D, y half conserva la primera mitad de los rayos como un alambre abierto. Está tumbado en el suelo salvo que direction diga lo contrario.

      Parameters

      • inputs: Bit.Inputs.OCCT.StarDto

        Los dos radios, el número de puntas, el centro, la normal del plano y las opciones

      Returns Promise<TopoDSWirePointer>

      El alambre de estrella

      const star = await bitbybit.occt.shapes.wire.createStarWire({ outerRadius: 5, innerRadius: 2, numRays: 5, center: [0, 0, 0], direction: [0, 1, 0], offsetOuterEdges: 0, half: false });
      
    • Hace un alambre cerrado con forma de árbol de Navidad estilizado: nrSkirts capas de ramas, que se estrechan de outerDist a innerDist respecto a la línea del tronco, sobre un tronco de trunkHeight y trunkWidth.

      A diferencia de las otras formas planas de aquí, se levanta erguido en el plano XY, con la punta a lo largo de Y; direction es la dirección del tronco a la punta, rotation lo gira alrededor de ese eje, en grados.

      Parameters

      • inputs: ChristmasTreeDto

        Las proporciones del árbol, el tamaño del tronco, las opciones, el origen y la dirección del tronco a la punta

      Returns Promise<TopoDSWirePointer>

      El alambre del árbol

      const tree = await bitbybit.occt.shapes.wire.createChristmasTreeWire({
      height: 10,
      innerDist: 1.5,
      outerDist: 4,
      nrSkirts: 4,
      trunkHeight: 1.5,
      trunkWidth: 1,
      half: false,
      rotation: 0,
      origin: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • Hace un alambre de polígono regular cerrado con nrCorners esquinas, todas sobre un círculo de radius.

      direction es la normal del plano; el valor predeterminado [0, 1, 0] lo tumba en el suelo.

      Parameters

      • inputs: NGonWireDto

        El número de esquinas, el radio, el centro y la normal del plano

      Returns Promise<TopoDSWirePointer>

      El alambre poligonal

      const hexagon = await bitbybit.occt.shapes.wire.createNGonWire({ nrCorners: 6, radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Hace un alambre de paralelogramo cerrado: un rectángulo de width y height cuyos lados se inclinan angle grados.

      Con aroundCenter en true la forma se centra en center; en caso contrario empieza ahí y se extiende en las direcciones positivas. direction es la normal del plano; el valor predeterminado [0, 1, 0] lo tumba en el suelo.

      Parameters

      • inputs: ParallelogramDto

        La anchura, la altura, el ángulo de inclinación, si centrarlo, el centro y la normal del plano

      Returns Promise<TopoDSWirePointer>

      El alambre de paralelogramo

      const shape = await bitbybit.occt.shapes.wire.createParallelogramWire({ width: 10, height: 5, angle: 30, aroundCenter: true, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Hace un alambre cerrado en forma de corazón de dos mitades suaves que cabe aproximadamente en un cuadrado de sizeApprox.

      rotation lo gira en su plano, en grados. direction es la normal del plano; el valor predeterminado [0, 1, 0] lo tumba en el suelo.

      Parameters

      • inputs: Heart2DDto

        El tamaño aproximado, la rotación, el centro y la normal del plano

      Returns Promise<TopoDSWirePointer>

      El alambre de corazón

      const heart = await bitbybit.occt.shapes.wire.createHeartWire({ sizeApprox: 10, rotation: 0, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Hace un alambre rectangular cerrado centrado en center.

      En el plano del suelo width va a lo largo de X y length a lo largo de Z; direction es la normal del plano, y el valor predeterminado [0, 1, 0] mantiene el alambre tumbado en el suelo.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre rectangular

      const rectangle = await bitbybit.occt.shapes.wire.createRectangleWire({ width: 20, length: 10, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Hace un alambre cerrado en forma de L: dos patas rectangulares unidas en una esquina.

      La primera pata tiene widthFirst y lengthFirst, la segunda widthSecond y lengthSecond; align pone la esquina en el exterior, el interior o el medio de las patas, y rotation gira la forma en su plano, en grados. Está tumbado en el suelo salvo que direction diga lo contrario.

      Parameters

      • inputs: LPolygonDto

        Los dos tamaños de las patas, la alineación, la rotación, el centro y la normal del plano

      Returns Promise<TopoDSWirePointer>

      El alambre en forma de L

      const outline = await bitbybit.occt.shapes.wire.createLPolygonWire({
      widthFirst: 2,
      lengthFirst: 10,
      widthSecond: 2,
      lengthSecond: 6,
      align: Bit.Inputs.OCCT.directionEnum.outside,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • Hace una elipse completa como un alambre cerrado de una sola arista, situado en el plano cuya normal es direction.

      radiusMajor no debe ser menor que radiusMinor, o el núcleo rechaza la elipse; la dirección predeterminada [0, 1, 0] lo tumba en el suelo.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre elíptico

      const ellipse = await bitbybit.occt.shapes.wire.createEllipseWire({ center: [0, 0, 0], direction: [0, 1, 0], radiusMinor: 3, radiusMajor: 6 });
      
    • Hace un alambre helicoidal, una espiral de radius constante que sube pitch unidades del modelo por vuelta hasta alcanzar height.

      Empieza junto a center y sube a lo largo de direction; clockwise invierte el sentido de enrollado. La hélice se aproxima mediante una curva suave dentro de tolerance. Un radio, paso o altura de 0 o menos da un alambre null.

      Parameters

      • inputs: HelixWireDto

        El radio, el paso, la altura, el centro de la base, la dirección del eje, el sentido de giro y la tolerancia

      Returns Promise<TopoDSWirePointer>

      El alambre helicoidal

      const spring = await bitbybit.occt.shapes.wire.createHelixWire({ radius: 2, pitch: 1, height: 10, center: [0, 0, 0], direction: [0, 1, 0], clockwise: false, tolerance: 1e-4 });
      
    • Hace un alambre helicoidal como createHelixWire, pero dimensionado por numTurns en lugar de por una altura: la espiral sube pitch unidades del modelo por vuelta, numTurns veces.

      Parameters

      • inputs: HelixWireByTurnsDto

        El radio, el paso, el número de vueltas, el centro de la base, la dirección del eje, el sentido de giro y la tolerancia

      Returns Promise<TopoDSWirePointer>

      El alambre helicoidal

      const spring = await bitbybit.occt.shapes.wire.createHelixWireByTurns({ radius: 2, pitch: 1, numTurns: 5, center: [0, 0, 0], direction: [0, 1, 0], clockwise: false, tolerance: 1e-4 });
      
    • Hace un alambre helicoidal cónico cuyo radio cambia uniformemente de startRadius en la base a endRadius en la cima, subiendo pitch unidades del modelo por vuelta hasta alcanzar height.

      Empieza junto a center y sube a lo largo de direction; clockwise invierte el sentido de enrollado. La curva se aproxima dentro de tolerance.

      Parameters

      • inputs: TaperedHelixWireDto

        Los radios inicial y final, el paso, la altura, el centro de la base, la dirección del eje, el sentido de giro y la tolerancia

      Returns Promise<TopoDSWirePointer>

      El alambre helicoidal cónico

      const cone = await bitbybit.occt.shapes.wire.createTaperedHelixWire({ startRadius: 3, endRadius: 0.5, pitch: 1, height: 8, center: [0, 0, 0], direction: [0, 1, 0], clockwise: false, tolerance: 1e-4 });
      
    • Hace un alambre de espiral plana en el plano cuya normal es direction: numTurns vueltas cuyo radio crece uniformemente de startRadius a endRadius.

      La dirección predeterminada [0, 1, 0] lo tumba en el suelo; clockwise invierte el sentido de enrollado, y la curva se aproxima dentro de tolerance.

      Parameters

      • inputs: FlatSpiralWireDto

        Los radios inicial y final, el número de vueltas, el centro, la normal del plano, el sentido de giro y la tolerancia

      Returns Promise<TopoDSWirePointer>

      El alambre en espiral

      const spiral = await bitbybit.occt.shapes.wire.createFlatSpiralWire({ startRadius: 0.5, endRadius: 5, numTurns: 4, center: [0, 0, 0], direction: [0, 1, 0], clockwise: false, tolerance: 1e-4 });
      
    • Escribe texto como alambres de trazo en el plano del suelo con la fuente de una sola línea Hershey simplex, un alambre de polilínea abierto por cada trazo de pluma.

      height es la altura de una letra mayúscula en unidades del modelo, lineSpacing y letterSpacing son múltiplos de ella, align alinea líneas de distinta longitud, y centerOnOrigin mueve el bloque al origen.

      Parameters

      • inputs: TextWiresDto

        El texto, su tamaño y espaciado, la alineación y las opciones de colocación

      Returns Promise<TopoDSWirePointer[]>

      Un alambre por trazo, en orden de escritura

      const strokes = await bitbybit.occt.shapes.wire.textWires({
      text: "Hello",
      height: 5,
      lineSpacing: 1.5,
      letterSpacing: 0,
      align: Bit.Inputs.Base.horizontalAlignEnum.left,
      centerOnOrigin: true,
      });
    • Escribe texto como alambres de trazo igual que textWires y los empaqueta en compuestos, junto con el tamaño del bloque.

      El resultado lleva compound con todo el texto, characters con un compuesto por carácter en orden de escritura, width y height como la extensión del bloque a lo largo de X y a lo largo de Z, y center como el centro del bloque.

      Parameters

      • inputs: TextWiresDto

        El texto, su tamaño y espaciado, la alineación y las opciones de colocación

      Returns Promise<TextWiresDataDto<TopoDSCompoundPointer>>

      El compuesto del texto, los compuestos de los caracteres y el tamaño medido

      const text = await bitbybit.occt.shapes.wire.textWiresWithData({
      text: "Hi",
      height: 5,
      lineSpacing: 1.5,
      letterSpacing: 0,
      align: Bit.Inputs.Base.horizontalAlignEnum.left,
      centerOnOrigin: false,
      });
      console.log(text.width, text.height, text.characters.length);

    rebuild

    • Reconstruye cada arista de un alambre como una B-spline de un grado dado, dentro de una tolerancia, y vuelve a unir los resultados en un alambre.

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

      Parameters

      Returns Promise<TopoDSWirePointer>

      Un nuevo alambre con las aristas reconstruidas

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

    seam

    • Mueve la costura de un alambre periódico cerrado, el punto donde empieza y termina, a un parámetro dado a lo largo de su curva.

      La geometría no cambia; solo dónde se considera que empieza el alambre. Pensado para alambres de una sola arista como los círculos: cada arista periódica se mueve, las aristas que no son periódicas se quedan como están.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Un nuevo alambre que empieza en la costura

      const rotated = await bitbybit.occt.shapes.wire.moveWireSeamByParameter({ shape: circle, parameter: 1.57 });
      
    • Mueve la costura de un alambre periódico cerrado, 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 el alambre. Pensado para alambres de una sola arista como los círculos: cada arista periódica se mueve, las aristas que no son periódicas se quedan como están.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Un nuevo alambre que empieza en la costura

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

    via points

    • Hace un alambre cerrado de aristas rectas a través de una lista de puntos de esquina, añadiendo la arista del último punto de vuelta al primero.

      Los puntos no tienen por qué estar en un mismo plano; una cara plana sí necesita un contorno plano.

      Parameters

      • inputs: PolygonDto

        Los puntos de las esquinas, en orden

      Returns Promise<TopoDSWirePointer>

      El alambre cerrado

      const square = await bitbybit.occt.shapes.wire.createPolygonWire({ points: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]] });
      
    • Hace un alambre recto de una sola arista entre dos puntos.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre recto

      const line = await bitbybit.occt.shapes.wire.createLineWire({ start: [0, 0, 0], end: [10, 0, 0] });
      
    • Hace un alambre recto de una sola arista entre dos puntos y lo alarga más allá de cada uno de ellos.

      extensionStart y extensionEnd son distancias en unidades del modelo añadidas más allá del inicio y del final a lo largo de la línea; los dos puntos deben ser distintos o se lanza un error.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre recto extendido

      const longer = await bitbybit.occt.shapes.wire.createLineWireWithExtensions({ start: [0, 0, 0], end: [10, 0, 0], extensionStart: 2, extensionEnd: 5 });
      
    • Hace un alambre abierto de aristas rectas a través de una lista de puntos, en orden.

      El alambre no está cerrado; createPolygonWire añade la arista de vuelta al primer punto.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre abierto

      const path = await bitbybit.occt.shapes.wire.createPolylineWire({ points: [[0, 0, 0], [10, 0, 0], [10, 0, 10]] });
      
    • Hace un alambre Bezier suave dirigido por puntos de control: empieza en el primer punto, termina en el último y es atraído hacia los intermedios sin pasar por ellos.

      closed añade de nuevo el primer punto para que los extremos se encuentren; periodic construye en su lugar una curva cerrada que es suave a través de la costura. degree limita cuántos vecinos dan forma a cada parte.

      Parameters

      • inputs: BezierDto

        Los puntos de control y las opciones de cierre y grado

      Returns Promise<TopoDSWirePointer>

      El alambre de Bezier

      const curve = await bitbybit.occt.shapes.wire.createBezier({ points: [[0, 0, 0], [5, 0, 10], [10, 0, -10], [15, 0, 0]], closed: false, periodic: false });
      
    • Hace un alambre Bezier como createBezier, con un peso por punto de control que dice con qué fuerza atrae la curva.

      Un peso mayor que 1 acerca la curva a su punto, menor que 1 la suelta. Los pesos deben corresponderse con los puntos: el mismo número, o uno más cuando closed es true y periodic false, ya que el primer punto se repite.

      Parameters

      • inputs: BezierWeightsDto

        Los puntos de control, sus pesos y las opciones de cierre y grado

      Returns Promise<TopoDSWirePointer>

      El alambre de Bezier ponderado

      const curve = await bitbybit.occt.shapes.wire.createBezierWeights({
      points: [[0, 0, 0], [5, 0, 10], [10, 0, 0]],
      weights: [1, 3, 1],
      closed: false,
      periodic: false,
      });
    • Hace un alambre B-spline suave que pasa por cada punto en orden.

      periodic cierra la curva para que sea suave a través de la costura, lo que da bucles bien formados. parametrization controla el espaciado entre puntos: centripetal resiste las cúspides y el sobrepaso cuando los puntos son desiguales. startTangent y endTangent, o una entrada de tangents por punto, fuerzan la dirección de la curva ahí.

      Parameters

      • inputs: InterpolationDto

        Los puntos, si cerrar la curva, la tolerancia, la parametrización y las tangentes opcionales

      Returns Promise<TopoDSWirePointer>

      El alambre B-spline que pasa por los puntos

      const loop = await bitbybit.occt.shapes.wire.interpolatePoints({
      points: [[0, 0, 0], [10, 0, 5], [10, 0, 15], [0, 0, 10]],
      periodic: true,
      tolerance: 1e-7,
      parametrization: Bit.Inputs.OCCT.bSplineParametrizationEnum.centripetal,
      });
    • Hace un alambre B-spline suave y cerrado a través de los puntos cuya forma es simétrica respecto a un espejo siempre que los puntos lo son, sin un punto inicial o final de aspecto extraño.

      Un interpolatePoints periódico simple puede parecer sesgado en su costura para entradas simétricas como un cuadrado o un triángulo; esta variante no. Falla con un error si los puntos no pueden interpolarse.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre B-spline simétrico cerrado

      const rounded = await bitbybit.occt.shapes.wire.interpolatePointsSymmetric({ points: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]], tolerance: 1e-7 });
      
    • Hace un alambre B-spline suave que aproxima una lista de puntos: los sigue de cerca pero no tiene por qué pasar exactamente por cada uno.

      closed añade de nuevo el primer punto para que los extremos se encuentren. El ajuste usa un grado entre 3 y 8 y una tolerancia de 0.001 unidades del modelo; usa interpolatePoints cuando la curva deba pasar por los puntos.

      Parameters

      • inputs: BSplineDto

        Los puntos y si cerrar la curva

      Returns Promise<TopoDSWirePointer>

      El alambre B-spline

      const curve = await bitbybit.occt.shapes.wire.createBSpline({ points: [[0, 0, 0], [5, 0, 5], [10, 0, 0], [15, 0, 5]], closed: false });
      

    via wires

    • Dibuja una línea en zigzag que rebota entre dos alambres: ambos se dividen en el mismo número de puntos y una polilínea los visita alternativamente.

      nrZigZags establece el número de rebotes; inverse empieza en el segundo alambre; divideByEqualDistance espacia los puntos por longitud en lugar de por parámetro; con zigZagsPerEdge en true cada arista recibe su propio zigzag, así que los recuentos de aristas deben coincidir.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre en zigzag

      const zigzag = await bitbybit.occt.shapes.wire.createZigZagBetweenTwoWires({ wire1: lower, wire2: upper, nrZigZags: 20, inverse: false, divideByEqualDistance: true, zigZagsPerEdge: false });
      
    • Conecta los puntos iniciales de varios alambres o aristas en un alambre nuevo y sus puntos finales en otro.

      wireType los hace polilíneas o curvas interpoladas suaves, closed une el último punto de vuelta al primero, y tolerance se usa para la interpolación. Menos de dos formas lanzan un error.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Dos alambres: uno por los puntos iniciales, otro por los puntos finales

      const [starts, ends] = await bitbybit.occt.shapes.wire.createWiresBetweenStartEndPointsOfWiresAndEdges({
      shapes: [wireA, wireB, wireC],
      wireType: Bit.Inputs.OCCT.wireFromPointsTypeEnum.interpolated,
      closed: false,
      tolerance: 1e-7,
      });
    • Divide varios alambres o aristas en el mismo número de puntos y conecta los puntos de cada posición en un alambre nuevo, como los peldaños de una escalera.

      nrOfDivisions pasos dan un peldaño más que eso; divideByEqualDistance espacia los puntos por longitud en lugar de por parámetro; wireType hace los peldaños polilíneas o curvas suaves, closed une cada uno en un bucle.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Un alambre por punto de división, en orden a lo largo de las formas

      const rungs = await bitbybit.occt.shapes.wire.createWiresBetweenSubdividedPointsOfWiresAndEdges({
      shapes: [rail1, rail2],
      nrOfDivisions: 10,
      divideByEqualDistance: true,
      wireType: Bit.Inputs.OCCT.wireFromPointsTypeEnum.polyline,
      closed: false,
      tolerance: 1e-7,
      });
    • Dibuja un contorno cerrado alrededor de dos círculos que están en un mismo plano, uniéndolos con líneas tangentes: una forma de correa o de cápsula.

      keepLines elige las líneas tangentes exteriores (la correa) o las interiores que se cruzan; circleRemainders elige qué arco de cada círculo se queda en el contorno. Cada alambre de círculo debe constar de una sola arista.

      Parameters

      Returns Promise<TopoDSWirePointer>

      El alambre de contorno cerrado

      const belt = await bitbybit.occt.shapes.wire.createWireFromTwoCirclesTan({
      circle1,
      circle2,
      keepLines: Bit.Inputs.OCCT.twoSidesStrictEnum.outside,
      circleRemainders: Bit.Inputs.OCCT.fourSidesStrictEnum.outside,
      tolerance: 1e-7,
      });