16 lines
400 B
Plaintext
16 lines
400 B
Plaintext
// bolt.crd — hex bolt with cross slot
|
|
|
|
let head: Obj = 6-gon(3)
|
|
let dome: Obj = translate(sphere(3.2), 0, 0, 1.5)
|
|
let cap: Obj = intersect(head, dome)
|
|
|
|
let shaft: Obj = cylinder(1.2, 8)
|
|
let bolt: Obj = union(translate(cap, 0, 0, 8), shaft)
|
|
|
|
let slot: Obj = box(0.4, 3, 10)
|
|
let slot2: Obj = rotate_z(slot, pi/2)
|
|
let cross: Obj = union(slot, slot2)
|
|
|
|
let result: Obj = diff(bolt, cross)
|
|
cast(result)
|