1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN"
2 "http://www.w3c.org/TR/html4/strict.dtd">
5 <title>Rolling wire-strip calculator
</title>
6 <meta name=viewport
content=
"width=device-width initial-scale=1.0">
7 <link rel=stylesheet
type=
"text/css" href=
"dep-ui.css">
8 <link rel=stylesheet
type=
"text/css" href=
"rolling.css">
9 <script type=
"text/javascript" src=
"dep.js"></script>
10 <script type=
"text/javascript" src=
"dep-ui.js"></script>
14 <h1>Rolling wire-strip calculator
</h1>
16 <div id=trace
style=
"white-space: pre"></div>
17 <script type=
"text/javascript"><!--
21 <tr><td colspan=
2><h3>Required size
</h3>
23 <td class=label
><label for=width
>Width:
</label>
25 <script type=
"text/javascript"><!--
26 var width = new DEP.Dep();
27 DEP_UI.input_field('width', width, DEP_UI.convert_to_numeric);
30 <td class=label
><label for=thick
>Thickness:
</label>
32 <script type=
"text/javascript"><!--
33 var thick = new DEP.Dep();
34 DEP_UI.input_field('thick', thick, DEP_UI.convert_to_numeric);
37 <td class=label
><label for=length
>Length:
</label>
39 <script type=
"text/javascript"><!--
40 var length = new DEP.Dep();
41 DEP_UI.input_field('length', length, DEP_UI.convert_to_numeric);
44 <tr><td colspan=
2><h3>You should start with
</h3>
46 <td class=label
><label for=sq-size
>Square side:
</label>
47 <td><input id=sq-size readonly
>
48 <script type=
"text/javascript"><!--
49 var sq_size = new DEP.Dep(function () {
50 return Math.pow(Math.pow(width.value(),
2) * thick.value(),
1/
3);
52 DEP_UI.output_field('sq-size', sq_size, DEP_UI.convert_from_numeric);
55 <td class=label
><label for=rnd-diam
>Round diameter:
</label>
56 <td><input id=rnd-diam readonly
>
57 <script type=
"text/javascript"><!--
58 var rnd_diam = new DEP.Dep(function () {
59 return
2*sq_size.value()/Math.sqrt(Math.PI);
61 DEP_UI.output_field('rnd-diam', rnd_diam,
62 DEP_UI.convert_from_numeric);
65 <td class=label
><label for=start-length
>Length:
</label>
66 <td><input id=start-length readonly
>
67 <script type=
"text/javascript"><!--
68 var volume = new DEP.Dep(function () {
69 return width.value() * thick.value() * length.value();
71 volume.name = 'volume';
72 var start_length = new DEP.Dep(function () {
73 return volume.value()/(Math.pow(sq_size.value(),
2));
75 DEP_UI.output_field('start-length', start_length,
76 DEP_UI.convert_from_numeric);
79 <tr><td colspan=
2><h3>Initial stock
</h3>
81 <input type=radio name=stock-type value=round id=stock-round checked
>
82 <label for=stock-round
>Round section
</label>
83 <script type=
"text/javascript"><!--
84 var stock_type = new DEP.Dep();
85 DEP_UI.input_radio('stock-round', stock_type);
88 <input type=radio name=stock-type value=square id=stock-square
>
89 <label for=stock-square
>Square section
</label>
90 <script type=
"text/javascript"><!--
91 DEP_UI.input_radio('stock-square', stock_type);
94 <td class=label
><label for=stock-size
>Stock size:
</label>
95 <td><input id=stock-size
>
96 <script type=
"text/javascript"><!--
97 var stock_size = new DEP.Dep();
98 DEP_UI.input_field('stock-size', stock_size,
99 DEP_UI.convert_to_numeric);
102 <td class=label
><label for=stock-length
>Stock length:
</label>
103 <td><input id=stock-length readonly
>
104 <script type=
"text/javascript"><!--
105 var stock_length = new DEP.Dep(function () {
107 switch (stock_type.value()) {
109 cross =
1/
4 * Math.PI * Math.pow(stock_size.value(),
2);
112 cross = Math.pow(stock_size.value(),
2);
117 return volume.value()/cross;
119 DEP_UI.output_field('stock-length', stock_length,
120 DEP_UI.convert_from_numeric);
124 <script type=
"text/javascript"><!--
125 function toggle_help() {
126 var e = DEP_UI.elt('help');
127 var b = DEP_UI.elt('toggle-help');
128 if (e.className.match(/
\bconceal
\b/)) {
129 b.textContent = 'Hide help';
130 DEP_UI.rm_elt_class(e, 'conceal');
132 b.textContent = 'Show help';
133 DEP_UI.add_elt_class(e, 'conceal');
137 '
<button id=toggle-help
onclick=
"toggle_help()">' +
138 'Show help
</button>');
141 <script type=
"text/javascript"><!--
142 DEP_UI.add_elt_class(DEP_UI.elt('help'), 'conceal');
144 <h2>What this program does
</h2>
147 <script type=
"text/javascript"><!--
148 DEP_UI.add_elt_class(DEP_UI.elt('js-note'), 'conceal');
150 <p>This page is only really interesting because it contains a Javascript
151 program. You seem to have Javascript turned off, so it won
’t work very
152 well. It only requires first-party scripts;
153 see
<a href=
"#privacy">Privacy
</a> for more details.
158 <p>When you pass round or square wire through flat rolls it gets flatter
159 and longer, but it also gets wider. You can exploit this to make thin
160 wire strip of almost any dimensions, but it
’s rather difficult to
161 predict the result. That
’s what this calculator does.
163 <p>You specify the width and thickness of the strip you want, and the
164 program calculates what size round or square wire you should start with.
165 Additionally, if you specify the length of strip you need, it will
166 calculate the length of the input wire.
168 <p>The chances are that you don
’t actually have the required
169 thickness of round or square wire to start with, but you do have some
170 that
’s thicker. Just enter the size of the round or square
171 initial stock that you do have and the program will calculate how much
172 of it you need to create the required starting size that you can then
173 roll down to the required thickness of strip.
175 <p>For best results, roll the strip in as few passes as you can handle.
176 The results aren
’t accurate for broad, thin strips.
177 Width-to-thickness ratios of up to
6:
1 are known to be good; ratios of
178 12:
1 or more don't work: strips don
’t get as wide as predicted by
179 our model. We need to collect more data and construct a better model to
180 handle this case properly.
182 <p>You can see the
<a href=
"rolling-eqn.html">detailed equations
</a>
183 used for this calculation if you
’re interested.
187 <p>Boxes with light red or white backgrounds are entry boxes for you to
188 type in your requirements; boxes with dark red or grey backgrounds are
189 where the calculator puts its answers. White and grey mean that the box
190 is showing useful information: an input box contains a valid number, for
191 example, and an output box has calculated a correct answer. Red, on the
192 other hand, means that there
’s something wrong: either the
193 calculator can
’t understand what you
’ve typed in an input
194 box, or it
’s hit trouble
– usually this means that some
195 necessary input is missing.
197 <p>You specify the width and thickness of the strip you want, and the
198 program calculates what size round or square wire you should start with.
199 Additionally, if you specify the length of strip you need, it will
200 calculate the length of the input wire.
202 <p>You can use whatever units you like, as long as they are consistent,
203 but you cannot use wire gauges. If you use millimetres, the results
204 will be in millimetres; if you use inches, the results will be in
205 inches. Whatever you use, the results are displayed to only
3 decimal
208 <h3>Code and credits
</h3>
210 <p>The code which makes this page work
211 is
<a href=
"https://www.gnu.org/philosophy/free-sw.html">free
213 can
<a href=
"https://git.distorted.org.uk/~mdw/dep-ui/">browse or download
214 it
</a>, modify it, and/or redistribute it under the terms of the
215 <a href=
"https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU
216 General Public License, version
2</a> or, at your option, any later
219 <p>If you make interesting changes, I
’d be very grateful to know
220 about them. Please
<a href=
"mailto:mdw@distorted.org.uk">mail me
223 <p>The Javascript machinery on this page was written by Mark Wooding;
224 the text was written by Mark Wooding and Gary Wooding. The data used
225 to derive the computation was provided by Gary Wooding.
227 <h3 id=
"privacy">Privacy
</h3>
229 <p>There are no cookies or other trackers here. This page does not use
230 externally hosted scripts, fonts, images, or anything else. The server
231 has logged your IP address, which helps me fix things if they go wrong;
232 mostly things work fine and the logs are discarded after a couple of
235 <p>Most web browsers can save a version of this page which can be used