Bitbybit Docs
    Preparing search index...

    Class OCCTSolid

    Sólidos em OpenCascade: formas fechadas que englobam um volume. Construa um a partir de uma primitiva (createBox, createSphere, createCylinder, createCone, createTorus), a partir de um perfil plano extrudido para a frente e para trás (os sólidos de perfil em estrela, n-gono, coração, viga e outros), ou a partir de uma casca fechada com fromClosedShell; depois meça-o com os getters de volume, área da superfície e centro de massa, e filtre pontos consoante estejam dentro dele. Vértices, arestas, fios, faces, cascas e compostos têm as suas próprias classes ao lado desta em shapes.

    Index

    Constructors

    beam

    • Cria uma viga em I extrudindo o seu perfil plano para a frente e para trás ao longo da sua própria normal.

      extrusionLengthFront e extrusionLengthBack dizem quanto cresce para cada lado, em unidades do modelo; pelo menos um tem de ser maior que 0 ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Um novo 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,
      });
    • Cria uma viga em H extrudindo o seu perfil plano para a frente e para trás ao longo da sua própria normal.

      extrusionLengthFront e extrusionLengthBack dizem quanto cresce para cada lado, em unidades do modelo; pelo menos um tem de ser maior que 0 ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Um novo 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,
      });
    • Cria uma viga em T extrudindo o seu perfil plano para a frente e para trás ao longo da sua própria normal.

      extrusionLengthFront e extrusionLengthBack dizem quanto cresce para cada lado, em unidades do modelo; pelo menos um tem de ser maior que 0 ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Um novo 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,
      });
    • Cria uma viga em U extrudindo o seu perfil plano para a frente e para trás ao longo da sua própria normal.

      extrusionLengthFront e extrusionLengthBack dizem quanto cresce para cada lado, em unidades do modelo; pelo menos um tem de ser maior que 0 ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Um novo 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

    • Recolhe factos de diagnóstico sobre um sólido: se é válido, quantas faces e arestas tem, a sua área de superfície e volume, e para cada face o tipo de superfície, graus, contagens de pontos de controlo, limites e área.

      Uma forma vazia ou nula dá um relatório marcado como inválido com contagens a zero.

      Parameters

      Returns Promise<SolidDebugInfo>

      O relatório com as contagens, a área, o volume e uma entrada por face

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

    filter

    • Mantém os pontos que ficam dentro, na superfície ou fora de um sólido, conforme escolhido pelos indicadores keepIn, keepOn e keepOut.

      Um ponto conta como estando na superfície quando está dentro de tolerance dela. Os pontos que o kernel não consegue classificar só são mantidos com keepUnknown.

      Parameters

      Returns Promise<Point3[]>

      Os pontos que passaram o filtro, pela sua ordem 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

    • Transforma uma casca fechada num sólido, de modo que o volume que ela delimita se torna um corpo que pode ser medido, submetido a operações booleanas e malhado.

      A casca tem de ser estanque; uma casca com folgas produz um sólido que o kernel não consegue usar.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      O sólido delimitado pela casca

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

    get

    • Mede a área total de todas as faces de um sólido.

      Parameters

      Returns Promise<number>

      A área da superfície em unidades do modelo quadradas

      const area = await bitbybit.occt.shapes.solid.getSolidSurfaceArea({ shape: box });
      
    • Mede o volume que um sólido delimita, em unidades do modelo cúbicas.

      Parameters

      Returns Promise<number>

      O volume em unidades do modelo cúbicas

      const volume = await bitbybit.occt.shapes.solid.getSolidVolume({ shape: box });
      
    • Mede o volume de cada sólido de uma lista.

      Parameters

      Returns Promise<number[]>

      Um volume por sólido, pela mesma ordem

      const volumes = await bitbybit.occt.shapes.solid.getSolidsVolumes({ shapes: [box, sphere] });
      
    • Encontra o centro de massa de um sólido, tratando-o como preenchido com material de densidade uniforme.

      Parameters

      Returns Promise<Point3>

      O ponto do centro de massa

      const center = await bitbybit.occt.shapes.solid.getSolidCenterOfMass({ shape: box });
      
    • Encontra o centro de massa de cada sólido de uma lista, tratando cada um como preenchido com material de densidade uniforme.

      Parameters

      Returns Promise<Point3[]>

      Um ponto por sólido, pela mesma ordem

      const centers = await bitbybit.occt.shapes.solid.getSolidsCentersOfMass({ shapes: [box, sphere] });
      
    • Lista os sólidos dentro de qualquer forma, como os corpos de um composto ou o resultado de uma operação booleana.

      Uma forma que seja ela própria um sólido dá uma lista com esse único sólido.

      Parameters

      Returns Promise<TopoDSSolidPointer[]>

      Os sólidos encontrados na forma

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

    primitives

    • Cria um sólido de caixa com os seus lados paralelos aos eixos.

      width corre ao longo de X, height ao longo de Y (para cima) e length ao longo de Z, tudo em unidades do modelo. Por predefinição a caixa é centrada em center; com originOnCenter definido como falso assenta sobre esse ponto, de modo que center passa a ser o meio da face inferior.

      Parameters

      • inputs: BoxDto

        Tamanho da caixa, o ponto onde é colocada, e se fica centrada nele ou assente sobre ele

      Returns Promise<TopoDSSolidPointer>

      Um novo sólido

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 20, height: 5, center: [0, 0, 0], originOnCenter: true });
      
    • Cria um sólido de cubo, uma caixa com os três lados do mesmo tamanho, paralelos aos eixos.

      Por predefinição o cubo é centrado em center; com originOnCenter definido como falso assenta sobre esse ponto, de modo que center passa a ser o meio da face inferior.

      Parameters

      • inputs: Bit.Inputs.OCCT.CubeDto

        Tamanho do cubo, o ponto onde é colocado, e se fica centrado nele ou assente sobre ele

      Returns Promise<TopoDSSolidPointer>

      Um novo sólido

      const cube = await bitbybit.occt.shapes.solid.createCube({ size: 10, center: [0, 0, 0], originOnCenter: true });
      
    • Cria um sólido de caixa que começa num ponto de canto e se estende ao longo dos eixos positivos.

      O canto com os menores x, y e z fica em corner; a caixa estende-se width ao longo de X, height ao longo de Y e length ao longo de Z a partir daí, tudo em unidades do modelo.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Um novo sólido

      const box = await bitbybit.occt.shapes.solid.createBoxFromCorner({ width: 10, length: 20, height: 5, corner: [0, 0, 0] });
      
    • Cria um sólido de cilindro com uma base redonda em center, crescendo height ao longo de direction.

      Com originOnCenter ligado, o cilindro é recuado metade da sua altura para que center fique no seu meio. angle, em graus, recorta uma cunha da volta completa de 360 graus, como uma fatia de bolo.

      Parameters

      • inputs: Bit.Inputs.OCCT.CylinderDto

        Raio, altura, centro da base, direção, um ângulo parcial opcional e se deve centrar no ponto

      Returns Promise<TopoDSSolidPointer>

      Um novo 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 });
      
    • Cria um sólido de cilindro ao longo de cada linha, do seu início ao seu fim, todos com o mesmo raio.

      A altura de cada cilindro é o comprimento da sua linha.

      Parameters

      Returns Promise<TopoDSSolidPointer[]>

      Um sólido por linha, pela mesma ordem

      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,
      });
    • Cria um sólido de cone, ou um cone truncado quando ambos os raios são maiores que 0, assente numa base redonda em center e crescendo height ao longo de direction.

      radius1 é a base e radius2 o topo; um raio de topo de 0 cria um cone pontiagudo. angle, em graus, recorta uma cunha da volta completa de 360 graus.

      Parameters

      • inputs: Bit.Inputs.OCCT.ConeDto

        Raio da base e do topo, altura, centro da base, direção e um ângulo parcial opcional

      Returns Promise<TopoDSSolidPointer>

      Um novo 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 });
      
    • Cria um sólido de toro, um anel com secção transversal redonda, centrado em center com o seu eixo ao longo de direction.

      majorRadius é a distância do centro ao meio do tubo e minorRadius o raio próprio do tubo. angle, em graus, cria um anel parcial em vez dos 360 graus completos.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Um novo sólido

      const ring = await bitbybit.occt.shapes.solid.createTorus({ majorRadius: 10, minorRadius: 2, center: [0, 0, 0], direction: [0, 1, 0], angle: 360 });
      
    • Cria um sólido em forma de estrela extrudindo um perfil plano de estrela para a frente e para trás ao longo da sua própria normal.

      extrusionLengthFront e extrusionLengthBack dizem quanto cresce para cada lado, em unidades do modelo; pelo menos um tem de ser maior que 0 ou é lançado um erro. A própria estrela é construída como shapes.wire.createStarWire a constrói.

      Parameters

      • inputs: StarSolidDto

        O perfil em estrela e os dois comprimentos de extrusão

      Returns Promise<TopoDSSolidPointer>

      Um novo 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,
      });
    • Cria um sólido com secção transversal de polígono regular extrudindo um perfil plano de n-gono para a frente e para trás ao longo da sua própria normal.

      extrusionLengthFront e extrusionLengthBack dizem quanto cresce para cada lado, em unidades do modelo; pelo menos um tem de ser maior que 0 ou é lançado um erro.

      Parameters

      • inputs: NGonSolidDto

        O perfil poligonal e os dois comprimentos de extrusão

      Returns Promise<TopoDSSolidPointer>

      Um novo 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,
      });
    • Cria um sólido com secção transversal de paralelogramo extrudindo um perfil plano de paralelogramo para a frente e para trás ao longo da sua própria normal.

      extrusionLengthFront e extrusionLengthBack dizem quanto cresce para cada lado, em unidades do modelo; pelo menos um tem de ser maior que 0 ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Um novo 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,
      });
    • Cria um sólido em forma de coração extrudindo um perfil plano de coração para a frente e para trás ao longo da sua própria normal.

      extrusionLengthFront e extrusionLengthBack dizem quanto cresce para cada lado, em unidades do modelo; pelo menos um tem de ser maior que 0 ou é lançado um erro.

      Parameters

      • inputs: HeartSolidDto

        O perfil em coração e os dois comprimentos de extrusão

      Returns Promise<TopoDSSolidPointer>

      Um novo 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,
      });
    • Cria um sólido em forma de árvore de Natal extrudindo um perfil plano de árvore para a frente e para trás ao longo da sua própria normal.

      extrusionLengthFront e extrusionLengthBack dizem quanto cresce para cada lado, em unidades do modelo; pelo menos um tem de ser maior que 0 ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Um novo 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,
      });
    • Cria um sólido em forma de L extrudindo um perfil plano em L para a frente e para trás ao longo da sua própria normal.

      extrusionLengthFront e extrusionLengthBack dizem quanto cresce para cada lado, em unidades do modelo; pelo menos um tem de ser maior que 0 ou é lançado um erro.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Um novo 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,
      });