class CrystalScad::Hardware::Washer

Public Class Methods

new(size,args={}) click to toggle source
# File lib/crystalscad/Hardware.rb, line 172
def initialize(size,args={})
        @args=args                   
        @size = size
        @args[:type] ||= "125"
        @args[:material] ||= "steel 8.8"
        @args[:surface] ||= "zinc plated"                    
        
        @chart_din125 = { 3.2 => {outer_diameter:7, height:0.5},
                                                                                3.7 => {outer_diameter:8, height:0.5},                                                                                        
                                                                                4.3 => {outer_diameter:9, height:0.8},
                                                                                5.3 => {outer_diameter:10, height:1.0},
                                                                                6.4 => {outer_diameter:12, height:1.6},
                                                                                8.4 => {outer_diameter:16, height:1.6},
                                                                                10.5 => {outer_diameter:20, height:2.0},
                                                                                13.0 => {outer_diameter:24, height:2.5},

                                                                        }
        if @chart_din125[@size] == nil
                sizes = @chart_din125.map{|k,v| k}.sort.reverse.map{|s| s > @size ? size=s :nil}
                @size = size
        end                  
        @height = @chart_din125[@size][:height]
        
        @transformations ||= []
end

Public Instance Methods

description() click to toggle source
# File lib/crystalscad/Hardware.rb, line 198
def description
        "Washer #{@args[:size]}, Material #{@args[:material]} #{@args[:surface]}"
end
show() click to toggle source
# File lib/crystalscad/Hardware.rb, line 202
def show
        add_to_bom
        washer = cylinder(d:@chart_din125[@size][:outer_diameter].to_f,h:@chart_din125[@size][:height].to_f)
        washer-= cylinder(d:@size,h:@chart_din125[@size][:outer_diameter].to_f+0.2).translate(z:-0.1)
        washer.color("Gainsboro")
        transform(washer)
end