Skip to main content
Built-in Elements

<assembly.device />

assembly.device groups boards and mechanical parts into a complete device. Add model or modelUrl to render a model at the world origin.

import { assembly } from "@tscircuit/core"

const models =
"https://docs.tscircuit.com/models/assembly"

export default () => (
<assembly.device
name="product"
modelUrl={models + "/housing.glb"}
>
<board name="B1" width="40mm" height="30mm" />
</assembly.device>
)
3D Circuit Preview
PropertyDescription
nameOptional device name.
modelModelprinter string or HTTP(S) model URL.
modelUrlImported CAD model URL. Use either model or modelUrl.
childrenBoards, motors, subassemblies, and screens.

Modelprinter strings​

Use a modelprinter string to generate a model without supplying a file. This display is 16 × 10 mm with a 5 mm cable.

import { assembly } from "@tscircuit/core"

export default () => (
<assembly.device
name="display-demo"
model="flexscreen_w16_h10_flex5_sitsflat"
/>
)
3D Circuit Preview

Assembly models add 3D geometry without creating PCB footprints or electrical connections. For imported models, see cadmodel for supported formats.

Use assembly.motor to add a NEMA motor and mount a controller to its backface, assembly.subassembly to group mechanical parts, or assembly.screen to attach a display to a connector. See Mounting 3D models for screws aligned with board holes.