card_holder_generator 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/exe/card_holder_generator +4 -2
- data/lib/card_holder_generator.rb +18 -4
- data/lib/card_holder_generator/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a849b2d44cee9a607336e92cd8496ba81889067
|
4
|
+
data.tar.gz: b25a4cc41b1aa477f6efffcfe83f668d0a70f275
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 957300443c639dc19949e60273dc53f70b471938fdd4bf714bf21b644478ffa2eeab2424d64895da0efaf605364cc0ecfa89102d8849c1c94d9f6da462560f02
|
7
|
+
data.tar.gz: 4837c620589455785a8da784a8dd69e44ee2208bd839f7a6dce9ea29404fcb9870484054e46adf43ceeb6695aa24a30d0385093f00a1663d4aaef26498f904b6
|
data/Gemfile.lock
CHANGED
data/exe/card_holder_generator
CHANGED
@@ -32,11 +32,13 @@ end
|
|
32
32
|
|
33
33
|
settings = {}
|
34
34
|
|
35
|
-
settings["external_walls_depth"] = ask_value("External walls depth", "Depth of
|
36
|
-
settings["floor_depth"] = ask_value("Floor depth", "Depth of the
|
35
|
+
settings["external_walls_depth"] = ask_value("External walls depth", "Depth of external walls of the cards holder.", 3)
|
36
|
+
settings["floor_depth"] = ask_value("Floor depth", "Depth of the floor.", 3)
|
37
37
|
settings["top_margin"] = ask_value("Top margin", "Space on top of the cards up to reach the card holder top.", 3)
|
38
38
|
settings["separators_width"] = ask_value("Separators width", "Amount of material that will hold each set of cards on each side (left and right).", 10)
|
39
39
|
settings["separators_depth"] = ask_value("Separators depth", "Depth of the walls that separates each set of cards.", 3)
|
40
|
+
settings["magnets_height"] = ask_value("Magnets height", "Height of each magner at corners (leave blank if you don't want magnets).", 0)
|
41
|
+
settings["magnets_diameter"] = ask_value("Magnets diameter", "Diameter of each magner at corners (leave blank if you don't want magnets).", 0)
|
40
42
|
settings["cards_width"] = ask_value("Cards width", "Width of each card including sleeves (this will be the height of the card holder hole without the top margin).")
|
41
43
|
settings["cards_height"] = ask_value("Cards height", "Height of each card including sleeves (this will be the width of the card holder).")
|
42
44
|
|
@@ -18,6 +18,7 @@ difference() {
|
|
18
18
|
#{main_cube}
|
19
19
|
#{main_hole}
|
20
20
|
#{gaps}
|
21
|
+
#{magnets if magnets?}
|
21
22
|
}
|
22
23
|
SCAD
|
23
24
|
end
|
@@ -33,6 +34,8 @@ private
|
|
33
34
|
cards_width
|
34
35
|
cards_height
|
35
36
|
gap_depths
|
37
|
+
magnets_height
|
38
|
+
magnets_diameter
|
36
39
|
).each do |setting_name|
|
37
40
|
define_method(setting_name) do
|
38
41
|
settings[setting_name]
|
@@ -44,7 +47,7 @@ private
|
|
44
47
|
end
|
45
48
|
|
46
49
|
def external_y
|
47
|
-
gap_depths.inject(&:+) + (gap_depths.size
|
50
|
+
external_walls_depth * 2 + gap_depths.inject(&:+) + (gap_depths.size - 1) * separators_depth
|
48
51
|
end
|
49
52
|
|
50
53
|
def external_z
|
@@ -77,7 +80,7 @@ module roundedcube(xdim, ydim, zdim, rdim) {
|
|
77
80
|
|
78
81
|
def main_hole
|
79
82
|
<<-MAINHOLE
|
80
|
-
translate([#{external_walls_depth + separators_width}, #{
|
83
|
+
translate([#{external_walls_depth + separators_width}, #{external_walls_depth}, #{floor_depth}]) mirror([0, 1, 0]) rotate([90, 0, 0]) roundedcube(#{cards_height - separators_width * 2}, #{external_z * 2}, #{external_y - 2 * external_walls_depth}, 10);
|
81
84
|
translate([#{external_walls_depth + separators_width}, 0, #{floor_depth + cards_width * 0.5}]) mirror([0, 1, 0]) rotate([90, 0, 0]) roundedcube(#{cards_height - separators_width * 2}, #{external_z * 2}, #{separators_width}, 10);
|
82
85
|
translate([#{external_walls_depth + separators_width}, #{external_y - separators_width}, #{floor_depth + cards_width * 0.5}]) mirror([0, 1, 0]) rotate([90, 0, 0]) roundedcube(#{cards_height - separators_width * 2}, #{external_z * 2}, #{separators_width + 1}, 10);
|
83
86
|
MAINHOLE
|
@@ -87,11 +90,22 @@ translate([#{external_walls_depth + separators_width}, #{external_y - separators
|
|
87
90
|
gaps = ""
|
88
91
|
gap_subtotal = 0
|
89
92
|
gap_depths.each_with_index do |gap_depth, index|
|
90
|
-
gaps += "translate([#{external_walls_depth}, #{separators_depth *
|
91
|
-
gaps += "translate([#{external_walls_depth + separators_width}, #{separators_depth *
|
93
|
+
gaps += "translate([#{external_walls_depth}, #{external_walls_depth + separators_depth * index + gap_subtotal}, #{floor_depth}]) cube([#{cards_height}, #{gap_depth}, #{external_z}]); "
|
94
|
+
gaps += "translate([#{external_walls_depth + separators_width}, #{external_walls_depth + separators_depth * index + gap_subtotal}, 0]) cube([#{cards_height - separators_width * 2}, #{gap_depth}, #{external_z}]); "
|
92
95
|
gap_subtotal += gap_depth
|
93
96
|
end
|
94
97
|
gaps
|
95
98
|
end
|
96
99
|
|
100
|
+
def magnets
|
101
|
+
"translate([#{external_walls_depth / 2}, #{external_walls_depth / 2}, #{external_z - magnets_height + 1}]) cylinder(#{magnets_height}, d = #{magnets_diameter}, $fn = 100);" +
|
102
|
+
"translate([#{external_x - external_walls_depth / 2}, #{external_walls_depth / 2}, #{external_z - magnets_height + 1}]) cylinder(#{magnets_height}, d = #{magnets_diameter}, $fn = 100);" +
|
103
|
+
"translate([#{external_walls_depth / 2}, #{external_y - external_walls_depth / 2}, #{external_z - magnets_height + 1}]) cylinder(#{magnets_height}, d = #{magnets_diameter}, $fn = 100);" +
|
104
|
+
"translate([#{external_x - external_walls_depth / 2}, #{external_y - external_walls_depth / 2}, #{external_z - magnets_height + 1}]) cylinder(#{magnets_height}, d = #{magnets_diameter}, $fn = 100);"
|
105
|
+
end
|
106
|
+
|
107
|
+
def magnets?
|
108
|
+
magnets_height > 0 && magnets_diameter > 0
|
109
|
+
end
|
110
|
+
|
97
111
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: card_holder_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Carlos Paramio
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|