Bitbybit Docs
    Preparing search index...

    Class BabylonIO

    Загрузка моделей в сцену и ее экспорт: файлы glTF, glb, STL и OBJ приходят из File, URL или сырых байтов glb как один меш-контейнер с их потомками под ним, а вся сцена или выбранные меши выходят как скачиваемые файлы .babylon, glb или STL.

    Index

    Constructors

    export

    • Скачивает всю сцену как файл .babylon, собственный формат JSON движка, который читают его редакторы и загрузчики; расширение добавляется, если отсутствует.

      Parameters

      Returns void

      bitbybit.babylon.io.exportBabylon({ fileName: "my-scene" });
      
    • Скачивает всю сцену как файл glb, двоичный glTF, который читают большинство 3D-инструментов и веб-просмотрщиков; discardSkyboxAndGrid исключает скайбокс и землю, которые добавляет эта библиотека.

      Parameters

      • inputs: ExportSceneGlbDto

        Имя файла и исключать ли скайбокс и землю

      Returns void

      bitbybit.babylon.io.exportGLB({ fileName: "my-scene", discardSkyboxAndGrid: true });
      
    • Записывает всю сцену или выбранные узлы с их предками как байты glb, ничего не скачивая, чтобы их можно было сохранить, передать дальше или загрузить обратно через loadGlbFromArrayBuffer.

      Каждый предок выбранного узла тоже записывается, чтобы геометрия сохранила своё место, а файл несёт материалы, которые есть у мешей в момент вызова.

      Parameters

      • inputs: ExportSceneGlbBytesDto

        Узлы для записи, исключать ли скайбокс и землю и сжимать ли с помощью Draco

      Returns Promise<Uint8Array<ArrayBufferLike>>

      Файл glb в виде байтов

      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 });
    • Скачивает меш и его видимые дочерние меши как один файл STL, простой треугольный формат, который принимают 3D-принтеры; линии исключаются.

      Parameters

      Returns Promise<any>

      Пустой объект после начала скачивания

      await bitbybit.babylon.io.exportMeshToStl({ mesh, fileName: "part" });
      
    • Скачивает несколько мешей, с их дочерними мешами, как один файл STL; линии исключаются.

      Parameters

      Returns Promise<any>

      Пустой объект после начала скачивания

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

    load

    • Загружает модель glTF, glb, STL или OBJ из File в сцену и возвращает меш-контейнер с мешами модели в качестве дочерних; любое другое расширение выбрасывает ошибку.

      Загруженные меши отбрасывают и принимают тени и начинают скрытыми, когда hidden равно true.

      Parameters

      • inputs: AssetFileDto

        Файл модели и должна ли она быть скрыта изначально

      Returns Promise<Mesh>

      Меш-контейнер, содержащий загруженную модель

      const file = await bitbybit.asset.getFile({ fileName: "chair.glb" });
      const model = await bitbybit.babylon.io.loadAssetIntoScene({ assetFile: file, hidden: false });
    • Загружает модель glTF, glb, STL или OBJ из File в сцену, как loadAssetIntoScene, не возвращая меш.

      Parameters

      • inputs: AssetFileDto

        Файл модели и должна ли она быть скрыта изначально

      Returns Promise<void>

      const file = await bitbybit.asset.getFile({ fileName: "chair.glb" });
      await bitbybit.babylon.io.loadAssetIntoSceneNoReturn({ assetFile: file, hidden: false });
    • Загружает модель glTF, glb, STL или OBJ с веб-адреса в сцену и возвращает меш-контейнер с мешами модели в качестве дочерних.

      rootUrl - папка, а assetFile - имя файла в ней, так что текстуры рядом с моделью тоже находятся; сервер должен разрешать кросс-доменные запросы.

      Parameters

      • inputs: AssetFileByUrlDto

        URL папки, имя файла и должна ли модель быть скрыта изначально

      Returns Promise<Mesh>

      Меш-контейнер, содержащий загруженную модель

      const model = await bitbybit.babylon.io.loadAssetIntoSceneFromRootUrl({ rootUrl: "https://example.com/models/", assetFile: "chair.glb", hidden: false });
      
    • Загружает модель с веб-адреса в сцену, как loadAssetIntoSceneFromRootUrl, не возвращая меш.

      Parameters

      • inputs: AssetFileByUrlDto

        URL папки, имя файла и должна ли модель быть скрыта изначально

      Returns Promise<void>

      await bitbybit.babylon.io.loadAssetIntoSceneFromRootUrlNoReturn({ rootUrl: "https://example.com/models/", assetFile: "chair.glb", hidden: false });
      
    • Загружает модель glb, хранящуюся как байты, в сцену, например результат occt.io.convertStepToGltf, и возвращает меш-контейнер с мешами модели в качестве дочерних.

      Parameters

      • inputs: AssetGlbDataDto

        Байты glb, имя модели и должна ли она быть скрыта изначально

      Returns Promise<Mesh>

      Меш-контейнер, содержащий загруженную модель

      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 });
    • Загружает модель glb, хранящуюся как байты, в сцену, как loadGlbFromArrayBuffer, не возвращая меш.

      Parameters

      • inputs: AssetGlbDataDto

        Байты glb, имя модели и должна ли она быть скрыта изначально

      Returns Promise<void>

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