class SolidRuby::Assemblies::Assembly

Attributes

hardware[RW]
skip[RW]
transformations[RW]
x[RW]
y[RW]
z[RW]

Public Class Methods

get_skip() click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 120
def self.get_skip
  @skip
end
get_views() click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 137
def self.get_views
  @added_views || []
end
new(args = {}) click to toggle source
Calls superclass method SolidRuby::SolidRubyObject::new
# File lib/solidruby/assemblies/assembly.rb, line 31
def initialize(args = {})
  super(args)
  @args ||= args

  @x = args[:x]
  @y = args[:y]
  @z = args[:z]

  add_to_bom
end
skip(args) click to toggle source

Makes the save_all method in SolidRuby skip the specified method(s)

# File lib/solidruby/assemblies/assembly.rb, line 107
def self.skip(args)
  @skip = [] if @skip.nil?
  if args.is_a? Array
    args.each do |arg|
      skip(arg)
    end
    return
  end

  @skip << args.to_s
  nil
end
view(args) click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 124
def self.view(args)
  @added_views = [] if @added_views.nil?
  if args.is_a? Array
    args.each do |arg|
      view(arg)
    end
    return
  end

  @added_views << args.to_s
  nil
end

Public Instance Methods

*(args) click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 80
def *(args)
  output * args
end
+(args) click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 72
def +(args)
  output + args
end
-(args) click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 76
def -(args)
  output - args
end
add_to_bom() click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 42
def add_to_bom
  @bom_added ||= false

  unless @bom_added
    BillOfMaterial.bom.add(description) unless @args[:no_bom] == true
    @bom_added = true
  end
end
color(args = {}) click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 141
def color(args = {})
  @color = args
  self
end
colorize(res) click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 146
def colorize(res)
  return res if @color.nil?
  res.color(@color)
end
description() click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 51
def description
  "No description set for Class #{self.class}"
end
output() click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 59
def output
  transform(part(false))
end
part(_show = false) click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 63
def part(_show = false)
  #SolidRubyObject.new
end
scad_output() click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 84
def scad_output
  res = debug? ? '#' : ''
  res + output.scad_output
end
show() click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 55
def show
  transform(part(true))
end
show_hardware() click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 151
def show_hardware
  return nil if @hardware.nil? || (@hardware == [])
  res = nil
  @hardware.each do |part|
    res += part.show
  end
  transform(res)
end
threads() click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 89
def threads
  a = []
  [:threads_top, :threads_bottom, :threads_left, :threads_right, :threads_front, :threads_back].each do |m|
    next unless respond_to? m
    ret = send m
    unless ret.nil?
      if ret.is_a? Array
        a += ret
      else
        a << ret
      end
    end
  end

  a
end
transform(obj) click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 20
def transform(obj)
  obj = obj.debug if debug?
  @transformations ||= nil
  return obj if @transformations.nil?
  @transformations.each do |t|
    obj.transformations << t
  end

  obj
end
walk_tree() click to toggle source
# File lib/solidruby/assemblies/assembly.rb, line 67
def walk_tree
  res = debug? ? '#' : ''
  res + output.walk_tree
end