Descreve uma peça tirada de outro documento, tipicamente um carregado de STEP, de modo que toda a sua árvore de rótulos com submontagens, nomes e cores é copiada para a nova montagem.
sourceDocumentIndex aponta para a lista sourceDocuments dada a
buildAssemblyDocument, e sourceLabel escolhe uma subárvore em vez do documento inteiro.
Os nós de instância colocam-na por partId como qualquer peça.
O id da peça, o índice do documento de origem, e uma etiqueta de origem, um nome e uma cor opcionais
A definição da peça importada, pronta 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] });
Descreve uma peça para uma estrutura de montagem: um id pelo qual referenciá-la, a sua forma, um nome e uma cor opcional.
Ainda nada é construído; a peça só se torna real quando uma estrutura que a contém passa por
buildAssemblyDocument. Os nós de instância colocam a peça pelo seu id, tantas vezes quantas forem precisas.
O id da peça, a sua forma, o seu nome e uma cor opcional
A definição da peça, pronta para combineStructure
Descreve um nó de montagem, um contentor que agrupa instâncias e outras montagens na hierarquia.
parentId nomeia a montagem em que se encontra; omita para uma raiz. Uma matriz opcional coloca
o grupo inteiro.
O id do nó, o seu nome, um id de pai opcional, uma cor opcional e uma matriz de colocação opcional
A definição do nó, pronta para combineStructure
Descreve um nó de instância, uma colocação de uma peça: que peça por partId, para onde vai
e sob que montagem.
translation move-a, rotation roda-a por ângulos de Euler em graus em torno de X, Y e Z,
scale dimensiona-a uniformemente; uma matrix pode substituir os três. A mesma peça pode ser colocada por
muitas instâncias.
O id do nó, o id da peça, o nome, um id de pai opcional e a colocação
A definição do nó, pronta para combineStructure
Descreve uma alteração a uma peça que já existe num documento: uma nova forma, um novo nome ou uma nova cor, ou qualquer mistura deles, endereçada pelo rótulo da peça.
Reúna as atualizações em combineStructure sob partUpdates e passe a estrutura a
buildAssemblyDocument com o documento existente.
A etiqueta da peça e a nova forma, o novo nome e a nova cor opcionais
A definição da atualização, pronta 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 peças, nós e, para atualizações, remoções, atualizações de peças e peças importadas numa só
definição de estrutura, o último passo antes de buildAssemblyDocument.
clearDocument falso mantém o que um documento existente já contém quando a estrutura é
aplicada a ele.
As peças, os nós, e as remoções, atualizações de peças, peças importadas e indicador de limpeza opcionais
A estrutura, pronta a construir
Constrói um documento de montagem a partir de uma estrutura, ou aplica a estrutura a um documento existente.
Com existingDocument os rótulos em removals são primeiro retirados, as partUpdates
aplicadas, e depois as novas peças e nós adicionados; uma estrutura sem nenhum dos dois limpa o documento
a menos que clearDocument seja falso. sourceDocuments fornece os documentos de que as peças importadas copiam.
O documento fica em memória até ser eliminado.
A estrutura, um documento opcional a atualizar e os documentos de origem opcionais
O identificador do documento, novo ou atualizado
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 });
Carrega um ficheiro STEP para um novo documento de montagem, com as suas peças, submontagens, nomes, cores e colocações.
stepData é o ficheiro como texto ou binário; STEP-Z comprimido com gzip também é aceite. Um ficheiro que
não possa ser carregado lança um erro. Uma instância que o ficheiro deixa sem nome, como faz o SolidWorks, recebe o nome da peça que coloca, numerado quando essa peça se repete ao seu lado.
O conteúdo do ficheiro STEP
O identificador do documento
Escreve um documento de montagem como um ficheiro STEP com a sua hierarquia, nomes e cores, e devolve os bytes do ficheiro.
author e organization vão para o cabeçalho do ficheiro; compress escreve STEP-Z comprimido com gzip
em vez disso. Uma falha lança um erro.
O documento, o nome do ficheiro, os detalhes do cabeçalho, o indicador de compressão e a opção de transferência
O ficheiro STEP como bytes
Triangula um documento de montagem e escreve-o como um glTF binário (GLB) com a hierarquia, nomes e cores mantidos como nós e materiais glTF.
meshDeflection e meshAngle definem quão finamente as superfícies curvas são trianguladas;
mergeFaces une as faces de uma peça numa só malha. Uma falha lança um erro.
O documento, as definições de malha, os indicadores de exportação, o nome do ficheiro e a opção de transferência
O ficheiro GLB como bytes
Escreve um documento de montagem como um glTF binário (GLB) como exportDocumentToGltf e comprime
a geometria com Draco, o que torna o ficheiro muito mais pequeno à custa de um carregador
com suporte Draco.
As definições Draco definem o nível de compressão e quantos bits as posições, normais, coordenadas de textura e cores mantêm.
O documento, as definições de malha, os indicadores de exportação e as definições Draco
O ficheiro GLB como bytes
Elimina um documento de montagem e liberta a memória que ocupa.
Um documento construído com buildAssemblyDocument ou carregado com loadStepToDoc fica em memória
até isto ser chamado, por isso elimine-o assim que as suas formas e exportações tiverem sido lidas.
O documento a eliminar
Nada; o identificador do documento deixa de ser válido depois disso
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 um rótulo de um documento, uma peça, instância ou montagem, com vermelho, verde, azul e alfa de 0 a 1.
A cor é mantida quando o documento é exportado para STEP ou glTF.
O documento, a etiqueta e os quatro canais de cor
True quando a cor foi definida
Renomeia um rótulo de um documento, uma peça, instância ou montagem.
O documento, a etiqueta e o novo nome
True quando o nome foi definido
Construir e alterar documentos de montagem: descreva peças, nós de montagem e nós de instância um objeto de cada vez, combine-os numa estrutura, e construa um documento a partir dela; ou carregue um ficheiro STEP para um documento. Depois recolora e renomeie etiquetas, atualize ou remova peças, e exporte para STEP ou glTF. Um documento é um identificador em memória que fica vivo até ser eliminado, por isso construa uma vez e consulte ou exporte tantas vezes quantas forem necessárias.