Skip to content
pentacular edited this page Sep 7, 2019 · 2 revisions

Open #bolts

const board =
    Cube(80, 80, 8)
      .material('wood')
      .as('board');

const bolt =
  assemble(
      Cylinder(4.5 / 2, 10)
        .as('bolt hole')
        .drop()
        .move(0, 0, -1),
      Fastener
        .Bolt(10, 3)
        .as('bolt')
        .material('steel')
        .move(0, 0, 4)
        .nocut());

const design =
  assemble(
      board.as('board'),
      ...coordinates(
             { from: -30, to: 31, by: 60 },
             { from: -30, to: 31, by: 60 },
             { to: 1 },
             (x, y, z) => bolt.move(x, y, z)));

log(`BOM: ${design.toBillOfMaterial()}`);

await design.keep('board').section().outline().writePdf('cut.pdf');

return design;