Bitbybit Docs
    Bereite Suchindex vor...

    Klasse OCCTSolid

    Volumenkörper in OpenCascade: geschlossene Formen, die ein Volumen einschließen. Bauen Sie einen aus einem Primitiv (createBox, createSphere, createCylinder, createCone, createTorus), aus einem ebenen Profil, das nach vorn und hinten extrudiert wird (die Stern-, N-Eck-, Herz-, Träger- und anderen Profil-Volumenkörper), oder aus einer geschlossenen Schale mit fromClosedShell; messen Sie ihn dann mit den Gettern für Volumen, Oberflächeninhalt und Schwerpunkt, und filtern Sie Punkte danach, ob sie in ihm liegen. Vertices, Kanten, Drähte, Flächen, Schalen und Verbünde haben ihre eigenen Klassen neben dieser unter shapes.

    Index

    Konstruktoren

    beam

    • Erstellt einen I-Träger, indem sein flaches Profil vorwärts und rückwärts entlang seiner eigenen Normalen extrudiert wird.

      extrusionLengthFront und extrusionLengthBack sagen, wie weit er in jede Richtung wächst, in Modell- einheiten; mindestens eines muss über 0 liegen, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      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,
      });
    • Erstellt einen H-Träger, indem sein flaches Profil vorwärts und rückwärts entlang seiner eigenen Normalen extrudiert wird.

      extrusionLengthFront und extrusionLengthBack sagen, wie weit er in jede Richtung wächst, in Modell- einheiten; mindestens eines muss über 0 liegen, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      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,
      });
    • Erstellt einen T-Träger, indem sein flaches Profil vorwärts und rückwärts entlang seiner eigenen Normalen extrudiert wird.

      extrusionLengthFront und extrusionLengthBack sagen, wie weit er in jede Richtung wächst, in Modell- einheiten; mindestens eines muss über 0 liegen, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      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,
      });
    • Erstellt einen U-Träger, indem sein flaches Profil vorwärts und rückwärts entlang seiner eigenen Normalen extrudiert wird.

      extrusionLengthFront und extrusionLengthBack sagen, wie weit er in jede Richtung wächst, in Modell- einheiten; mindestens eines muss über 0 liegen, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      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

    • Sammelt diagnostische Fakten über einen Volumenkörper: ob er gültig ist, wie viele Flächen und Kanten er hat, seinen Oberflächeninhalt und sein Volumen, und für jede Fläche den Oberflächentyp, die Grade, die Anzahl der Kontroll- punkte, die Grenzen und den Flächeninhalt.

      Eine leere oder null-Form ergibt einen als ungültig markierten Bericht mit Nullzählungen.

      Parameter

      Rückgabewert Promise<SolidDebugInfo>

      Der Bericht mit Anzahlen, Flächeninhalt, Volumen und einem Eintrag pro Fläche

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

    filter

    • Behält die Punkte, die innerhalb, auf der Oberfläche oder außerhalb eines Volumenkörpers liegen, wie durch die Flags keepIn, keepOn und keepOut gewählt.

      Ein Punkt gilt als auf der Oberfläche, wenn er innerhalb von tolerance von ihr liegt. Punkte, die der Kernel nicht einordnen kann, werden nur mit keepUnknown behalten.

      Parameter

      Rückgabewert Promise<Point3[]>

      Die Punkte, die den Filter passiert haben, in ihrer ursprünglichen Reihenfolge

      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

    • Verwandelt eine geschlossene Schale in einen Volumenkörper, sodass das von ihr eingeschlossene Volumen zu einem Körper wird, der gemessen, boolesch verknüpft und vernetzt werden kann.

      Die Schale muss wasserdicht sein; eine Schale mit Lücken erzeugt einen Volumenkörper, den der Kernel nicht verwenden kann.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer>

      Der von der Schale begrenzte Volumenkörper

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

    get

    • Misst den Gesamtflächeninhalt aller Flächen eines Volumenkörpers.

      Parameter

      Rückgabewert Promise<number>

      Der Oberflächeninhalt in quadrierten Modelleinheiten

      const area = await bitbybit.occt.shapes.solid.getSolidSurfaceArea({ shape: box });
      
    • Misst das Volumen, das ein Volumenkörper einschließt, in kubischen Modelleinheiten.

      Parameter

      Rückgabewert Promise<number>

      Das Volumen in kubischen Modelleinheiten

      const volume = await bitbybit.occt.shapes.solid.getSolidVolume({ shape: box });
      
    • Misst das Volumen jedes Volumenkörpers in einer Liste.

      Parameter

      Rückgabewert Promise<number[]>

      Ein Volumen pro Volumenkörper, in derselben Reihenfolge

      const volumes = await bitbybit.occt.shapes.solid.getSolidsVolumes({ shapes: [box, sphere] });
      
    • Ermittelt den Schwerpunkt eines Volumenkörpers, als wäre er mit Material gleichmäßiger Dichte gefüllt.

      Parameter

      Rückgabewert Promise<Point3>

      Der Schwerpunkt

      const center = await bitbybit.occt.shapes.solid.getSolidCenterOfMass({ shape: box });
      
    • Ermittelt den Schwerpunkt jedes Volumenkörpers in einer Liste, als wäre jeder mit Material gleichmäßiger Dichte gefüllt.

      Parameter

      Rückgabewert Promise<Point3[]>

      Ein Punkt pro Volumenkörper, in derselben Reihenfolge

      const centers = await bitbybit.occt.shapes.solid.getSolidsCentersOfMass({ shapes: [box, sphere] });
      
    • Listet die Volumenkörper in einer beliebigen Form auf, etwa die Körper eines Verbunds oder das Ergebnis einer booleschen Operation.

      Eine Form, die selbst ein Volumenkörper ist, ergibt eine Liste mit diesem einen Volumenkörper.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer[]>

      Die in der Form gefundenen Volumenkörper

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

    primitives

    • Erstellt einen Quader-Volumenkörper mit achsenparallelen Seiten.

      width verläuft entlang X, height entlang Y (oben) und length entlang Z, alle in Modelleinheiten. Standard- mäßig ist der Quader auf center zentriert; mit originOnCenter auf false steht er stattdessen auf diesem Punkt, sodass center zur Mitte der Bodenfläche wird.

      Parameter

      • inputs: BoxDto

        Quadergröße, der Punkt, auf dem er platziert wird, und ob er darauf zentriert ist oder darauf steht

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 20, height: 5, center: [0, 0, 0], originOnCenter: true });
      
    • Erstellt einen Würfel-Volumenkörper, einen Quader mit allen drei Seiten gleich groß, achsenparallel.

      Standardmäßig ist der Würfel auf center zentriert; mit originOnCenter auf false steht er stattdessen auf diesem Punkt, sodass center zur Mitte der Bodenfläche wird.

      Parameter

      • inputs: Bit.Inputs.OCCT.CubeDto

        Würfelgröße, der Punkt, auf dem er platziert wird, und ob er darauf zentriert ist oder darauf steht

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      const cube = await bitbybit.occt.shapes.solid.createCube({ size: 10, center: [0, 0, 0], originOnCenter: true });
      
    • Erstellt einen Quader-Volumenkörper, der an einem Eckpunkt beginnt und sich entlang der positiven Achsen erstreckt.

      Die Ecke mit dem kleinsten x, y und z sitzt bei corner; der Quader reicht von dort width entlang X, height entlang Y und length entlang Z, alle in Modelleinheiten.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      const box = await bitbybit.occt.shapes.solid.createBoxFromCorner({ width: 10, length: 20, height: 5, corner: [0, 0, 0] });
      
    • Erstellt einen Zylinder-Volumenkörper mit einer runden Grundfläche bei center, der height entlang direction wächst.

      Mit originOnCenter an wird der Zylinder um die halbe Höhe zurückverschoben, sodass center in seiner Mitte sitzt. angle, in Grad, schneidet einen Keil aus der vollen 360-Grad-Runde, wie ein Stück Kuchen.

      Parameter

      • inputs: Bit.Inputs.OCCT.CylinderDto

        Radius, Höhe, Basismittelpunkt, Richtung, ein optionaler Teilwinkel und ob auf dem Punkt zentriert wird

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      const cylinder = await bitbybit.occt.shapes.solid.createCylinder({ radius: 5, height: 20, center: [0, 0, 0], direction: [0, 1, 0], angle: 360, originOnCenter: false });
      
    • Erstellt einen Zylinder-Volumenkörper entlang jeder Linie, von ihrem Anfang bis zu ihrem Ende, alle mit demselben Radius.

      Die Höhe jedes Zylinders ist die Länge seiner Linie.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer[]>

      Ein Volumenkörper pro Linie, in derselben Reihenfolge

      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,
      });
    • Erstellt einen Kugel-Volumenkörper mit dem gegebenen Radius um einen Mittelpunkt.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      const sphere = await bitbybit.occt.shapes.solid.createSphere({ radius: 5, center: [0, 0, 0] });
      
    • Erstellt einen Kegel-Volumenkörper, oder einen Kegelstumpf, wenn beide Radien über 0 liegen, der auf einer runden Grundfläche bei center steht und height entlang direction wächst.

      radius1 ist die Grundfläche und radius2 die Spitze; ein Spitzenradius von 0 ergibt einen spitzen Kegel. angle, in Grad, schneidet einen Keil aus der vollen 360-Grad-Runde.

      Parameter

      • inputs: Bit.Inputs.OCCT.ConeDto

        Basis- und Spitzenradius, Höhe, Basismittelpunkt, Richtung und ein optionaler Teilwinkel

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      const cone = await bitbybit.occt.shapes.solid.createCone({ radius1: 5, radius2: 0, height: 10, center: [0, 0, 0], direction: [0, 1, 0], angle: 360 });
      
    • Erstellt einen Torus-Volumenkörper, einen Ring mit rundem Querschnitt, zentriert auf center mit seiner Achse entlang direction.

      majorRadius ist der Abstand vom Mittelpunkt zur Mitte des Schlauchs und minorRadius der eigene Radius des Schlauchs. angle, in Grad, ergibt einen Teilring statt der vollen 360 Grad.

      Parameter

      • inputs: Bit.Inputs.OCCT.TorusDto

        Großer und kleiner Radius, Mittelpunkt, Richtung und ein optionaler Teilwinkel

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      const ring = await bitbybit.occt.shapes.solid.createTorus({ majorRadius: 10, minorRadius: 2, center: [0, 0, 0], direction: [0, 1, 0], angle: 360 });
      
    • Erstellt einen sternförmigen Volumenkörper, indem ein flaches Sternprofil vorwärts und rückwärts entlang seiner eigenen Normalen extrudiert wird.

      extrusionLengthFront und extrusionLengthBack sagen, wie weit er in jede Richtung wächst, in Modell- einheiten; mindestens eines muss über 0 liegen, sonst wird ein Fehler ausgelöst. Der Stern selbst wird so gebaut, wie shapes.wire.createStarWire ihn baut.

      Parameter

      • inputs: StarSolidDto

        Das Sternprofil und die beiden Extrusionslängen

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      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,
      });
    • Erstellt einen Volumenkörper mit regelmäßigem Polygonquerschnitt, indem ein flaches N-Eck-Profil vorwärts und rückwärts entlang seiner eigenen Normalen extrudiert wird.

      extrusionLengthFront und extrusionLengthBack sagen, wie weit er in jede Richtung wächst, in Modell- einheiten; mindestens eines muss über 0 liegen, sonst wird ein Fehler ausgelöst.

      Parameter

      • inputs: NGonSolidDto

        Das Polygonprofil und die beiden Extrusionslängen

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      const hexPrism = await bitbybit.occt.shapes.solid.createNGonSolid({
      nrCorners: 6,
      radius: 5,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      extrusionLengthFront: 10,
      extrusionLengthBack: 0,
      });
    • Erstellt einen Volumenkörper mit Parallelogrammquerschnitt, indem ein flaches Parallelogrammprofil vorwärts und rückwärts entlang seiner eigenen Normalen extrudiert wird.

      extrusionLengthFront und extrusionLengthBack sagen, wie weit er in jede Richtung wächst, in Modell- einheiten; mindestens eines muss über 0 liegen, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      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,
      });
    • Erstellt einen herzförmigen Volumenkörper, indem ein flaches Herzprofil vorwärts und rückwärts entlang seiner eigenen Normalen extrudiert wird.

      extrusionLengthFront und extrusionLengthBack sagen, wie weit er in jede Richtung wächst, in Modell- einheiten; mindestens eines muss über 0 liegen, sonst wird ein Fehler ausgelöst.

      Parameter

      • inputs: HeartSolidDto

        Das Herzprofil und die beiden Extrusionslängen

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      const heart = await bitbybit.occt.shapes.solid.createHeartSolid({
      sizeApprox: 10,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      extrusionLengthFront: 2,
      extrusionLengthBack: 0,
      });
    • Erstellt einen weihnachtsbaumförmigen Volumenkörper, indem ein flaches Baumprofil vorwärts und rückwärts entlang seiner eigenen Normalen extrudiert wird.

      extrusionLengthFront und extrusionLengthBack sagen, wie weit er in jede Richtung wächst, in Modell- einheiten; mindestens eines muss über 0 liegen, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

      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,
      });
    • Erstellt einen L-förmigen Volumenkörper, indem ein flaches L-Profil vorwärts und rückwärts entlang seiner eigenen Normalen extrudiert wird.

      extrusionLengthFront und extrusionLengthBack sagen, wie weit er in jede Richtung wächst, in Modell- einheiten; mindestens eines muss über 0 liegen, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSSolidPointer>

      Ein neuer Volumenkörper

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