Bitbybit Docs
    Bereite Suchindex vor...

    Klasse BabylonIO

    Modelle in die Szene laden und sie exportieren: glTF-, glb-, STL- und OBJ-Dateien kommen aus einem File, einer URL oder rohen glb-Bytes als ein Container-Mesh mit ihren Kindern darunter herein, und die ganze Szene oder ausgewählte Meshes gehen als .babylon-, glb- oder STL-Downloads hinaus.

    Index

    Konstruktoren

    export

    • Lädt die ganze Szene als .babylon-Datei herunter, das eigene JSON-Format der Engine, das ihre Editoren und Lader wieder einlesen; die Erweiterung wird angehängt, wenn sie fehlt.

      Parameter

      Rückgabewert void

      bitbybit.babylon.io.exportBabylon({ fileName: "my-scene" });
      
    • Lädt die ganze Szene als glb-Datei herunter, das binäre glTF, das die meisten 3D-Werkzeuge und Web-Viewer lesen; discardSkyboxAndGrid lässt die Skybox und den Boden weg, die diese Bibliothek hinzufügt.

      Parameter

      Rückgabewert void

      bitbybit.babylon.io.exportGLB({ fileName: "my-scene", discardSkyboxAndGrid: true });
      
    • Schreibt die ganze Szene oder ausgewählte Knoten mit ihren Vorfahren als glb-Bytes, ohne etwas herunterzuladen, sodass sie gespeichert, weitergegeben oder mit loadGlbFromArrayBuffer zurückgeladen werden können.

      Jeder Vorfahre eines gewählten Knotens wird ebenfalls geschrieben, damit die Geometrie an ihrem Platz bleibt, und die Datei trägt die Materialien, die die Meshes zum Zeitpunkt des Aufrufs haben.

      Parameter

      • inputs: ExportSceneGlbBytesDto

        Die zu schreibenden Knoten, ob die Skybox und der Boden weggelassen werden und ob mit Draco komprimiert wird

      Rückgabewert Promise<Uint8Array<ArrayBufferLike>>

      Die glb-Datei als Bytes

      const glb = await bitbybit.babylon.io.exportGLBBytes({ nodes: [chair], discardSkyboxAndGrid: true, compressWithDraco: false });
      const copy = await bitbybit.babylon.io.loadGlbFromArrayBuffer({ glbData: glb, fileName: "chair.glb", hidden: false });
    • Lädt ein Mesh und seine sichtbaren Kind-Meshes als eine STL-Datei herunter, das einfache Dreiecksformat, das 3D- Drucker nehmen; Linien werden weggelassen.

      Parameter

      Rückgabewert Promise<any>

      Ein leeres Objekt, sobald der Download begonnen hat

      await bitbybit.babylon.io.exportMeshToStl({ mesh, fileName: "part" });
      
    • Lädt mehrere Meshes, mit ihren Kind-Meshes, als eine STL-Datei herunter; Linien werden weggelassen.

      Parameter

      Rückgabewert Promise<any>

      Ein leeres Objekt, sobald der Download begonnen hat

      await bitbybit.babylon.io.exportMeshesToStl({ meshes: [meshA, meshB], fileName: "parts" });
      

    load

    • Lädt ein glTF-, glb-, STL- oder OBJ-Modell aus einem File in die Szene und gibt ein Container- Mesh mit den Meshes des Modells als seinen Kindern zurück; jede andere Erweiterung löst einen Fehler aus.

      Die geladenen Meshes werfen und empfangen Schatten und beginnen ausgeblendet, wenn hidden true ist.

      Parameter

      • inputs: AssetFileDto

        Die Modelldatei und ob es zunächst verborgen ist

      Rückgabewert Promise<Mesh>

      Das Container-Mesh, das das geladene Modell enthält

      const file = await bitbybit.asset.getFile({ fileName: "chair.glb" });
      const model = await bitbybit.babylon.io.loadAssetIntoScene({ assetFile: file, hidden: false });
    • Lädt ein glTF-, glb-, STL- oder OBJ-Modell aus einem File in die Szene, wie loadAssetIntoScene es tut, ohne das Mesh zurückzugeben.

      Parameter

      • inputs: AssetFileDto

        Die Modelldatei und ob es zunächst verborgen ist

      Rückgabewert Promise<void>

      const file = await bitbybit.asset.getFile({ fileName: "chair.glb" });
      await bitbybit.babylon.io.loadAssetIntoSceneNoReturn({ assetFile: file, hidden: false });
    • Lädt ein glTF-, glb-, STL- oder OBJ-Modell von einer Webadresse in die Szene und gibt ein Container-Mesh mit den Meshes des Modells als seinen Kindern zurück.

      rootUrl ist der Ordner und assetFile der Dateiname darin, sodass auch Texturen neben dem Modell aufgelöst werden; der Server muss Cross-Origin-Anfragen erlauben.

      Parameter

      • inputs: AssetFileByUrlDto

        Die Ordner-URL, der Dateiname und ob es zunächst verborgen ist

      Rückgabewert Promise<Mesh>

      Das Container-Mesh, das das geladene Modell enthält

      const model = await bitbybit.babylon.io.loadAssetIntoSceneFromRootUrl({ rootUrl: "https://example.com/models/", assetFile: "chair.glb", hidden: false });
      
    • Lädt ein Modell von einer Webadresse in die Szene, wie loadAssetIntoSceneFromRootUrl es tut, ohne das Mesh zurückzugeben.

      Parameter

      • inputs: AssetFileByUrlDto

        Die Ordner-URL, der Dateiname und ob es zunächst verborgen ist

      Rückgabewert Promise<void>

      await bitbybit.babylon.io.loadAssetIntoSceneFromRootUrlNoReturn({ rootUrl: "https://example.com/models/", assetFile: "chair.glb", hidden: false });
      
    • Lädt ein als Bytes vorliegendes glb-Modell in die Szene, etwa die Ausgabe von occt.io.convertStepToGltf, und gibt ein Container-Mesh mit den Meshes des Modells als seinen Kindern zurück.

      Parameter

      • inputs: AssetGlbDataDto

        Die glb-Bytes, ein Name für das Modell und ob es zunächst verborgen ist

      Rückgabewert Promise<Mesh>

      Das Container-Mesh, das das geladene Modell enthält

      const glb = await bitbybit.occt.io.convertStepToGltf({ stepData: file, meshPrecision: 0.005, meshAngle: 0.5, meshRelative: true, internalVerticesMode: false, controlSurfaceDeflection: false });
      const model = await bitbybit.babylon.io.loadGlbFromArrayBuffer({ glbData: glb, fileName: "part.glb", hidden: false });
    • Lädt ein als Bytes vorliegendes glb-Modell in die Szene, wie loadGlbFromArrayBuffer es tut, ohne das Mesh zurückzugeben.

      Parameter

      • inputs: AssetGlbDataDto

        Die glb-Bytes, ein Name für das Modell und ob es zunächst verborgen ist

      Rückgabewert Promise<void>

      await bitbybit.babylon.io.loadGlbFromArrayBufferNoReturn({ glbData: glb, fileName: "part.glb", hidden: false });