Bitbybit Docs
    Preparing search index...

    Class Asset

    脚本的文件输入和输出:运行中的应用程序按名称存储的资源、从 URL 获取的文件、下载,以及 File、Blob、ArrayBuffer 和 Uint8Array 之间的转换。应用程序通过 assetManager 提供查找,因此资源名称解析到什么取决于脚本在哪里运行;获取需要一个允许跨域请求的端点。

    Index

    Constructors

    Properties

    assetManager: AssetManager

    convert

    • 将 File 或 Blob 的所有字节读入 ArrayBuffer,这是二进制加载器和 STEP 转换器接受的形式。

      Parameters

      • inputs: FileDto

        要读取的 File 或 Blob

      Returns Promise<ArrayBuffer>

      以 ArrayBuffer 表示的字节

      const buffer = await bitbybit.asset.toArrayBuffer({ file });
      
    • 将 File 或 Blob 的所有字节读入 Uint8Array,即可以索引和切片的字节数组。

      Parameters

      • inputs: FileDto

        要读取的 File 或 Blob

      Returns Promise<Uint8Array<ArrayBufferLike>>

      以 Uint8Array 表示的字节

      const bytes = await bitbybit.asset.toUint8Array({ file });
      
    • 将 Blob 包装成带名称和 MIME 类型的 File,需要文件名的加载器需要它;省略 mimeType 时保留 Blob 自身的类型。

      Parameters

      Returns File

      File

      const file = bitbybit.asset.blobToFile({ blob, fileName: "part.step", mimeType: "application/step" });
      
    • 将 File 的字节复制到类型相同的普通 Blob 中,丢弃名称;传入的 Blob 以副本返回。

      Parameters

      • inputs: FileDto

        要复制的 File 或 Blob

      Returns Blob

      Blob

      const blob = bitbybit.asset.fileToBlob({ file });
      
    • 以 Uint8Array 视图查看 ArrayBuffer 的字节;不复制任何字节,两者共享同一块内存。

      Parameters

      Returns Uint8Array

      基于相同字节的 Uint8Array

      const bytes = bitbybit.asset.arrayBufferToUint8Array({ arrayBuffer });
      
    • 将 Uint8Array 覆盖的字节精确复制到新的 ArrayBuffer 中,因此较大缓冲区部分区域上的视图只给出其自身的部分。

      Parameters

      Returns ArrayBuffer

      新的 ArrayBuffer

      const buffer = bitbybit.asset.uint8ArrayToArrayBuffer({ uint8Array: bytes });
      

    create

    • 为内存中的 File 或 Blob 创建临时 URL,使其可以交给任何从 URL 加载的东西,例如纹理或模型加载器。

      该 URL 与页面同寿命。

      Parameters

      Returns string

      临时 URL

      const url = bitbybit.asset.createObjectURL({ file });
      
    • 为列表中的每个 File 或 Blob 创建临时 URL,顺序相同,与 createObjectURL 对一个所做的相同。

      Parameters

      Returns string[]

      每个文件一个临时 URL,顺序相同

      const urls = bitbybit.asset.createObjectURLs({ files: [fileA, fileB] });
      

    download

    • 启动给定内容的浏览器下载,文件名为 fileNameextension

      文本内容被包装成 contentType 类型的 Blob;Blob 原样下载。

      Parameters

      • inputs: DownloadDto

        文件名、内容、扩展名和内容类型

      Returns void

      bitbybit.asset.download({ fileName: "points", content: "x,y,z\n1,2,3", extension: "csv", contentType: "text/csv" });
      

    fetch

    • 将 URL 处的内容下载为 Blob,即没有文件名的原始字节;服务器必须允许跨域请求。

      Parameters

      Returns Promise<Blob>

      以 Blob 表示的响应体

      const blob = await bitbybit.asset.fetchBlob({ url: "https://example.com/models/part.glb" });
      
    • 将 URL 处的内容下载为以 URL 最后一部分命名的 File,不含其查询字符串;服务器必须允许跨域请求。

      Parameters

      Returns Promise<File>

      以 File 表示的响应体

      const file = await bitbybit.asset.fetchFile({ url: "https://example.com/models/part.step" });
      const shape = await bitbybit.occt.io.loadSTEPorIGES({ assetFile: file, adjustZtoY: true });
    • 下载 URL 处的内容并将其解析为 JSON;服务器必须允许跨域请求,且正文必须是有效的 JSON。

      Parameters

      Returns Promise<any>

      解析后的 JSON 值

      const settings = await bitbybit.asset.fetchJSON({ url: "https://example.com/data/settings.json" });
      
    • 将 URL 处的内容下载为纯文本;服务器必须允许跨域请求。

      Parameters

      Returns Promise<string>

      以文本表示的响应体

      const csv = await bitbybit.asset.fetchText({ url: "https://example.com/data/points.csv" });
      

    get

    • 通过应用程序在 assetManager.getAsset 中提供的查找方式,将运行中的应用程序的命名资源加载为 File。

      在哪个存储中查找该名称取决于应用程序;缺失的资源会使 promise 被拒绝。

      Parameters

      Returns Promise<File>

      以 File 表示的资源

      const file = await bitbybit.asset.getFile({ fileName: "part.step" });
      const shape = await bitbybit.occt.io.loadSTEPorIGES({ assetFile: file, adjustZtoY: true });
    • 加载运行中的应用程序的命名资源并将其读为文本,用于作为资源存储的 JSON、CSV 或其他文本文件。

      Parameters

      Returns Promise<string>

      以文本表示的资源内容

      const csv = await bitbybit.asset.getTextFile({ fileName: "points.csv" });
      const rows = bitbybit.csv.parseToArray({ csv, rowSeparator: "\n", columnSeparator: "," });
    • 通过应用程序在 assetManager.getLocalAsset 中提供的查找方式,加载命名的本地资源,即保存在浏览器中而不是服务器上的资源。

      解析为多个文件的名称给出一个列表。

      Parameters

      Returns Promise<File | File[]>

      以 File 表示的资源,当该名称包含多个文件时为 File 列表

      const file = await bitbybit.asset.getLocalFile({ fileName: "part.step" });
      
    • 加载命名的本地资源(保存在浏览器中而不是服务器上的资源)并将其读为文本;解析为多个文件的名称给出文本列表。

      Parameters

      Returns Promise<string | string[]>

      以文本表示的内容,当该名称包含多个文件时为文本列表

      const text = await bitbybit.asset.getLocalTextFile({ fileName: "settings.json" });