Bitbybit Docs
    Preparing search index...

    Class OCCTAssemblyManager

    Membangun dan mengubah dokumen rakitan: deskripsikan part, node rakitan dan node instans satu objek pada satu waktu, gabungkan menjadi struktur, dan bangun dokumen darinya; atau muat berkas STEP ke dalam dokumen. Lalu warnai ulang dan ganti nama label, perbarui atau hapus part, dan ekspor ke STEP atau glTF. Dokumen adalah handle di memori yang tetap hidup sampai dihapus, jadi bangun sekali dan kueri atau ekspor sesering yang dibutuhkan.

    Index

    Constructors

    Methods

    • Mendeskripsikan part yang diambil dari dokumen lain, biasanya yang dimuat dari STEP, sehingga seluruh pohon labelnya beserta sub-assembly, nama dan warna disalin ke dalam assembly baru.

      sourceDocumentIndex menunjuk ke dalam daftar sourceDocuments yang diberikan ke buildAssemblyDocument, dan sourceLabel memilih sub-pohon, bukan seluruh dokumen. Node instance menempatkannya menurut partId seperti part lainnya.

      Parameters

      • inputs: CreateImportedPartDto

        Id part, indeks dokumen sumber, serta label sumber, nama dan warna opsional

      Returns Promise<AssemblyLoadedPartDef>

      Definisi part impor, siap untuk combineStructure

      const chairDoc = await bitbybit.occt.assembly.manager.loadStepToDoc({ stepData });
      const chair = await bitbybit.occt.assembly.manager.createImportedPart({ id: "chair", sourceDocumentIndex: 0, name: "Chair" });
      const c1 = await bitbybit.occt.assembly.manager.createInstanceNode({ id: "c1", partId: "chair", name: "Chair 1", translation: [0, 0, 0] });
      const c2 = await bitbybit.occt.assembly.manager.createInstanceNode({ id: "c2", partId: "chair", name: "Chair 2", translation: [500, 0, 0] });
      const structure = await bitbybit.occt.assembly.manager.combineStructure({ parts: [], nodes: [c1, c2], loadedParts: [chair], clearDocument: false });
      const doc = await bitbybit.occt.assembly.manager.buildAssemblyDocument({ structure, sourceDocuments: [chairDoc] });

    assembly

    • Mendeskripsikan part untuk struktur assembly: id untuk merujuknya, bentuknya, nama dan warna opsional.

      Belum ada yang dibangun; part baru menjadi nyata jika struktur yang memuatnya melewati buildAssemblyDocument. Node instance menempatkan part menurut id-nya, sebanyak yang diperlukan.

      Parameters

      Returns Promise<AssemblyPartDef<TopoDSShapePointer>>

      Definisi part, siap untuk combineStructure

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 10, height: 10, center: [0, 0, 0] });
      const part = await bitbybit.occt.assembly.manager.createPart({ id: "box", shape: box, name: "Box", colorRgba: { r: 1, g: 0, b: 0, a: 1 } });
    • Mendeskripsikan node assembly, wadah yang mengelompokkan instance dan assembly lain dalam hierarki.

      parentId menyebutkan assembly tempatnya berada; kosongkan untuk root. Matriks opsional menempatkan seluruh kelompok.

      Parameters

      • inputs: CreateAssemblyNodeDto

        Id node, namanya, id induk opsional, warna opsional dan matriks penempatan opsional

      Returns Promise<AssemblyNodeDef>

      Definisi node, siap untuk combineStructure

      const root = await bitbybit.occt.assembly.manager.createAssemblyNode({ id: "root", name: "Root Assembly" });
      const sub = await bitbybit.occt.assembly.manager.createAssemblyNode({ id: "sub", name: "Sub Assembly", parentId: "root" });
    • Mendeskripsikan node instance, satu penempatan sebuah part: part mana menurut partId, ke mana ditempatkan dan di bawah assembly mana.

      translation memindahkannya, rotation memutarnya dengan sudut Euler dalam derajat mengelilingi X, Y dan Z, scale mengatur ukurannya secara seragam; sebuah matrix dapat menggantikan ketiganya. Part yang sama boleh ditempatkan oleh banyak instance.

      Parameters

      Returns Promise<AssemblyNodeDef>

      Definisi node, siap untuk combineStructure

      const first = await bitbybit.occt.assembly.manager.createInstanceNode({ id: "box1", partId: "box", name: "Box 1" });
      const second = await bitbybit.occt.assembly.manager.createInstanceNode({ id: "box2", partId: "box", name: "Box 2", translation: [20, 0, 0], rotation: [0, 0, 45] });
    • Mendeskripsikan perubahan pada part yang sudah ada dalam dokumen: bentuk baru, nama baru atau warna baru, atau campurannya, dialamatkan menurut label part.

      Kumpulkan pembaruan-pembaruan dalam combineStructure di bawah partUpdates dan teruskan strukturnya ke buildAssemblyDocument beserta dokumen yang sudah ada.

      Parameters

      Returns Promise<AssemblyPartUpdateDef<TopoDSShapePointer>>

      Definisi pembaruan, siap untuk combineStructure

      const parts = await bitbybit.occt.assembly.query.getDocumentParts({ document: doc });
      const bigger = await bitbybit.occt.shapes.solid.createBox({ width: 20, length: 20, height: 20, center: [0, 0, 0] });
      const update = await bitbybit.occt.assembly.manager.createPartUpdate({ label: parts[0].label, shape: bigger, name: "Bigger Box" });
      const structure = await bitbybit.occt.assembly.manager.combineStructure({ parts: [], nodes: [], partUpdates: [update], clearDocument: false });
      await bitbybit.occt.assembly.manager.buildAssemblyDocument({ structure, existingDocument: doc });
    • Mengumpulkan part, node dan, untuk pembaruan, penghapusan, pembaruan part dan part impor ke dalam satu definisi struktur, langkah terakhir sebelum buildAssemblyDocument.

      clearDocument bernilai false mempertahankan apa yang sudah dimuat dokumen yang ada saat struktur diterapkan padanya.

      Parameters

      Returns Promise<AssemblyStructureDef<TopoDSShapePointer>>

      Struktur, siap dibangun

      const structure = await bitbybit.occt.assembly.manager.combineStructure({ parts: [part], nodes: [root, first, second], clearDocument: false });
      const doc = await bitbybit.occt.assembly.manager.buildAssemblyDocument({ structure });
    • Membangun dokumen assembly dari sebuah struktur, atau menerapkan struktur ke dokumen yang sudah ada.

      Dengan existingDocument label-label dalam removals dibuang terlebih dahulu, partUpdates diterapkan, lalu part dan node baru ditambahkan; struktur tanpa keduanya mengosongkan dokumen kecuali clearDocument bernilai false. sourceDocuments menyediakan dokumen-dokumen sumber salinan part impor. Dokumen tetap berada di memori sampai dihapus.

      Parameters

      Returns Promise<TDocStdDocumentPointer>

      Handle dokumen, baru atau yang diperbarui

      Error if assembly building fails

      const structure = await bitbybit.occt.assembly.manager.combineStructure({ parts: [part], nodes: [root, first], clearDocument: false });
      const doc = await bitbybit.occt.assembly.manager.buildAssemblyDocument({ structure });
      const glb = await bitbybit.occt.assembly.manager.exportDocumentToGltf({ document: doc, meshDeflection: 0.1, meshAngle: 0.5, internalVerticesMode: false, controlSurfaceDeflection: false, mergeFaces: false, forceUVExport: false, fileName: "assembly.glb", tryDownload: false });
    • Memuat file STEP ke dalam dokumen assembly baru, beserta part, sub-assembly, nama, warna dan penempatannya.

      stepData adalah file sebagai teks atau biner; STEP-Z yang dikompresi gzip juga diterima. File yang tidak dapat dimuat memicu error. Instance yang dibiarkan tanpa nama oleh file, seperti yang dilakukan SolidWorks, dinamai menurut part yang ditempatkannya, diberi nomor bila part itu berulang di sampingnya.

      Parameters

      Returns Promise<TDocStdDocumentPointer>

      Handle dokumen

      Error if STEP loading fails

      const doc = await bitbybit.occt.assembly.manager.loadStepToDoc({ stepData: stepText });
      const parts = await bitbybit.occt.assembly.query.getDocumentParts({ document: doc });

    export

    • Menulis dokumen assembly sebagai file STEP beserta hierarki, nama dan warnanya, dan mengembalikan byte file-nya.

      author dan organization masuk ke header file; compress menulis STEP-Z yang dikompresi gzip sebagai gantinya. Kegagalan memicu error.

      Parameters

      Returns Promise<Uint8Array<ArrayBufferLike>>

      Berkas STEP sebagai byte

      const step = await bitbybit.occt.assembly.manager.exportDocumentToStep({ document: doc, fileName: "assembly.step", author: "Bitbybit user", organization: "Bitbybit", compress: false, tryDownload: false });
      
    • Men-triangulasi dokumen assembly dan menulisnya sebagai glTF biner (GLB) dengan hierarki, nama dan warna dipertahankan sebagai node dan material glTF.

      meshDeflection dan meshAngle menyetel seberapa halus permukaan lengkung di-triangulasi; mergeFaces menyatukan muka-muka sebuah part menjadi satu mesh. Kegagalan memicu error.

      Parameters

      Returns Promise<Uint8Array<ArrayBufferLike>>

      Berkas GLB sebagai byte

      const glb = await bitbybit.occt.assembly.manager.exportDocumentToGltf({ document: doc, meshDeflection: 0.1, meshAngle: 0.5, internalVerticesMode: false, controlSurfaceDeflection: false, mergeFaces: false, forceUVExport: false, fileName: "assembly.glb", tryDownload: false });
      
    • Menulis dokumen assembly sebagai glTF biner (GLB) seperti exportDocumentToGltf dan mengompresi geometrinya dengan Draco, yang membuat file jauh lebih kecil dengan konsekuensi memerlukan loader yang mendukung Draco.

      Pengaturan Draco menyetel tingkat kompresi dan berapa banyak bit yang dipertahankan posisi, normal, koordinat tekstur dan warna.

      Parameters

      Returns Promise<Uint8Array<ArrayBufferLike>>

      Berkas GLB sebagai byte

      const options = new Bit.Inputs.OCCT.ExportDocumentToGltfWithDracoDto<Bit.Inputs.OCCT.TDocStdDocumentPointer>();
      options.document = doc;
      options.meshDeflection = 0.1;
      options.dracoCompressionLevel = 7;
      const glb = await bitbybit.occt.assembly.manager.exportDocumentToGltfWithDraco(options);

    lifecycle

    • Menghapus dokumen assembly dan membebaskan memori yang dipegangnya.

      Dokumen yang dibangun dengan buildAssemblyDocument atau dimuat dengan loadStepToDoc tetap berada di memori sampai ini dipanggil, jadi hapus setelah bentuk-bentuk dan ekspornya dibaca.

      Parameters

      Returns Promise<void>

      Tidak ada; handle dokumen tidak lagi valid sesudahnya

      const doc = await bitbybit.occt.assembly.manager.buildAssemblyDocument({ structure });
      const glb = await bitbybit.occt.assembly.manager.exportDocumentToGltf({ document: doc, meshDeflection: 0.1, meshAngle: 0.5, internalVerticesMode: false, controlSurfaceDeflection: false, mergeFaces: false, forceUVExport: false, fileName: "assembly.glb", tryDownload: false });
      await bitbybit.occt.assembly.manager.deleteDocument({ document: doc });

    modify

    • Mewarnai sebuah label dokumen, sebuah part, instance atau assembly, dengan merah, hijau, biru dan alfa dari 0 sampai 1.

      Warna dipertahankan saat dokumen diekspor ke STEP atau glTF.

      Parameters

      Returns Promise<boolean>

      True jika warna berhasil diatur

      const done = await bitbybit.occt.assembly.manager.setDocLabelColor({ document: doc, label: "0:1:1:1", r: 1, g: 0, b: 0, a: 1 });
      
    • Mengganti nama sebuah label dokumen, sebuah part, instance atau assembly.

      Parameters

      Returns Promise<boolean>

      True jika nama berhasil diatur

      const done = await bitbybit.occt.assembly.manager.setDocLabelName({ document: doc, label: "0:1:1:1", name: "Left bracket" });