0hmX/pcbgolf-routing-checkpoint-20261012
A PCBGolf assembly combining a modeled PCB with copper/component bodies and seven native connector housings.
- Version
- 0.0.3
- License
- unset
- Stars
- 0
assembly.tsx
PCB
Schematic
import { assembly } from "@tscircuit/core"
// Actual e69 native assembly: 198 routing gaps remain.
// All assets retain the exact STEP frame; only this common translation centers the assembly.
const cadModel = (glbUrl: string) => ({
glbUrl,
modelOriginPosition: { x: 0, y: 0, z: 0 },
positionOffset: { x: -44.45, y: -39.7, z: -0.4 },
rotationOffset: { x: 0, y: 0, z: 0 },
modelUnitToMmScale: 1,
})
const boardAssets = [
"./assets/board-circuits-000.glb",
"./assets/board-circuits-001.glb",
"./assets/board-circuits-002.glb",
"./assets/board-circuits-003.glb",
"./assets/board-circuits-004.glb",
"./assets/board-circuits-005.glb",
"./assets/board-circuits-006.glb",
"./assets/board-circuits-007.glb",
"./assets/board-circuits-008.glb",
"./assets/board-circuits-009.glb",
"./assets/board-circuits-010.glb",
"./assets/board-circuits-011.glb",
"./assets/board-circuits-012.glb",
"./assets/board-circuits-013.glb",
"./assets/board-circuits-014.glb",
"./assets/board-circuits-015.glb",
"./assets/board-circuits-016.glb",
"./assets/board-circuits-017.glb",
"./assets/board-circuits-018.glb",
"./assets/board-circuits-019.glb",
"./assets/board-circuits-020.glb",
"./assets/board-circuits-021.glb",
"./assets/board-circuits-022.glb",
"./assets/board-circuits-023.glb",
"./assets/board-circuits-024.glb",
"./assets/board-circuits-025.glb",
"./assets/board-circuits-026.glb",
"./assets/board-circuits-027.glb",
"./assets/board-circuits-028.glb",
"./assets/board-circuits-029.glb",
"./assets/board-circuits-030.glb"
]
const connectorAssets = [
"./assets/J1.glb",
"./assets/J2.glb",
"./assets/J3.glb",
"./assets/J5.glb",
"./assets/J6.glb",
"./assets/J7.glb",
"./assets/J8.glb"
]
export default () => (
<assembly.device name="PCBGolf">
<assembly.subassembly name="BoardAndCircuits">
{boardAssets.map((asset, i) => (
<assembly.part name={`board_circuits_${String(i).padStart(3, "0")}`}
displayName="Actual board, copper and component bodies" cadModel={cadModel(asset)} />
))}
</assembly.subassembly>
<assembly.subassembly name="ActualConnectors">
{connectorAssets.map((asset) => (
<assembly.part name={asset.split("/").pop()!.replace(".glb", "")}
displayName="Actual native connector body" cadModel={cadModel(asset)} />
))}
</assembly.subassembly>
</assembly.device>
)