class CrystalScad::Ruler

Public Class Methods

new(args={}) click to toggle source
# File lib/crystalscad/Ruler.rb, line 20
def initialize(args={})
        @x = args[:x] || 50
        @y = args[:y] || 5
        @height = args[:height] || 1
        @mm_mark = args[:mm_mark] || 3
        @five_mm_mark = args[:five_mm_mark] || 4
        @ten_mm_mark = args[:ten_mm_mark] || 5
        @rotation = args[:rotation] || 0
end

Public Instance Methods

part(show) click to toggle source
# File lib/crystalscad/Ruler.rb, line 30
def part(show)
        res = cube([@x,@y,@height]).color("Gainsboro")
        (@x+1).times do |i|
                res += cube([0.1,@mm_mark,@height+0.1]).translate(x:i).color("black")
                if i % 10 == 0
                        res += cube([0.1,@ten_mm_mark,@height+0.1]).translate(x:i).color("black")                                                  
                elsif i % 5 == 0
                        res += cube([0.1,@five_mm_mark,@height+0.1]).translate(x:i).color("black")                                                 
                end
        end
        if @rotation > 0
                res = res.rotate(z:@rotation)
        end
        res
end