card_holder_generator 0.2.1 → 0.3.0
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.
- 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
|