class CrystalScad::LinearBearing::Lm_uu

Public Class Methods

new(args={inner_diameter:10}) click to toggle source
# File lib/crystalscad/LinearBearing.rb, line 20
def initialize(args={inner_diameter:10})    
  @args = args
  @lm_uu = {
          3  => {diameter:7, length:10},
          4  => {diameter:8, length:12},
          5  => {diameter:10, length:15},
          6  => {diameter:12, length:19},
          8  => {diameter:15, length:24},
          10 => {diameter:19, length:29},
          12 => {diameter:21, length:30},
          13 => {diameter:23, length:32},
          16 => {diameter:28, length:37},
          20 => {diameter:32, length:42},
          25 => {diameter:40, length:59},
          30 => {diameter:45, length:64},
          35 => {diameter:52, length:70},
          40 => {diameter:60, length:80},
          50 => {diameter:80, length:100},
          60 => {diameter:90, length:110},
    
  }
  @shell_thickness = 1.1
  @@bom.add(description) unless args[:no_bom] == true
end

Public Instance Methods

description() click to toggle source
# File lib/crystalscad/LinearBearing.rb, line 45
def description
                    "LM#{@args[:inner_diameter]}UU Linear bearing"
            end
dimensions() click to toggle source
# File lib/crystalscad/LinearBearing.rb, line 53
def dimensions
  diameter = @lm_uu[@args[:inner_diameter]][:diameter]
  length = @lm_uu[@args[:inner_diameter]][:length]
  return diameter, length    
end
output() click to toggle source
# File lib/crystalscad/LinearBearing.rb, line 49
def output
  show
end
show() click to toggle source
# File lib/crystalscad/LinearBearing.rb, line 59
def show
  diameter, length = dimensions
  shell=cylinder(d:diameter, h:length)
  shell-=cylinder(d:diameter-@shell_thickness*2, h:length+0.2).translate(z:-0.1)
  shell=shell.color("LightGrey")
  
  inner = cylinder(d:diameter-@shell_thickness*2, h:length)
  inner-= cylinder(d:@args[:inner_diameter], h:length+0.2).translate(z:-0.1)
  inner=inner.color("DimGray")
        
  shell+inner
  
end