Optionalparts: AssemblyPartDef<T>[]Optionalnodes: AssemblyNodeDef[]Optionalremovals: string[]OptionalpartUpdates: AssemblyPartUpdateDef<T>[]OptionalclearDocument: booleanOptionalloadedParts: AssemblyLoadedPartDef[]List of part definitions (shapes that can be instanced)
List of node definitions (assemblies and instances)
OptionalremovalsLabels to remove from existing document. Can be part labels, instance labels, or assembly labels. Ignored when creating a new document (no existingDocument provided).
OptionalpartUpdates to apply to existing parts in the document. Each update can change the shape, name, and/or color of a part. Ignored when creating a new document (no existingDocument provided).
Whether to clear the existing document before adding new content. Only relevant when an existingDocument is provided to buildAssemblyDocument.
true: Clear all existing shapes, then add new parts/nodes (full rebuild)false: Keep existing shapes, apply removals/updates, add new parts/nodes (incremental)Optionalloadedsource document via sourceDocumentIndex (matching the order of sourceDocuments
on buildAssemblyDocument) and copies a label (or all free shapes) into this assembly,
preserving sub-assembly hierarchy, names and colors. Instance nodes can then reference
DTO for combining parts and nodes into an assembly structure. Use this as the final step to create a complete structure definition.
For updating existing documents:
removalsto specify labels to removepartUpdatesto update existing parts (shape, name, color)