Bitbybit Docs
    Preparing search index...

    Class OCCTSolid

    Sólidos en OpenCascade: formas cerradas que encierran un volumen. Construye uno a partir de una primitiva (createBox, createSphere, createCylinder, createCone, createTorus), de un perfil plano extruido hacia delante y hacia atrás (los sólidos de perfil de estrella, n-gono, corazón, viga y otros), o de una carcasa cerrada con fromClosedShell; después mídelo con los getters de volumen, área de superficie y centro de masas, y filtra puntos según estén dentro de él. Los vértices, aristas, alambres, caras, carcasas y compuestos tienen sus propias clases junto a esta bajo shapes.

    Index

    Constructors

    beam

    • Crea una viga en I extruyendo su perfil plano hacia delante y hacia atrás a lo largo de su propia normal.

      extrusionLengthFront y extrusionLengthBack dicen cuánto crece hacia cada lado, en unidades del modelo; al menos uno debe ser mayor que 0 o se lanza un error.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const beam = await bitbybit.occt.shapes.solid.createIBeamProfileSolid({
      width: 10,
      height: 20,
      flangeThickness: 1,
      webThickness: 1,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 0, 1],
      extrusionLengthFront: 100,
      extrusionLengthBack: 0,
      });
    • Crea una viga en H extruyendo su perfil plano hacia delante y hacia atrás a lo largo de su propia normal.

      extrusionLengthFront y extrusionLengthBack dicen cuánto crece hacia cada lado, en unidades del modelo; al menos uno debe ser mayor que 0 o se lanza un error.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const beam = await bitbybit.occt.shapes.solid.createHBeamProfileSolid({
      width: 20,
      height: 20,
      flangeThickness: 1,
      webThickness: 1,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 0, 1],
      extrusionLengthFront: 100,
      extrusionLengthBack: 0,
      });
    • Crea una viga en T extruyendo su perfil plano hacia delante y hacia atrás a lo largo de su propia normal.

      extrusionLengthFront y extrusionLengthBack dicen cuánto crece hacia cada lado, en unidades del modelo; al menos uno debe ser mayor que 0 o se lanza un error.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const beam = await bitbybit.occt.shapes.solid.createTBeamProfileSolid({
      width: 10,
      height: 20,
      flangeThickness: 1,
      webThickness: 1,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 0, 1],
      extrusionLengthFront: 100,
      extrusionLengthBack: 0,
      });
    • Crea una viga en U extruyendo su perfil plano hacia delante y hacia atrás a lo largo de su propia normal.

      extrusionLengthFront y extrusionLengthBack dicen cuánto crece hacia cada lado, en unidades del modelo; al menos uno debe ser mayor que 0 o se lanza un error.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const beam = await bitbybit.occt.shapes.solid.createUBeamProfileSolid({
      width: 10,
      height: 20,
      flangeThickness: 1,
      webThickness: 1,
      flangeWidth: 3,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 0, 1],
      extrusionLengthFront: 100,
      extrusionLengthBack: 0,
      });

    debug

    • Recopila datos de diagnóstico sobre un sólido: si es válido, cuántas caras y aristas tiene, su área de superficie y su volumen, y para cada cara el tipo de superficie, los grados, el número de puntos de control, los límites y el área.

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

      Parameters

      Returns Promise<SolidDebugInfo>

      El informe con los recuentos, el área, el volumen y una entrada por cara

      const info = await bitbybit.occt.shapes.solid.debugInfo({ shape: box });
      console.log(info.nbFaces, info.volume);

    filter

    • Conserva los puntos que están dentro de un sólido, sobre su superficie, o fuera de él, según eligen los indicadores keepIn, keepOn y keepOut.

      Un punto cuenta como sobre la superficie cuando está dentro de tolerance respecto a ella. Los puntos que el núcleo no puede clasificar solo se conservan con keepUnknown.

      Parameters

      Returns Promise<Point3[]>

      Los puntos que pasaron el filtro, en su orden original

      const inside = await bitbybit.occt.shapes.solid.filterSolidPoints({
      shape: box,
      points: [[0, 0, 0], [100, 0, 0]],
      tolerance: 1e-7,
      keepIn: true,
      keepOn: false,
      keepOut: false,
      keepUnknown: false,
      });

    from

    • Convierte una carcasa cerrada en un sólido, de modo que el volumen que encierra se convierte en un cuerpo que puede medirse, someterse a booleanas y mallarse.

      La carcasa debe ser estanca; una carcasa con huecos produce un sólido que el núcleo no puede usar.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      El sólido delimitado por la carcasa

      const solid = await bitbybit.occt.shapes.solid.fromClosedShell({ shape: closedShell });
      

    get

    • Mide el área total de todas las caras de un sólido.

      Parameters

      Returns Promise<number>

      El área de la superficie en unidades del modelo al cuadrado

      const area = await bitbybit.occt.shapes.solid.getSolidSurfaceArea({ shape: box });
      
    • Mide el volumen que encierra un sólido, en unidades del modelo al cubo.

      Parameters

      Returns Promise<number>

      El volumen en unidades del modelo al cubo

      const volume = await bitbybit.occt.shapes.solid.getSolidVolume({ shape: box });
      
    • Mide el volumen de cada sólido de una lista.

      Parameters

      Returns Promise<number[]>

      Un volumen por sólido, en el mismo orden

      const volumes = await bitbybit.occt.shapes.solid.getSolidsVolumes({ shapes: [box, sphere] });
      
    • Encuentra el centro de masas de un sólido, tratándolo como relleno de material de densidad uniforme.

      Parameters

      Returns Promise<Point3>

      El punto del centro de masas

      const center = await bitbybit.occt.shapes.solid.getSolidCenterOfMass({ shape: box });
      
    • Encuentra el centro de masas de cada sólido de una lista, tratando cada uno como relleno de material de densidad uniforme.

      Parameters

      Returns Promise<Point3[]>

      Un punto por sólido, en el mismo orden

      const centers = await bitbybit.occt.shapes.solid.getSolidsCentersOfMass({ shapes: [box, sphere] });
      
    • Lista los sólidos dentro de cualquier forma, como los cuerpos de un compuesto o el resultado de una booleana.

      Una forma que es en sí misma un sólido da una lista con ese único sólido.

      Parameters

      Returns Promise<TopoDSSolidPointer[]>

      Los sólidos encontrados en la forma

      const solids = await bitbybit.occt.shapes.solid.getSolids({ shape: compound });
      

    primitives

    • Crea un sólido de caja con los lados paralelos a los ejes.

      width va a lo largo de X, height a lo largo de Y (arriba) y length a lo largo de Z, todo en unidades del modelo. De forma predeterminada la caja se centra en center; con originOnCenter en false se apoya en ese punto en su lugar, de modo que center pasa a ser el centro de la cara inferior.

      Parameters

      • inputs: BoxDto

        El tamaño de la caja, el punto en el que se coloca, y si está centrada en él o apoyada sobre él

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 20, height: 5, center: [0, 0, 0], originOnCenter: true });
      
    • Crea un sólido de cubo, una caja con los tres lados del mismo tamaño, paralelos a los ejes.

      De forma predeterminada el cubo se centra en center; con originOnCenter en false se apoya en ese punto en su lugar, de modo que center pasa a ser el centro de la cara inferior.

      Parameters

      • inputs: Bit.Inputs.OCCT.CubeDto

        El tamaño del cubo, el punto en el que se coloca, y si está centrado en él o apoyado sobre él

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const cube = await bitbybit.occt.shapes.solid.createCube({ size: 10, center: [0, 0, 0], originOnCenter: true });
      
    • Crea un sólido de caja que empieza en un punto de esquina y se extiende a lo largo de los ejes positivos.

      La esquina con los x, y y z más pequeños se sitúa en corner; desde ahí la caja llega width a lo largo de X, height a lo largo de Y y length a lo largo de Z, todo en unidades del modelo.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const box = await bitbybit.occt.shapes.solid.createBoxFromCorner({ width: 10, length: 20, height: 5, corner: [0, 0, 0] });
      
    • Crea un sólido de cilindro con una base redonda en center, que crece height a lo largo de direction.

      Con originOnCenter activado, el cilindro se retrasa la mitad de su altura de modo que center queda en su centro. angle, en grados, recorta una cuña de la vuelta completa de 360 grados, como una porción de tarta.

      Parameters

      • inputs: Bit.Inputs.OCCT.CylinderDto

        El radio, la altura, el centro de la base, la dirección, un ángulo parcial opcional y si centrarlo en el punto

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const cylinder = await bitbybit.occt.shapes.solid.createCylinder({ radius: 5, height: 20, center: [0, 0, 0], direction: [0, 1, 0], angle: 360, originOnCenter: false });
      
    • Crea un sólido de cilindro a lo largo de cada línea, de su inicio a su final, todos con el mismo radio.

      La altura de cada cilindro es la longitud de su línea.

      Parameters

      Returns Promise<TopoDSSolidPointer[]>

      Un sólido por línea, en el mismo orden

      const rods = await bitbybit.occt.shapes.solid.createCylindersOnLines({
      lines: [{ start: [0, 0, 0], end: [0, 10, 0] }, { start: [5, 0, 0], end: [5, 10, 0] }],
      radius: 0.5,
      });
    • Crea un sólido de esfera del radio dado alrededor de un punto central.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const sphere = await bitbybit.occt.shapes.solid.createSphere({ radius: 5, center: [0, 0, 0] });
      
    • Crea un sólido de cono, o un cono truncado cuando ambos radios son mayores que 0, apoyado en una base redonda en center y que crece height a lo largo de direction.

      radius1 es la base y radius2 la cima; un radio superior de 0 hace un cono con punta. angle, en grados, recorta una cuña de la vuelta completa de 360 grados.

      Parameters

      • inputs: Bit.Inputs.OCCT.ConeDto

        Los radios de la base y de la cima, la altura, el centro de la base, la dirección y un ángulo parcial opcional

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const cone = await bitbybit.occt.shapes.solid.createCone({ radius1: 5, radius2: 0, height: 10, center: [0, 0, 0], direction: [0, 1, 0], angle: 360 });
      
    • Crea un sólido de toro, un anillo de sección redonda, centrado en center con su eje a lo largo de direction.

      majorRadius es la distancia del centro al centro del tubo y minorRadius el radio propio del tubo. angle, en grados, hace un anillo parcial en lugar de los 360 grados completos.

      Parameters

      • inputs: Bit.Inputs.OCCT.TorusDto

        Los radios mayor y menor, el centro, la dirección y un ángulo parcial opcional

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const ring = await bitbybit.occt.shapes.solid.createTorus({ majorRadius: 10, minorRadius: 2, center: [0, 0, 0], direction: [0, 1, 0], angle: 360 });
      
    • Crea un sólido en forma de estrella extruyendo un perfil de estrella plano hacia delante y hacia atrás a lo largo de su propia normal.

      extrusionLengthFront y extrusionLengthBack dicen cuánto crece hacia cada lado, en unidades del modelo; al menos uno debe ser mayor que 0 o se lanza un error. La estrella en sí se construye como la construye shapes.wire.createStarWire.

      Parameters

      • inputs: StarSolidDto

        El perfil de estrella y las dos longitudes de extrusión

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const star = await bitbybit.occt.shapes.solid.createStarSolid({
      numRays: 5,
      outerRadius: 10,
      innerRadius: 5,
      half: false,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      extrusionLengthFront: 2,
      extrusionLengthBack: 0,
      });
    • Crea un sólido de sección poligonal regular extruyendo un perfil plano de n lados hacia delante y hacia atrás a lo largo de su propia normal.

      extrusionLengthFront y extrusionLengthBack dicen cuánto crece hacia cada lado, en unidades del modelo; al menos uno debe ser mayor que 0 o se lanza un error.

      Parameters

      • inputs: NGonSolidDto

        El perfil poligonal y las dos longitudes de extrusión

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const hexPrism = await bitbybit.occt.shapes.solid.createNGonSolid({
      nrCorners: 6,
      radius: 5,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      extrusionLengthFront: 10,
      extrusionLengthBack: 0,
      });
    • Crea un sólido de sección de paralelogramo extruyendo un perfil de paralelogramo plano hacia delante y hacia atrás a lo largo de su propia normal.

      extrusionLengthFront y extrusionLengthBack dicen cuánto crece hacia cada lado, en unidades del modelo; al menos uno debe ser mayor que 0 o se lanza un error.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const slab = await bitbybit.occt.shapes.solid.createParallelogramSolid({
      width: 10,
      height: 5,
      angle: 15,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      aroundCenter: true,
      extrusionLengthFront: 2,
      extrusionLengthBack: 0,
      });
    • Crea un sólido en forma de corazón extruyendo un perfil de corazón plano hacia delante y hacia atrás a lo largo de su propia normal.

      extrusionLengthFront y extrusionLengthBack dicen cuánto crece hacia cada lado, en unidades del modelo; al menos uno debe ser mayor que 0 o se lanza un error.

      Parameters

      • inputs: HeartSolidDto

        El perfil de corazón y las dos longitudes de extrusión

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const heart = await bitbybit.occt.shapes.solid.createHeartSolid({
      sizeApprox: 10,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      extrusionLengthFront: 2,
      extrusionLengthBack: 0,
      });
    • Crea un sólido con forma de árbol de Navidad extruyendo un perfil de árbol plano hacia delante y hacia atrás a lo largo de su propia normal.

      extrusionLengthFront y extrusionLengthBack dicen cuánto crece hacia cada lado, en unidades del modelo; al menos uno debe ser mayor que 0 o se lanza un error.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const tree = await bitbybit.occt.shapes.solid.createChristmasTreeSolid({
      height: 10,
      innerDist: 1.5,
      outerDist: 3,
      nrSkirts: 5,
      trunkHeight: 1,
      trunkWidth: 1,
      half: false,
      rotation: 0,
      origin: [0, 0, 0],
      direction: [0, 1, 0],
      extrusionLengthFront: 2,
      extrusionLengthBack: 0,
      });
    • Crea un sólido en forma de L extruyendo un perfil en L plano hacia delante y hacia atrás a lo largo de su propia normal.

      extrusionLengthFront y extrusionLengthBack dicen cuánto crece hacia cada lado, en unidades del modelo; al menos uno debe ser mayor que 0 o se lanza un error.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nuevo sólido

      const bracket = await bitbybit.occt.shapes.solid.createLPolygonSolid({
      widthFirst: 10,
      lengthFirst: 20,
      widthSecond: 10,
      lengthSecond: 15,
      align: Bit.Inputs.OCCT.directionEnum.outside,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      extrusionLengthFront: 2,
      extrusionLengthBack: 0,
      });