Bitbybit Docs
    Preparing search index...

    Class OCCTSolid

    Solides dans OpenCascade : des formes fermées qui enferment un volume. Construisez-en un à partir d'une primitive (createBox, createSphere, createCylinder, createCone, createTorus), à partir d'un profil plan extrudé devant et derrière (les solides de profil étoile, n-gone, cœur, poutre et autres), ou à partir d'une coque fermée avec fromClosedShell ; puis mesurez-le avec les getters de volume, d'aire de surface et de centre de masse, et filtrez des points selon qu'ils se trouvent à l'intérieur. Les sommets, arêtes, fils, faces, coques et composés ont leurs propres classes à côté de celle-ci sous shapes.

    Index

    Constructors

    beam

    • Crée une poutre en I en extrudant son profil plan vers l'avant et vers l'arrière le long de sa propre normale.

      extrusionLengthFront et extrusionLengthBack disent de combien elle s'étend de chaque côté, en unités du modèle ; au moins l'un des deux doit être supérieur à 0, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      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,
      });
    • Crée une poutre en H en extrudant son profil plan vers l'avant et vers l'arrière le long de sa propre normale.

      extrusionLengthFront et extrusionLengthBack disent de combien elle s'étend de chaque côté, en unités du modèle ; au moins l'un des deux doit être supérieur à 0, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      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,
      });
    • Crée une poutre en T en extrudant son profil plan vers l'avant et vers l'arrière le long de sa propre normale.

      extrusionLengthFront et extrusionLengthBack disent de combien elle s'étend de chaque côté, en unités du modèle ; au moins l'un des deux doit être supérieur à 0, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      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,
      });
    • Crée une poutre en U en extrudant son profil plan vers l'avant et vers l'arrière le long de sa propre normale.

      extrusionLengthFront et extrusionLengthBack disent de combien elle s'étend de chaque côté, en unités du modèle ; au moins l'un des deux doit être supérieur à 0, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      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

    • Rassemble des informations de diagnostic sur un solide : s'il est valide, combien de faces et d'arêtes il a, son aire de surface et son volume, et pour chaque face le type de surface, les degrés, le nombre de points de contrôle, les limites et l'aire.

      Une forme vide ou null donne un rapport marqué invalide avec des comptes à zéro.

      Parameters

      Returns Promise<SolidDebugInfo>

      Le rapport avec les décomptes, l'aire, le volume et une entrée par face

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

    filter

    • Garde les points qui se trouvent à l'intérieur, à la surface ou à l'extérieur d'un solide, selon les indicateurs keepIn, keepOn et keepOut.

      Un point compte comme sur la surface quand il est à moins de tolerance d'elle. Les points que le noyau ne peut pas classer ne sont gardés qu'avec keepUnknown.

      Parameters

      Returns Promise<Point3[]>

      Les points qui ont passé le filtre, dans leur ordre d'origine

      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

    • Transforme une coque fermée en solide, de sorte que le volume qu'elle enferme devient un corps qui peut être mesuré, soumis aux opérations booléennes et maillé.

      La coque doit être étanche ; une coque avec des trous produit un solide que le noyau ne peut pas utiliser.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Le solide délimité par la coque

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

    get

    • Mesure l'aire totale de toutes les faces d'un solide.

      Parameters

      Returns Promise<number>

      L'aire de la surface en unités du modèle au carré

      const area = await bitbybit.occt.shapes.solid.getSolidSurfaceArea({ shape: box });
      
    • Mesure le volume qu'un solide enferme, en unités du modèle au cube.

      Parameters

      Returns Promise<number>

      Le volume en unités du modèle au cube

      const volume = await bitbybit.occt.shapes.solid.getSolidVolume({ shape: box });
      
    • Mesure le volume de chaque solide d'une liste.

      Parameters

      Returns Promise<number[]>

      Un volume par solide, dans le même ordre

      const volumes = await bitbybit.occt.shapes.solid.getSolidsVolumes({ shapes: [box, sphere] });
      
    • Trouve le centre de masse d'un solide, en le considérant rempli d'un matériau de densité uniforme.

      Parameters

      Returns Promise<Point3>

      Le point du centre de masse

      const center = await bitbybit.occt.shapes.solid.getSolidCenterOfMass({ shape: box });
      
    • Trouve le centre de masse de chaque solide d'une liste, en considérant chacun rempli d'un matériau de densité uniforme.

      Parameters

      Returns Promise<Point3[]>

      Un point par solide, dans le même ordre

      const centers = await bitbybit.occt.shapes.solid.getSolidsCentersOfMass({ shapes: [box, sphere] });
      
    • Liste les solides contenus dans n'importe quelle forme, tels que les corps d'un composé ou le résultat d'une opération booléenne.

      Une forme qui est elle-même un solide donne une liste avec ce seul solide.

      Parameters

      Returns Promise<TopoDSSolidPointer[]>

      Les solides trouvés dans la forme

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

    primitives

    • Crée un solide en boîte aux côtés parallèles aux axes.

      width suit X, height suit Y (le haut) et length suit Z, tous en unités du modèle. Par défaut la boîte est centrée sur center ; avec originOnCenter à faux, elle repose plutôt sur ce point, center devenant alors le milieu de la face du bas.

      Parameters

      • inputs: BoxDto

        La taille de la boîte, le point où elle est placée, et si elle est centrée dessus ou posée dessus

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 20, height: 5, center: [0, 0, 0], originOnCenter: true });
      
    • Crée un solide en cube, une boîte dont les trois côtés ont la même taille, parallèle aux axes.

      Par défaut le cube est centré sur center ; avec originOnCenter à faux, il repose plutôt sur ce point, center devenant alors le milieu de la face du bas.

      Parameters

      • inputs: Bit.Inputs.OCCT.CubeDto

        La taille du cube, le point où il est placé, et s'il est centré dessus ou posé dessus

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      const cube = await bitbybit.occt.shapes.solid.createCube({ size: 10, center: [0, 0, 0], originOnCenter: true });
      
    • Crée un solide en boîte qui commence à un point de coin et s'étend le long des axes positifs.

      Le coin de plus petits x, y et z se trouve à corner ; la boîte s'étend de width le long de X, height le long de Y et length le long de Z à partir de là, tous en unités du modèle.

      Parameters

      • inputs: BoxFromCornerDto

        La taille de la boîte et le coin à partir duquel elle s'étend

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      const box = await bitbybit.occt.shapes.solid.createBoxFromCorner({ width: 10, length: 20, height: 5, corner: [0, 0, 0] });
      
    • Crée un solide cylindrique à base ronde à center, s'élevant de height le long de direction.

      Avec originOnCenter actif, le cylindre est reculé de la moitié de sa hauteur pour que center se trouve en son milieu. angle, en degrés, découpe un secteur dans le tour complet de 360 degrés, comme une part de gâteau.

      Parameters

      • inputs: Bit.Inputs.OCCT.CylinderDto

        Le rayon, la hauteur, le centre de la base, la direction, un angle partiel facultatif et s'il faut centrer sur le point

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      const cylinder = await bitbybit.occt.shapes.solid.createCylinder({ radius: 5, height: 20, center: [0, 0, 0], direction: [0, 1, 0], angle: 360, originOnCenter: false });
      
    • Crée un solide cylindrique le long de chaque ligne, de son début à sa fin, tous du même rayon.

      La hauteur de chaque cylindre est la longueur de sa ligne.

      Parameters

      Returns Promise<TopoDSSolidPointer[]>

      Un solide par ligne, dans le même ordre

      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,
      });
    • Crée un solide sphérique du rayon donné autour d'un point central.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      const sphere = await bitbybit.occt.shapes.solid.createSphere({ radius: 5, center: [0, 0, 0] });
      
    • Crée un solide conique, ou un cône tronqué quand les deux rayons sont supérieurs à 0, reposant sur une base ronde à center et s'élevant de height le long de direction.

      radius1 est la base et radius2 le sommet ; un rayon de sommet de 0 fait un cône pointu. angle, en degrés, découpe un secteur dans le tour complet de 360 degrés.

      Parameters

      • inputs: Bit.Inputs.OCCT.ConeDto

        Les rayons de base et de sommet, la hauteur, le centre de la base, la direction et un angle partiel facultatif

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      const cone = await bitbybit.occt.shapes.solid.createCone({ radius1: 5, radius2: 0, height: 10, center: [0, 0, 0], direction: [0, 1, 0], angle: 360 });
      
    • Crée un solide torique, un anneau à section ronde, centré sur center avec son axe le long de direction.

      majorRadius est la distance du centre au milieu du tube et minorRadius le rayon propre du tube. angle, en degrés, fait un anneau partiel au lieu des 360 degrés complets.

      Parameters

      • inputs: Bit.Inputs.OCCT.TorusDto

        Les rayons majeur et mineur, le centre, la direction et un angle partiel facultatif

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      const ring = await bitbybit.occt.shapes.solid.createTorus({ majorRadius: 10, minorRadius: 2, center: [0, 0, 0], direction: [0, 1, 0], angle: 360 });
      
    • Crée un solide en forme d'étoile en extrudant un profil d'étoile plan vers l'avant et vers l'arrière le long de sa propre normale.

      extrusionLengthFront et extrusionLengthBack disent de combien il s'étend de chaque côté, en unités du modèle ; au moins l'un des deux doit être supérieur à 0, sinon une erreur est levée. L'étoile elle-même est construite comme shapes.wire.createStarWire la construit.

      Parameters

      • inputs: StarSolidDto

        Le profil en étoile et les deux longueurs d'extrusion

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      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,
      });
    • Crée un solide à section de polygone régulier en extrudant un profil de n-gone plan vers l'avant et vers l'arrière le long de sa propre normale.

      extrusionLengthFront et extrusionLengthBack disent de combien il s'étend de chaque côté, en unités du modèle ; au moins l'un des deux doit être supérieur à 0, sinon une erreur est levée.

      Parameters

      • inputs: NGonSolidDto

        Le profil polygonal et les deux longueurs d'extrusion

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      const hexPrism = await bitbybit.occt.shapes.solid.createNGonSolid({
      nrCorners: 6,
      radius: 5,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      extrusionLengthFront: 10,
      extrusionLengthBack: 0,
      });
    • Crée un solide à section de parallélogramme en extrudant un profil de parallélogramme plan vers l'avant et vers l'arrière le long de sa propre normale.

      extrusionLengthFront et extrusionLengthBack disent de combien il s'étend de chaque côté, en unités du modèle ; au moins l'un des deux doit être supérieur à 0, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      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,
      });
    • Crée un solide en forme de cœur en extrudant un profil de cœur plan vers l'avant et vers l'arrière le long de sa propre normale.

      extrusionLengthFront et extrusionLengthBack disent de combien il s'étend de chaque côté, en unités du modèle ; au moins l'un des deux doit être supérieur à 0, sinon une erreur est levée.

      Parameters

      • inputs: HeartSolidDto

        Le profil en cœur et les deux longueurs d'extrusion

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      const heart = await bitbybit.occt.shapes.solid.createHeartSolid({
      sizeApprox: 10,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      extrusionLengthFront: 2,
      extrusionLengthBack: 0,
      });
    • Crée un solide en forme de sapin de Noël en extrudant un profil de sapin plan vers l'avant et vers l'arrière le long de sa propre normale.

      extrusionLengthFront et extrusionLengthBack disent de combien il s'étend de chaque côté, en unités du modèle ; au moins l'un des deux doit être supérieur à 0, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

      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,
      });
    • Crée un solide en forme de L en extrudant un profil en L plan vers l'avant et vers l'arrière le long de sa propre normale.

      extrusionLengthFront et extrusionLengthBack disent de combien il s'étend de chaque côté, en unités du modèle ; au moins l'un des deux doit être supérieur à 0, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSSolidPointer>

      Un nouveau solide

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