Décrit une pièce prise dans un autre document, typiquement un document chargé depuis STEP, de sorte que tout son arbre de labels avec sous-assemblages, noms et couleurs est copié dans le nouvel assemblage.
sourceDocumentIndex pointe dans la liste sourceDocuments donnée à
buildAssemblyDocument, et sourceLabel choisit un sous-arbre au lieu du document entier.
Les nœuds d'instance la placent par partId comme n'importe quelle pièce.
L'id de la pièce, l'index du document source, un libellé source, un nom et une couleur facultatifs
La définition de la pièce importée, prête pour 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] });
Décrit une pièce pour une structure d'assemblage : un id pour la référencer, sa forme, un nom et une couleur facultative.
Rien n'est encore construit ; la pièce ne devient réelle que lorsqu'une structure qui la contient passe par
buildAssemblyDocument. Les nœuds d'instance placent la pièce par son id, autant de fois que nécessaire.
L'id de la pièce, sa forme, son nom et une couleur facultative
La définition de la pièce, prête pour combineStructure
Décrit un nœud d'assemblage, un conteneur qui regroupe des instances et d'autres assemblages dans la hiérarchie.
parentId nomme l'assemblage dans lequel il se trouve ; omettez-le pour une racine. Une matrice facultative place
tout le groupe.
L'id du nœud, son nom, un id de parent facultatif, une couleur facultative et une matrice de placement facultative
La définition du nœud, prête pour combineStructure
Décrit un nœud d'instance, un placement d'une pièce : quelle pièce par partId, où elle va
et sous quel assemblage.
translation la déplace, rotation la tourne selon des angles d'Euler en degrés autour de X, Y et Z,
scale la dimensionne uniformément ; une matrix peut remplacer les trois. La même pièce peut être placée par
de nombreuses instances.
L'id du nœud, l'id de la pièce, le nom, un id de parent facultatif et le placement
La définition du nœud, prête pour combineStructure
Décrit un changement d'une pièce qui existe déjà dans un document : une nouvelle forme, un nouveau nom ou une nouvelle couleur, ou n'importe quel mélange, adressé par le label de la pièce.
Rassemblez les mises à jour dans combineStructure sous partUpdates et passez la structure à
buildAssemblyDocument avec le document existant.
Le libellé de la pièce et la nouvelle forme, le nouveau nom et la nouvelle couleur facultatifs
La définition de la mise à jour, prête pour 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 });
Rassemble les pièces, les nœuds et, pour les mises à jour, les suppressions, les mises à jour de pièces et les pièces importées en une seule
définition de structure, la dernière étape avant buildAssemblyDocument.
clearDocument faux garde ce qu'un document existant contient déjà quand la structure lui est
appliquée.
Les pièces, les nœuds, et les suppressions, mises à jour de pièces, pièces importées et indicateur d'effacement facultatifs
La structure, prête à construire
Construit un document d'assemblage à partir d'une structure, ou applique la structure à un document existant.
Avec existingDocument, les labels de removals sont d'abord supprimés, les partUpdates
appliquées, puis les nouvelles pièces et nœuds ajoutés ; une structure sans l'un ni l'autre vide le document
sauf si clearDocument est faux. sourceDocuments fournit les documents depuis lesquels les pièces importées
copient. Le document reste en mémoire jusqu'à sa suppression.
La structure, un document facultatif à mettre à jour et les documents sources facultatifs
Le handle du document, nouveau ou mis à jour
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 });
Charge un fichier STEP dans un nouveau document d'assemblage, avec ses pièces, sous-assemblages, noms, couleurs et placements.
stepData est le fichier en texte ou en binaire ; le STEP-Z compressé en gzip est aussi accepté. Un fichier qui
ne peut pas être chargé lève une erreur. Une instance que le fichier laisse sans nom, comme le fait SolidWorks, prend le nom de la pièce qu'elle place, numéroté lorsque cette pièce se répète à côté d'elle.
Le contenu du fichier STEP
Le handle du document
Écrit un document d'assemblage sous forme de fichier STEP avec sa hiérarchie, ses noms et ses couleurs, et renvoie les octets du fichier.
author et organization vont dans l'en-tête du fichier ; compress écrit plutôt du STEP-Z compressé en
gzip. Un échec lève une erreur.
Le document, le nom du fichier, les détails d'en-tête, l'indicateur de compression et l'option de téléchargement
Le fichier STEP sous forme d'octets
Triangule un document d'assemblage et l'écrit en glTF binaire (GLB) avec la hiérarchie, les noms et les couleurs conservés sous forme de nœuds et de matériaux glTF.
meshDeflection et meshAngle règlent la finesse de triangulation des surfaces courbes ;
mergeFaces réunit les faces d'une pièce en un seul maillage. Un échec lève une erreur.
Le document, les réglages de maillage, les indicateurs d'export, le nom du fichier et l'option de téléchargement
Le fichier GLB sous forme d'octets
Écrit un document d'assemblage en glTF binaire (GLB) comme exportDocumentToGltf et compresse
la géométrie avec Draco, ce qui rend le fichier beaucoup plus petit au prix d'un chargeur compatible
Draco.
Les réglages Draco fixent le niveau de compression et combien de bits les positions, normales, coordonnées de texture et couleurs conservent.
Le document, les réglages de maillage, les indicateurs d'export et les réglages Draco
Le fichier GLB sous forme d'octets
Supprime un document d'assemblage et libère la mémoire qu'il occupe.
Un document construit avec buildAssemblyDocument ou chargé avec loadStepToDoc reste en mémoire
jusqu'à cet appel, supprimez-le donc une fois ses formes et ses exports lus.
Le document à supprimer
Rien ; le handle du document n'est plus valide ensuite
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 });
Colore un label d'un document, une pièce, une instance ou un assemblage, avec du rouge, du vert, du bleu et de l'alpha de 0 à 1.
La couleur est conservée quand le document est exporté en STEP ou en glTF.
Le document, le libellé et les quatre canaux de couleur
Vrai quand la couleur a été définie
Renomme un label d'un document, une pièce, une instance ou un assemblage.
Le document, le libellé et le nouveau nom
Vrai quand le nom a été défini
Construire et modifier des documents d'assemblage : décrivez les pièces, nœuds d'assemblage et nœuds d'instance un objet à la fois, combinez-les en une structure, et construisez un document à partir d'elle ; ou chargez un fichier STEP dans un document. Puis recolorez et renommez les libellés, mettez à jour ou supprimez des pièces, et exportez vers STEP ou glTF. Un document est un handle en mémoire qui reste vivant jusqu'à sa suppression, donc construisez une fois et interrogez ou exportez aussi souvent que nécessaire.