implemented change_unit
This commit is contained in:
parent
34f4e35361
commit
16fa8a746c
40
cvlp_lib.js
40
cvlp_lib.js
|
@ -91,46 +91,6 @@ function cvlp_rectangle(x, y, width, height, thickness, radius=0, round=true) {
|
|||
return rectangle
|
||||
}
|
||||
|
||||
// convert value from one unit to another
|
||||
// units allowed: mm, in, mil
|
||||
// returns converted value, on null if unknown unit
|
||||
function convert_unit(value, from, to)
|
||||
{
|
||||
// don't convert if the unit is the same (avoid calculation imprecisions)
|
||||
if (from==to) {
|
||||
return value;
|
||||
}
|
||||
// convert to µm
|
||||
var mum = 0;
|
||||
switch (from) {
|
||||
case 'mm':
|
||||
mum = value*1000;
|
||||
break;
|
||||
case 'in':
|
||||
mum = value*1000*25.40;
|
||||
break;
|
||||
case 'mil':
|
||||
mum = value*25.40;
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
switch (to) {
|
||||
case 'mm':
|
||||
mum = mum/1000;
|
||||
break;
|
||||
case 'in':
|
||||
mum = mum/1000/25.40;
|
||||
break;
|
||||
case 'mil':
|
||||
mum = mum/25.40;
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return fixed(mum);
|
||||
}
|
||||
|
||||
// convert JSON to SVG
|
||||
function json2svg(json) {
|
||||
// create svg
|
||||
|
|
|
@ -21,12 +21,12 @@
|
|||
// draw logo
|
||||
function draw() {
|
||||
// get values
|
||||
var pad_size = parseInt(pad_size_input.value,10)
|
||||
var pad_thickness = parseInt(pad_thickness_input.value,10)
|
||||
var pad_spacing = parseInt(pad_spacing_input.value,10)
|
||||
var pad_chip_spacing = parseInt(pad_chip_spacing_input.value,10)
|
||||
var chip_thickness = parseInt(chip_thickness_input.value,10)
|
||||
var text_thickness = parseInt(text_thickness_input.value,10)
|
||||
var pad_size = parseFloat(pad_size_input.value)
|
||||
var pad_thickness = parseFloat(pad_thickness_input.value)
|
||||
var pad_spacing = parseFloat(pad_spacing_input.value)
|
||||
var pad_chip_spacing = parseFloat(pad_chip_spacing_input.value)
|
||||
var chip_thickness = parseFloat(chip_thickness_input.value)
|
||||
var text_thickness = parseFloat(text_thickness_input.value)
|
||||
|
||||
// set values in logo
|
||||
var size = pad_thickness+pad_size+pad_chip_spacing*2+pad_spacing*5+pad_chip_spacing*2+pad_size+pad_thickness
|
||||
|
@ -146,6 +146,65 @@
|
|||
return
|
||||
}
|
||||
|
||||
// get values
|
||||
var pad_size = parseFloat(pad_size_input.value)
|
||||
var pad_thickness = parseFloat(pad_thickness_input.value)
|
||||
var pad_spacing = parseFloat(pad_spacing_input.value)
|
||||
var pad_chip_spacing = parseFloat(pad_chip_spacing_input.value)
|
||||
var chip_thickness = parseFloat(chip_thickness_input.value)
|
||||
var text_thickness = parseFloat(text_thickness_input.value)
|
||||
|
||||
// set converted values
|
||||
pad_size_input.value = convert_unit(pad_size, logo.unit, unit)
|
||||
pad_thickness_input.value = convert_unit(pad_thickness, logo.unit, unit)
|
||||
pad_spacing_input.value = convert_unit(pad_spacing, logo.unit, unit)
|
||||
pad_chip_spacing_input.value = convert_unit(pad_chip_spacing, logo.unit, unit)
|
||||
chip_thickness_input.value = convert_unit(chip_thickness, logo.unit, unit)
|
||||
text_thickness_input.value = convert_unit(text_thickness, logo.unit, unit)
|
||||
|
||||
// save unit and redraw
|
||||
logo.unit = unit
|
||||
draw()
|
||||
}
|
||||
|
||||
// convert value from one unit to another
|
||||
// units allowed: mm, in, mil
|
||||
// returns converted value, on null if unknown unit
|
||||
function convert_unit(value, from, to)
|
||||
{
|
||||
// don't convert if the unit is the same (avoid calculation imprecisions)
|
||||
if (from==to) {
|
||||
return value;
|
||||
}
|
||||
// convert to µm
|
||||
var mum = 0;
|
||||
switch (from) {
|
||||
case 'mm':
|
||||
mum = value*1000;
|
||||
break;
|
||||
case 'in':
|
||||
mum = value*1000*25.40;
|
||||
break;
|
||||
case 'mil':
|
||||
mum = value*25.40;
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
switch (to) {
|
||||
case 'mm':
|
||||
mum = mum/1000;
|
||||
break;
|
||||
case 'in':
|
||||
mum = mum/1000/25.40;
|
||||
break;
|
||||
case 'mil':
|
||||
mum = mum/25.40;
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
return mum;
|
||||
}
|
||||
</script>
|
||||
<div id="svg"></div>
|
||||
|
|
Loading…
Reference in New Issue