/*
 * Rayshade 4.0.2 alphabet using CSG objects.
 * Author: Dave Schmitt (daves@csg.gss.mot.com)
 *
 * %A%
 */

#define width_A 6

name letter_A
union
  union
    box 0 0 0 2 10 1
      transform
	1 0 0
	0.2 1 0
	0 0 1
    box 4 0 0 6 10 1
      transform
	1 0 0
	-0.2 1 0
	0 0 1
  end
  box 1 1 0 5 3 1
end

#define width_B 6

name letter_B
difference
  difference
    union
      list
	disc 3 3 7 0 0 0 -1
	disc 3 3 7 1 0 0 1
	cylinder 3 3 7 0 3 7 1
	disc 3 3 3 0 0 0 -1
	disc 3 3 3 1 0 0 1
	cylinder 3 3 3 0 3 3 1
      end
      box 0 0 0 3 10 1
    end
    union
      list
	disc 1 3 7 -1 0 0 -1
	disc 1 3 7 2 0 0 1
	cylinder 1 3 7 -1 3 7 2
      end
      box 2 6 -1 3 8 2
    end
  end
  union
      list
	disc 1 3 3 -1 0 0 -1
	disc 1 3 3 2 0 0 1
	cylinder 1 3 3 -1 3 3 2
      end
      box 2 2 -1 3 4 2
  end
end

#define width_C 6

name letter_C
difference
  union
    list
      disc 3 3 7 0 0 0 -1
      disc 3 3 7 1 0 0 1
      cylinder 3 3 7 0 3 7 1
      disc 3 3 3 0 0 0 -1
      disc 3 3 3 1 0 0 1
      cylinder 3 3 3 0 3 3 1
    end
    box 0 3 0 2 7 1
  end
  union
    list
      disc 1 3 7 -1 0 0 -1
      disc 1 3 7 2 0 0 1
      cylinder 1 3 7 -1 3 7 2
      disc 1 3 3 -1 0 0 -1
      disc 1 3 3 2 0 0 1
      cylinder 1 3 3 -1 3 3 2
    end
    box 2 3 -1 6 7 2
  end
end

#define width_D 6

name letter_D
difference
  union
    list
      disc 3 3 7 0 0 0 -1
      disc 3 3 7 1 0 0 1
      cylinder 3 3 7 0 3 7 1
      disc 3 3 3 0 0 0 -1
      disc 3 3 3 1 0 0 1
      cylinder 3 3 3 0 3 3 1
    end
    union
      box 0 0 0 3 10 1
      box 3 3 0 6 7 1
    end
  end
  union
    union
      list
	disc 1 3 7 -1 0 0 -1
	disc 1 3 7 2 0 0 1
	cylinder 1 3 7 -1 3 7 2
	disc 1 3 3 -1 0 0 -1
	disc 1 3 3 2 0 0 1
	cylinder 1 3 3 -1 3 3 2
      end
      box 2 2 -1 3 8 2
    end
    box 2 3 -1 4 7 2
  end
end

#define width_E 6

name letter_E
union
  union
    union
      box 0 0 0 2 10 1
      box 2 4 0 4 6 1
    end
    box 2 8 0 6 10 1
  end
  box 2 0 0 6 2 1
end

#define width_F 6

name letter_F
union
  union
    box 0 0 0 2 10 1
    box 2 4 0 4 6 1
  end
  box 2 8 0 6 10 1
end

#define width_G 6

name letter_G
union
  difference
    union
      list
	disc 3 3 7 0 0 0 -1
	disc 3 3 7 1 0 0 1
	cylinder 3 3 7 0 3 7 1
	disc 3 3 3 0 0 0 -1
	disc 3 3 3 1 0 0 1
	cylinder 3 3 3 0 3 3 1
      end
      box 0 3 0 2 7 1
    end
    union
      list
	disc 1 3 7 -1 0 0 -1
	disc 1 3 7 2 0 0 1
	cylinder 1 3 7 -1 3 7 2
	disc 1 3 3 -1 0 0 -1
	disc 1 3 3 2 0 0 1
	cylinder 1 3 3 -1 3 3 2
      end
      box 2 3 -1 6 7 2
    end
  end
  box 3 3 0 6 4 1
end

#define width_H 6

name letter_H
union
  union
    box 0 0 0 2 10 1
    box 2 4 0 4 6 1
  end
  box 4 0 0 6 10 1
end

#define width_I 2

name letter_I
box 0 0 0 2 10 1

#define width_J 6

name letter_J
difference
  union
    list
      disc 3 3 3 0 0 0 -1
      disc 3 3 3 1 0 0 1
      cylinder 3 3 3 0 3 3 1
    end
    box 4 3 0 6 10 1
  end
  union
    list
      disc 1 3 3 -1 0 0 -1
      disc 1 3 3 2 0 0 1
      cylinder 1 3 3 -1 3 3 2
    end
    box 0 3 -1 4 7 2
  end
end

#define width_K 6

name letter_K
union
  union
    box 0 0 0 2 6 1
      transform 1 0 0 -0.5 1 0 0 0 1
      translate 4 0 0
    box 0 0 0 2 6 1
      transform 1 0 0 0.5 1 0 0 0 1
      translate 1 4 0
  end
  box 0 0 0 2 10 1
end

#define width_L 6

name letter_L
union
  box 0 0 0 2 10 1
  box 2 0 0 6 2 1
end

#define width_M 8

name letter_M
union
  union
    box 0 0 0 2 10 1
    box 0 0 0 2 4 1
      transform
	1 -2 0
	0 1 0
	0 0 1
      translate
	2 6 0
  end
  union
    box 6 0 0 8 10 1
    box 0 0 0 2 4 1
      transform
	1 2 0
	0 1 0
	0 0 1
      translate
	4 2 0
  end
end

#define width_N 6

name letter_N
union
  union
    box 0 0 0 2 10 1
    box 4 0 0 6 10 1
      transform
	1 0 0
	-0.4 1 0
	0 0 1
  end
  box 4 0 0 6 10 1
end

#define width_0 6

name letter_O
difference
  union
    list
      disc 3 3 7 0 0 0 -1
      disc 3 3 7 1 0 0 1
      cylinder 3 3 7 0 3 7 1
      disc 3 3 3 0 0 0 -1
      disc 3 3 3 1 0 0 1
      cylinder 3 3 3 0 3 3 1
    end
    box 0 3 0 6 7 1
  end
  union
    list
      disc 1 3 7 -1 0 0 -1
      disc 1 3 7 2 0 0 1
      cylinder 1 3 7 -1 3 7 2
      disc 1 3 3 -1 0 0 -1
      disc 1 3 3 2 0 0 1
      cylinder 1 3 3 -1 3 3 2
    end
    box 2 3 -1 4 7 2
  end
end

#define width_P 6

name letter_P
difference
  union
    union
      list
	disc 3 3 7 0 0 0 -1
	disc 3 3 7 1 0 0 1
	cylinder 3 3 7 0 3 7 1
      end
      box 0 4 0 3 10 1
    end
    box 0 0 0 2 4 1
  end
  union
    list
      disc 1 3 7 -1 0 0 -1
      disc 1 3 7 2 0 0 1
      cylinder 1 3 7 -1 3 7 2
    end
    box 2 6 -1 3 8 2
  end
end

#define width_Q 6

name letter_Q
union
  difference
    union
      list
	disc 3 3 7 0 0 0 -1
	disc 3 3 7 1 0 0 1
	cylinder 3 3 7 0 3 7 1
	disc 3 3 3 0 0 0 -1
	disc 3 3 3 1 0 0 1
	cylinder 3 3 3 0 3 3 1
      end
      box 0 3 0 6 7 1
    end
    union
      list
	disc 1 3 7 -1 0 0 -1
	disc 1 3 7 2 0 0 1
	cylinder 1 3 7 -1 3 7 2
	disc 1 3 3 -1 0 0 -1
	disc 1 3 3 2 0 0 1
	cylinder 1 3 3 -1 3 3 2
      end
      box 2 3 -1 4 7 2
    end
  end
  box 5 0 0 6 3 1
    transform
      1 0 0
      (-5 / 6) 1 0
      0 0 1
end

#define width_R 6

name letter_R
union
  difference
    difference
      union
	list
	  disc 3 3 7 0 0 0 -1
	  disc 3 3 7 1 0 0 1
	  cylinder 3 3 7 0 3 7 1
	  disc 3 3 3 0 0 0 -1
	  disc 3 3 3 1 0 0 1
	  cylinder 3 3 3 0 3 3 1
	end
	box 0 0 0 3 10 1
      end
      union
	list
	  disc 1 3 7 -1 0 0 -1
	  disc 1 3 7 2 0 0 1
	  cylinder 1 3 7 -1 3 7 2
	end
	box 2 6 -1 3 8 2
      end
    end
    union
      union
	list
	  disc 1 3 3 -1 0 0 -1
	  disc 1 3 3 2 0 0 1
	  cylinder 1 3 3 -1 3 3 2
	end
	box 2 3 -1 3 4 2
      end
      box 2 0 -1 4 3 2
    end
  end
  box 4 0 0 6 3 1
end

#define width_S 6

name letter_S
union
  difference
    difference
      list
	disc 3 3 7 0 0 0 -1
	disc 3 3 7 1 0 0 1
	cylinder 3 3 7 0 3 7 1
      end
      list
	disc 1 3 7 -1 0 0 -1
	disc 1 3 7 2 0 0 1
	cylinder 1 3 7 -1 3 7 2
      end
    end
    box 3 3 -1 6 7 2
  end
  difference
    difference
      list
	disc 3 3 3 0 0 0 -1
	disc 3 3 3 1 0 0 1
	cylinder 3 3 3 0 3 3 1
      end
      list
	disc 1 3 3 -1 0 0 -1
	disc 1 3 3 2 0 0 1
	cylinder 1 3 3 -1 3 3 2
      end
    end
    box 0 3 -1 3 7 2
  end
end

#define width_T 6

name letter_T
union
  box 2 0 0 4 8 1
  box 0 8 0 6 10 1
end

#define width_U 6

name letter_U
difference
  union
    union
      list
	disc 3 3 3 0 0 0 -1
	disc 3 3 3 1 0 0 1
	cylinder 3 3 3 0 3 3 1
      end
      box 4 3 0 6 10 1
    end
    box 0 3 0 2 10 1
  end
  union
    list
      disc 1 3 3 -1 0 0 -1
      disc 1 3 3 2 0 0 1
      cylinder 1 3 3 -1 3 3 2
    end
    box 2 3 -1 4 7 2
  end
end

#define width_V 6

name letter_V
union
  box 2 0 0 4 10 1
    transform
      1 0 0
      -0.2 1 0
      0 0 1
  box 2 0 0 4 10 1
    transform
      1 0 0
      0.2 1 0
      0 0 1
end

#define width_W 10

name letter_W
union
  union
    box 0 0 0 2 10 1
      transform
	1 0 0
	-0.2 1 0
	0 0 1
      translate
	2 0 0
    box 0 0 0 2 10 1
      transform
	1 0 0
	0.2 1 0
	0 0 1
      translate
	2 0 0
  end
  union
    box 0 0 0 2 10 1
      transform
	1 0 0
	-0.2 1 0
	0 0 1
      translate
	6 0 0
    box 0 0 0 2 10 1
      transform
	1 0 0
	0.2 1 0
	0 0 1
      translate
	6 0 0
  end
end

#define width_X 6

name letter_X
union
  box 0 0 0 2 10 1
    transform
      1 0 0
      0.4 1 0
      0 0 1
  box 4 0 0 6 10 1
    transform
      1 0 0
      -0.4 1 0
      0 0 1
end

#define width_Y 6

name letter_Y
union
  union
    box 0 0 0 2 6 1
      transform
	1 0 0
	(1/3) 1 0
	0 0 1
      translate
	2 4 0
    box 0 0 0 2 6 1
      transform
	1 0 0
	(-1/3) 1 0
	0 0 1
      translate
	2 4 0
  end
  box 2 0 0 4 4 1
end

#define width_Z 6

name letter_Z

union
  union
    box 0 0 0 6 2 1
    box 0 0 0 2 6 1
      transform
	1 0 0
	(2/3) 1 0
	0 0 1
      translate
	0 2 0
  end
  box 0 8 0 6 10 1
end
