Module: MiniScad::DSL

Defined in:
lib/mini_scad.rb

Instance Method Summary collapse

Instance Method Details

#cube(x, y, z, center: false) ⇒ Object



9
10
11
# File 'lib/mini_scad.rb', line 9

def cube(x, y, z, center: false)
  Cube.new(x, y, z, center: center)
end

#cylinder(r1, r2 = r1, h, n: 16, center: false) ⇒ Object



17
18
19
# File 'lib/mini_scad.rb', line 17

def cylinder(r1, r2 = r1, h, n: 16, center: false)
  Cylinder.new(r1, r2, h, n: n, center: center)
end

#noneObject



5
6
7
# File 'lib/mini_scad.rb', line 5

def none
  None.new
end

#rounded_cube4(x, y, z, r, n: 16) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/mini_scad.rb', line 21

def rounded_cube4(x, y, z, r, n: 16)
  a = cylinder(r, z).translate(r,         r, 0)
  b = cylinder(r, z).translate(x - r,     r, 0)
  c = cylinder(r, z).translate(r,     y - r, 0)
  d = cylinder(r, z).translate(x - r, y - r, 0)

  (a + b + c + d).hull
end

#rounded_cube8(x, y, z, r, n: 16) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/mini_scad.rb', line 30

def rounded_cube8(x, y, z, r, n: 16)
  a = sphere(r).translate(r,     r,     r)
  b = sphere(r).translate(r,     r,     z - r)
  c = sphere(r).translate(x - r, r,     r)
  d = sphere(r).translate(x - r, r,     z - r)
  e = sphere(r).translate(r,     y - r, r)
  f = sphere(r).translate(r,     y - r, z - r)
  g = sphere(r).translate(x - r, y - r, r)
  h = sphere(r).translate(x - r, y - r, z - r)

  (a + b + c + d + e + f + g + h).hull
end

#sphere(r) ⇒ Object



13
14
15
# File 'lib/mini_scad.rb', line 13

def sphere(r)
  Sphere.new(r)
end