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.
Id part, indeks dokumen sumber, serta label sumber, nama dan warna opsional
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] });
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.
Id part, bentuknya, namanya dan warna opsional
Definisi part, siap untuk combineStructure
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.
Id node, namanya, id induk opsional, warna opsional dan matriks penempatan opsional
Definisi node, siap untuk combineStructure
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.
Id node, id part, nama, id induk opsional dan penempatan
Definisi node, siap untuk combineStructure
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.
Label part serta bentuk, nama dan warna baru opsional
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.
Part-part, node-node, serta penghapusan, pembaruan part, part impor dan flag pembersihan opsional
Struktur, siap dibangun
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.
Struktur, dokumen opsional yang akan diperbarui dan dokumen-dokumen sumber opsional
Handle dokumen, baru atau yang diperbarui
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.
Isi berkas STEP
Handle dokumen
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.
Dokumen, nama berkas, detail header, flag kompresi dan opsi pengunduhan
Berkas STEP sebagai byte
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.
Dokumen, pengaturan meshing, flag ekspor, nama berkas dan opsi pengunduhan
Berkas GLB sebagai byte
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.
Dokumen, pengaturan meshing, flag ekspor dan pengaturan Draco
Berkas GLB sebagai byte
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.
Dokumen yang akan dihapus
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 });
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.
Dokumen, label dan keempat kanal warna
True jika warna berhasil diatur
Mengganti nama sebuah label dokumen, sebuah part, instance atau assembly.
Dokumen, label dan nama baru
True jika nama berhasil diatur
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.