Bitbybit Docs
    Bereite Suchindex vor...

    Klasse CrossSectionOperations

    Arbeiten mit Manifold-Querschnitten jenseits boolescher Operationen: sie durch Extrudieren entlang Z oder Rotieren in Volumenkörper verwandeln, ihre Umrisse versetzen, sie in eine konvexe Hülle einhüllen, sie vereinfachen und sie zusammensetzen und zerlegen. Jede Methode gibt eine neue Form zurück.

    Index

    Konstruktoren

    basic

    • Führt einen Querschnitt entlang Z zu einem Volumenkörper der gegebenen Höhe.

      twistDegrees dreht die Oberseite gegen die Unterseite, scaleTopX und scaleTopY verkleinern oder vergrößern sie, und nDivisions fügt Schnitte dazwischen ein, damit Verdrehungen und Verjüngungen glatt bleiben; 0 für beide oberen Skalierungen ergibt einen Kegel. center zentriert den Volumenkörper auf der XY-Ebene, statt ihn darauf zu stellen.

      Parameter

      Rückgabewert Promise<ManifoldPointer>

      Der extrudierte Volumenkörper

      const twisted = await bitbybit.manifold.crossSection.operations.extrude({ crossSection: square, height: 20, nDivisions: 20, twistDegrees: 90, scaleTopX: 0.5, scaleTopY: 0.5, center: false });
      
    • Rotiert einen Querschnitt um die Y-Achse zu einem Volumenkörper, wie eine Drehbank; nur der Teil des Umrisses auf der positiven X-Seite wird verwendet.

      revolveDegrees unter 360 ergibt eine Teilumdrehung und circularSegments legt fest, wie rund das Ergebnis ist. Der Kernel stellt das Ergebnis entlang Z auf; matchProfile, standardmäßig true, dreht es zurück, um zum Profil zu passen.

      Parameter

      Rückgabewert Promise<ManifoldPointer>

      Der rotierte Volumenkörper

      const vase = await bitbybit.manifold.crossSection.operations.revolve({ crossSection: profile, revolveDegrees: 360, circularSegments: 64, matchProfile: true });
      
    • Verschiebt den Umriss eines Querschnitts um delta nach außen, oder bei negativem Delta nach innen, sodass eine äußere Kontur wächst und ein Loch schrumpft.

      joinType sagt, wie Ecken behandelt werden: gerundet, abgeschnitten, auf Gehrung oder abgeschrägt; miterLimit begrenzt, wie weit eine Gehrung reichen darf, und circularSegments, wie rund eine gerundete Ecke ist. simplify bereinigt danach winzige Segmente.

      Parameter

      Rückgabewert Promise<CrossSectionPointer>

      Der versetzte Querschnitt

      const bigger = await bitbybit.manifold.crossSection.operations.offset({ crossSection: outline, delta: 1, joinType: Bit.Inputs.Manifold.manifoldJoinTypeEnum.round, miterLimit: 2, circularSegments: 32 });
      
    • Entfernt Punkte eines Querschnitts, die innerhalb von epsilon zur Linie zwischen ihren Nachbarn liegen, und verwirft so Beinahe-Duplikate und kollineare Punkte.

      Ein größeres Epsilon entfernt mehr; führen Sie es nach offset aus, um die winzigen Segmente zu bereinigen, die das Versetzen hinterlässt.

      Parameter

      Rückgabewert Promise<CrossSectionPointer>

      Der vereinfachte Querschnitt

      const cleaner = await bitbybit.manifold.crossSection.operations.simplify({ crossSection: offsetOutline, epsilon: 1e-4 });
      

    composition

    • Packt mehrere Querschnitte oder Polygone in einen Querschnitt, ohne sie zu verschmelzen, die Umkehrung von decompose.

      Parameter

      Rückgabewert Promise<CrossSectionPointer>

      Ein Querschnitt, der alle enthält

      const packed = await bitbybit.manifold.crossSection.operations.compose({ polygons: [square, disc] });