Beschreibt ein Teil, das aus einem anderen Dokument genommen wird, typischerweise einem aus STEP geladenen, sodass sein ganzer Label-Baum mit Unterbaugruppen, Namen und Farben in die neue Baugruppe kopiert wird.
sourceDocumentIndex zeigt in die Liste sourceDocuments, die an
buildAssemblyDocument übergeben wird, und sourceLabel wählt einen Teilbaum statt des ganzen Dokuments.
Instanzknoten platzieren es über partId wie jedes Teil.
Die Teile-Id, der Index des Quelldokuments sowie ein optionales Quelllabel, ein optionaler Name und eine optionale Farbe
Die Definition des importierten Teils, bereit für 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] });
Beschreibt ein Teil für eine Baugruppenstruktur: eine Id, über die es referenziert wird, seine Form, einen Namen und eine optionale Farbe.
Noch wird nichts gebaut; das Teil wird erst real, wenn eine Struktur, die es enthält, durch
buildAssemblyDocument geht. Instanzknoten platzieren das Teil über seine Id, so oft wie nötig.
Die Teile-Id, seine Form, sein Name und eine optionale Farbe
Die Teiledefinition, bereit für combineStructure
Beschreibt einen Baugruppenknoten, einen Container, der Instanzen und andere Baugruppen in der Hierarchie gruppiert.
parentId nennt die Baugruppe, in der er sitzt; weglassen für eine Wurzel. Eine optionale Matrix platziert
die ganze Gruppe.
Die Knoten-Id, sein Name, eine optionale Eltern-Id, eine optionale Farbe und eine optionale Platzierungsmatrix
Die Knotendefinition, bereit für combineStructure
Beschreibt einen Instanzknoten, eine Platzierung eines Teils: welches Teil über partId, wohin es kommt
und unter welcher Baugruppe.
translation verschiebt es, rotation dreht es um Euler-Winkel in Grad um X, Y und Z,
scale bemisst es gleichmäßig; eine matrix kann alle drei ersetzen. Dasselbe Teil kann von
vielen Instanzen platziert werden.
Die Knoten-Id, die Teile-Id, der Name, eine optionale Eltern-Id und die Platzierung
Die Knotendefinition, bereit für combineStructure
Beschreibt eine Änderung an einem Teil, das bereits in einem Dokument existiert: eine neue Form, ein neuer Name oder eine neue Farbe, oder eine beliebige Mischung davon, adressiert über das Label des Teils.
Sammeln Sie die Aktualisierungen in combineStructure unter partUpdates und übergeben Sie die Struktur an
buildAssemblyDocument mit dem vorhandenen Dokument.
Das Label des Teils sowie die optionale neue Form, der neue Name und die neue Farbe
Die Aktualisierungsdefinition, bereit für 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 });
Sammelt Teile, Knoten und, für Aktualisierungen, Entfernungen, Teilaktualisierungen und importierte Teile in einer
Strukturdefinition, dem letzten Schritt vor buildAssemblyDocument.
clearDocument false behält, was ein vorhandenes Dokument bereits enthält, wenn die Struktur
darauf angewendet wird.
Die Teile, die Knoten sowie die optionalen Entfernungen, Teileaktualisierungen, importierten Teile und das Leeren-Flag
Die Struktur, bereit zum Bauen
Baut ein Baugruppendokument aus einer Struktur oder wendet die Struktur auf ein vorhandenes Dokument an.
Mit existingDocument werden zuerst die Labels in removals entfernt, die partUpdates
angewendet, dann die neuen Teile und Knoten hinzugefügt; eine Struktur ohne beides leert das Dokument,
sofern clearDocument nicht false ist. sourceDocuments liefert die Dokumente, aus denen importierte Teile
kopieren. Das Dokument bleibt im Speicher, bis es gelöscht wird.
Die Struktur, ein optionales zu aktualisierendes Dokument und die optionalen Quelldokumente
Das Dokument-Handle, neu oder aktualisiert
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 });
Lädt eine STEP-Datei in ein neues Baugruppendokument, mit ihren Teilen, Unterbaugruppen, Namen, Farben und Platzierungen.
stepData ist die Datei als Text oder binär; gzip-komprimiertes STEP-Z wird ebenfalls akzeptiert. Eine Datei, die
nicht geladen werden kann, löst einen Fehler aus. Eine Instanz, die die Datei unbenannt lässt, wie SolidWorks es tut, wird nach dem Teil benannt, das sie platziert, nummeriert, wenn dieses Teil daneben noch einmal vorkommt.
Der Inhalt der STEP-Datei
Das Dokument-Handle
Schreibt ein Baugruppendokument als STEP-Datei mit seiner Hierarchie, seinen Namen und Farben und gibt die Bytes der Datei zurück.
author und organization gehen in den Dateikopf; compress schreibt stattdessen gzip-komprimiertes STEP-Z.
Ein Fehlschlag löst einen Fehler aus.
Das Dokument, der Dateiname, die Header-Angaben, das Komprimierungs-Flag und die Download-Option
Die STEP-Datei als Bytes
Trianguliert ein Baugruppendokument und schreibt es als binäres glTF (GLB), wobei die Hierarchie, Namen und Farben als glTF-Knoten und -Materialien erhalten bleiben.
meshDeflection und meshAngle legen fest, wie fein gekrümmte Oberflächen trianguliert werden;
mergeFaces verbindet die Flächen eines Teils zu einem Mesh. Ein Fehlschlag löst einen Fehler aus.
Das Dokument, die Vernetzungseinstellungen, die Export-Flags, der Dateiname und die Download-Option
Die GLB-Datei als Bytes
Schreibt ein Baugruppendokument als binäres glTF (GLB) wie exportDocumentToGltf und komprimiert
die Geometrie mit Draco, was die Datei viel kleiner macht, um den Preis eines Draco-fähigen
Laders.
Die Draco-Einstellungen legen die Kompressionsstufe fest und wie viele Bits Positionen, Normalen, Textur- koordinaten und Farben behalten.
Das Dokument, die Vernetzungseinstellungen, die Export-Flags und die Draco-Einstellungen
Die GLB-Datei als Bytes
Löscht ein Baugruppendokument und gibt den Speicher frei, den es belegt.
Ein mit buildAssemblyDocument gebautes oder mit loadStepToDoc geladenes Dokument bleibt im Speicher,
bis dies aufgerufen wird, also löschen Sie es, sobald seine Formen und Exporte gelesen wurden.
Das zu löschende Dokument
Nichts; das Dokument-Handle ist danach nicht mehr gültig
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 });
Färbt ein Label eines Dokuments, ein Teil, eine Instanz oder eine Baugruppe, mit Rot, Grün, Blau und Alpha von 0 bis 1.
Die Farbe bleibt erhalten, wenn das Dokument nach STEP oder glTF exportiert wird.
Das Dokument, das Label und die vier Farbkanäle
True, wenn die Farbe gesetzt wurde
Benennt ein Label eines Dokuments um, ein Teil, eine Instanz oder eine Baugruppe.
Das Dokument, das Label und der neue Name
True, wenn der Name gesetzt wurde
Bauen und Ändern von Baugruppendokumenten: beschreiben Sie Teile, Baugruppenknoten und Instanzknoten Objekt für Objekt, kombinieren Sie sie zu einer Struktur und bauen Sie daraus ein Dokument; oder laden Sie eine STEP-Datei in ein Dokument. Dann färben und benennen Sie Labels um, aktualisieren oder entfernen Teile und exportieren nach STEP oder glTF. Ein Dokument ist ein Handle im Speicher, das lebt, bis es gelöscht wird, also bauen Sie einmal und fragen ab oder exportieren so oft wie nötig.