Describe una pieza tomada de otro documento, normalmente uno cargado desde STEP, de modo que todo su árbol de etiquetas con subensamblajes, nombres y colores se copia en el nuevo ensamblaje.
sourceDocumentIndex apunta a la lista sourceDocuments dada a
buildAssemblyDocument, y sourceLabel elige un subárbol en lugar del documento entero.
Los nodos de instancia la colocan por partId como cualquier pieza.
El id de la pieza, el índice del documento de origen, y una etiqueta de origen, un nombre y un color opcionales
La definición de la pieza importada, lista para 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] });
Describe una pieza para una estructura de ensamblaje: un id con el que referenciarla, su forma, un nombre y un color opcional.
Todavía no se construye nada; la pieza solo se hace real cuando una estructura que la contiene pasa por
buildAssemblyDocument. Los nodos de instancia colocan la pieza por su id, tantas veces como haga falta.
El id de la pieza, su forma, su nombre y un color opcional
La definición de la pieza, lista para combineStructure
Describe un nodo de ensamblaje, un contenedor que agrupa instancias y otros ensamblajes en la jerarquía.
parentId nombra el ensamblaje en el que se encuentra; omítelo para una raíz. Una matriz opcional coloca
todo el grupo.
El id del nodo, su nombre, un id de padre opcional, un color opcional y una matriz de colocación opcional
La definición del nodo, lista para combineStructure
Describe un nodo de instancia, una colocación de una pieza: qué pieza por partId, dónde va
y bajo qué ensamblaje.
translation la mueve, rotation la gira según ángulos de Euler en grados alrededor de X, Y y Z,
scale la dimensiona uniformemente; una matrix puede sustituir a los tres. La misma pieza puede colocarse mediante
muchas instancias.
El id del nodo, el id de la pieza, el nombre, un id de padre opcional y la colocación
La definición del nodo, lista para combineStructure
Describe un cambio en una pieza que ya existe en un documento: una forma nueva, un nombre nuevo o un color nuevo, o cualquier mezcla de ellos, dirigido por la etiqueta de la pieza.
Recoge las actualizaciones en combineStructure bajo partUpdates y pasa la estructura a
buildAssemblyDocument con el documento existente.
La etiqueta de la pieza y la nueva forma, el nuevo nombre y el nuevo color opcionales
La definición de la actualización, lista para 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 });
Reúne piezas, nodos y, para las actualizaciones, eliminaciones, actualizaciones de piezas y piezas importadas en una
definición de estructura, el último paso antes de buildAssemblyDocument.
clearDocument en false conserva lo que un documento existente ya contiene cuando la estructura
se le aplica.
Las piezas, los nodos, y las eliminaciones, las actualizaciones de piezas, las piezas importadas y el indicador de limpieza opcionales
La estructura, lista para construir
Construye un documento de ensamblaje a partir de una estructura, o aplica la estructura a un documento existente.
Con existingDocument primero se descartan las etiquetas de removals, se aplican las partUpdates
y luego se añaden las piezas y nodos nuevos; una estructura sin ninguno de los dos vacía el documento
salvo que clearDocument sea false. sourceDocuments proporciona los documentos de los que copian las piezas
importadas. El documento permanece en memoria hasta que se elimina.
La estructura, un documento opcional que actualizar y los documentos de origen opcionales
El identificador del documento, nuevo o actualizado
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 });
Carga un archivo STEP en un nuevo documento de ensamblaje, con sus piezas, subensamblajes, nombres, colores y colocaciones.
stepData es el archivo como texto o binario; también se acepta STEP-Z comprimido con gzip. Un archivo que
no puede cargarse lanza un error. Una instancia que el archivo deja sin nombre, como hace SolidWorks, recibe el nombre de la pieza que coloca, numerado cuando esa pieza se repite a su lado.
El contenido del archivo STEP
El identificador del documento
Escribe un documento de ensamblaje como un archivo STEP con su jerarquía, nombres y colores, y devuelve los bytes del archivo.
author y organization van a la cabecera del archivo; compress escribe STEP-Z comprimido con gzip
en su lugar. Un fallo lanza un error.
El documento, el nombre del archivo, los detalles de la cabecera, el indicador de compresión y la opción de descarga
El archivo STEP como bytes
Triangula un documento de ensamblaje y lo escribe como un glTF binario (GLB) con la jerarquía, los nombres y los colores conservados como nodos y materiales glTF.
meshDeflection y meshAngle establecen con qué finura se triangulan las superficies curvas;
mergeFaces une las caras de una pieza en una sola malla. Un fallo lanza un error.
El documento, los ajustes de mallado, los indicadores de exportación, el nombre del archivo y la opción de descarga
El archivo GLB como bytes
Escribe un documento de ensamblaje como un glTF binario (GLB) como exportDocumentToGltf y comprime
la geometría con Draco, lo que hace el archivo mucho más pequeño a costa de necesitar un cargador
compatible con Draco.
Los ajustes de Draco establecen el nivel de compresión y cuántos bits conservan las posiciones, normales, coordenadas de textura y colores.
El documento, los ajustes de mallado, los indicadores de exportación y los ajustes de Draco
El archivo GLB como bytes
Elimina un documento de ensamblaje y libera la memoria que ocupa.
Un documento construido con buildAssemblyDocument o cargado con loadStepToDoc permanece en memoria
hasta que se llama a esto, así que elimínalo una vez leídas sus formas y exportaciones.
El documento que eliminar
Nada; el identificador del documento deja de ser válido después
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 });
Colorea una etiqueta de un documento, una pieza, instancia o ensamblaje, con rojo, verde, azul y alfa de 0 a 1.
El color se conserva cuando el documento se exporta a STEP o glTF.
El documento, la etiqueta y los cuatro canales de color
True cuando se estableció el color
Renombra una etiqueta de un documento, una pieza, instancia o ensamblaje.
El documento, la etiqueta y el nuevo nombre
True cuando se estableció el nombre
Construir y cambiar documentos de ensamblaje: describe piezas, nodos de ensamblaje y nodos de instancia un objeto a la vez, combínalos en una estructura, y construye un documento a partir de ella; o carga un archivo STEP en un documento. Después recolorea y renombra etiquetas, actualiza o elimina piezas, y exporta a STEP o glTF. Un documento es un identificador en memoria que permanece vivo hasta que se elimina, así que constrúyelo una vez y consúltalo o expórtalo tantas veces como necesites.