xxxxxxxxxx
113
// ..................................
// sinitiainen - pöntönsuoja 3.4.2022
// material: acrylic
// ..................................
var laser = true; // false; // true; // false; //true;
var filename = "sinitiainen_with_raster"
// let millisecond = millis();
var datetag = "220403"; // msToTime(millisecond); // "220403"
var redcolor = [255, 0, 0];
var lime = [0, 255, 0];
var bluecolor = [0, 0, 255];
var yellow = [255, 255, 0];
var fuchsia = [255, 0, 255];
var aqua = [0, 255, 255];
// 100 power, speed 8, freq 100 ei ihan leikkaa pleksii
// speed 7 ok
var innercut = redcolor;
var fastvcarving = lime;
var fastraster = yellow; var filltext = true;
var finalcut = aqua;
var w = 65;
var h = 60;
var hole = 28;
var skrewhole = 5;
var spacefortext = 3;
var ponttoteksti = "Sinitiainen 2022"
var style = "basic";
var s = 200 / 39 * 90 / 162.815; // scale TODO: check this
function setup() {
createCanvas(w*s, h*s, SVG); // Create SVG Canvas (40mm x 40mm)
if (laser) {
strokeWeight(0.1); // 0.1 for laser, larger values for
} else {
strokeWeight(1); // 0.1 for laser, larger values for
}
stroke(redcolor); // use colors given above
textSize(24);
noFill(); // use fill only for raster design.
}
function draw() {
if (style == "basic") {
stroke(innercut);
ellipse(w*s/2, h*s/2 - spacefortext*s, hole*s, hole*s);
var sideplace = 6;
ellipse(sideplace * s, h*s/2, skrewhole*s, skrewhole*s);
ellipse((w - sideplace) * s, h*s/2, skrewhole*s, skrewhole*s);
stroke(finalcut);
rect(0*s, 0*s, w*s, h*s, 5*s);
if (filltext) {
fill(fastraster);
} else {
noFill();
}
push();
stroke(fastvcarving);
textAlign(CENTER);
translate(w*s/2, (h - spacefortext)*s);
var ss = map(0,0,width,-1,1);
scale(ss,1);
text(ponttoteksti, 0, 0);
pop;
// noFill();
}
if (laser) save(filename + datetag + ".svg"); // give file name
print("Your svg-design was saved.");
noLoop();
}
function msToTime(s) {
// Pad to 2 or 3 digits, default is 2
function pad(n, z) {
z = z || 2;
return ('00' + n).slice(-z);
}
var ms = s % 1000;
s = (s - ms) / 1000;
var secs = s % 60;
s = (s - secs) / 60;
var mins = s % 60;
var hrs = (s - mins) / 60;
return pad(hrs) + ':' + pad(mins) + ':' + pad(secs) + '.' + pad(ms, 3);
}