crystalscad 0.3.9 → 0.3.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/examples/threads2.rb CHANGED
@@ -79,7 +79,6 @@ pos = male.threads_bottom.first.position_on(female.threads_top.first,rotation)
79
79
  res += female.show.rotate(rotation).mirror(z:1).translate(pos)
80
80
 
81
81
 
82
-
83
82
  rotation = {y:-90}
84
83
  pos = male.threads_left.first.position_on(female.threads_top.first,rotation)
85
84
  res += female.show.rotate(rotation).translate(pos)
@@ -21,12 +21,16 @@ module CrystalScad::Hardware
21
21
  def initialize(size,length,args={})
22
22
  @args = args
23
23
  @args[:type] ||= "912"
24
- @args[:material] ||= "8.8"
24
+ @args[:material] ||= "steel 8.8"
25
25
  @args[:surface] ||= "zinc plated"
26
26
  # options for output only:
27
27
  @args[:additional_length] ||= 0
28
28
  @args[:additional_diameter] ||= 0.3
29
29
 
30
+ if @args[:washer] == true
31
+ @washer = Washer.new(size,{:material => @args[:material], :surface => @args[:surface]})
32
+ end
33
+
30
34
  @size = size
31
35
  @length = length
32
36
  @transformations ||= []
@@ -51,8 +55,17 @@ module CrystalScad::Hardware
51
55
 
52
56
  def show
53
57
  add_to_bom
54
- return transform(bolt_912(0,0)) if @args[:type] == "912"
55
- return transform(bolt_7380(0,0)) if @args[:type] == "7380"
58
+ res = bolt_912(0,0) if @args[:type] == "912"
59
+ res = bolt_7380(0,0) if @args[:type] == "7380"
60
+ raise "unkown type #{args[:type]} for Bolt!" if res == nil
61
+
62
+ if @washer
63
+ res += @washer.show
64
+ res = res.translate(z:-@washer.height)
65
+ end
66
+
67
+
68
+ transform(res)
56
69
  end
57
70
 
58
71
  def transform(obj)
@@ -126,7 +139,7 @@ module CrystalScad::Hardware
126
139
  @args=args
127
140
  @size = size
128
141
  @args[:type] ||= "125"
129
- @args[:material] ||= "steel"
142
+ @args[:material] ||= "steel 8.8"
130
143
  @args[:surface] ||= "zinc plated"
131
144
 
132
145
  @chart_din125 = { 3.2 => {outer_diameter:7, height:0.5},
@@ -143,7 +143,7 @@ module CrystalScad::ScrewThreads
143
143
 
144
144
  ret = []
145
145
  holes.each_with_index do |hole,i|
146
- bolt = Bolt.new(hole.size,bolt_heights[i])
146
+ bolt = Bolt.new(hole.size,bolt_heights[i],washer:args[:washer])
147
147
  case face
148
148
  when "top"
149
149
  bolt.transformations << Rotate.new(x:180)
@@ -1,4 +1,4 @@
1
1
  module CrystalScad
2
- VERSION = "0.3.9"
2
+ VERSION = "0.3.10"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crystalscad
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 9
10
- version: 0.3.9
9
+ - 10
10
+ version: 0.3.10
11
11
  platform: ruby
12
12
  authors:
13
13
  - Joachim Glauche
@@ -15,8 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2014-01-17 00:00:00 +01:00
19
- default_executable:
18
+ date: 2014-01-19 00:00:00 Z
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: rubyscad
@@ -86,7 +85,6 @@ files:
86
85
  - skeleton_project/assemblies/example.rb
87
86
  - skeleton_project/observe.sh
88
87
  - skeleton_project/skeleton.rb
89
- has_rdoc: true
90
88
  homepage: http://github.com/Joaz/CrystalScad
91
89
  licenses:
92
90
  - GPL-3
@@ -118,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
116
  requirements: []
119
117
 
120
118
  rubyforge_project:
121
- rubygems_version: 1.6.2
119
+ rubygems_version: 1.8.15
122
120
  signing_key:
123
121
  specification_version: 3
124
122
  summary: CrystalScad is a framework for programming OpenScad models in Ruby