xxxxxxxxxx
244
// ..................................
// Laser parkkiruode
// jos siirtyy numero, aseta vain oikeaan kohtaan
// ..................................
// setup:
var laser = false; // false; // false;
var filename = "parkki";
var datetag = "250121";
var numbertext = false;
var kaiverranumero = true;
// Leikkuualue [mm]
var w = 48;
var h = 30;
var rw = 350;
var rh = 80;
var ww = 400;
var hh = 100;
// vakiot: Tarkista
var sc = 0.7; // 0.5 - make image larger before printing: isoille pinnoille
var s = sc * 2.83491576757; // 200 / 39 * 90 / 162.805; // scale TODO:
// ..................................
// colors
var vainleikkaus = true;
// ..................................
var cutcolor = [0, 0, 0];
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];
var innercut = redcolor;
var fastvcarving = lime;
var fastraster = yellow;
var finalcut = aqua;
// ..................................
// ..................................
// lisamuuttujat
var tekstikoko = 30;
var leikkausalueenkulmienpyoristys = 2; // 3;
// ..................................
// ..................................
// preload - fonts etc.
// ..................................
function preload() {
font = loadFont("data/Publishers.ttf");
// img = loadImage('img/image.jpg');
}
// ..................................
// ..................................
function setup() {
createCanvas(ww * s, hh * s, SVG); // Create SVG Canvas (w mm x h mm)
if (laser) {
strokeWeight(0.1 * sc); // 0.1 for laser, larger values for
} else {
strokeWeight(1); // 0.1 for laser, larger values for
}
if (vainleikkaus) {
stroke(cutcolor); //
} else {
stroke(redcolor); // use colors given above
}
if (kaiverranumero) {
textFont(font);
textSize(tekstikoko);
textAlign(CENTER, CENTER);
noStroke(); // use fill only for raster design.
} else {
textFont(font);
textSize(tekstikoko);
textAlign(CENTER, CENTER);
noFill(); // use fill only for raster design.
}
}
// ..................................
// ..................................
function draw() {
var startii = 10;
var ii = 0;
for (let i = 0; i < 1; i++) {
for (let j = 0; j < 1; j++) {
ii = ii + 1;
// esine(i * 50, j * 32, startii + ii, laser, sc);
parkkiruode(i * rw, j * rh, startii + ii, laser, sc);
}
}
if (laser) {
save(filename + datetag + ".svg");
print("Your svg-design was saved.");
}
noLoop();
}
// ..................................
function parkkiruode(x, y, ii, laser, sc) {
var alku = 0;
var ha = 9;
var ha2 = 4.5;
var ke = 15;
var rws = rw * s;
var rhs = rh * s;
if (laser) {
strokeWeight(0.1 * sc); // 0.1 for laser, larger values for
} else {
strokeWeight(1); // 0.1 for laser, larger values for
}
stroke(0);
noFill();
rect(
(x + alku) * s,
y * s,
(rw - alku) * s,
rh * s,
leikkausalueenkulmienpyoristys * s
);
rect(rws, 0, (3+3.5+3)*s, rhs + 2*3.5*s);
rect(rws + 3*s, 3*s, (3.5 + 0.5)*s, rhs + 0.5*s);
tekstikoko = 15*s;
if (kaiverranumero) {
textFont(font);
textSize(tekstikoko);
textAlign(CENTER, CENTER);
noStroke(); // use fill only for raster design.
fill(0);
} else {
textFont(font);
textSize(tekstikoko);
textAlign(CENTER, CENTER);
noFill(); // use fill only for raster design.
}
text("Saapumisaika", rws / 2, 10 * s);
textSize(tekstikoko*0.7);
for (let i = 0; i < 12; i++) {
text(i + 1, i * (rws / 12) + rws / 24, 30 * s);
text(i + 13, i * (rws / 12) + rws / 24, 50 * s);
}
if (laser) {
strokeWeight(0.1 * sc); // 0.1 for laser, larger values for
} else {
strokeWeight(1); // 0.1 for laser, larger values for
}
for (let i = 0; i < 12; i++) {
fill(0);
stroke(0);
line(i * (rws / 12) + rws / 24, 37 * s, i * (rws / 12) + rws / 24, 43 * s);
}
for (let i = 0; i < 11; i++) {
fill(0);
stroke(0);
line(i * (rws / 12) + rws / 12, 35 * s, i * (rws / 12) + rws / 12, 45 * s);
}
noFill();
for (let i = 0; i < 23; i++) {
ellipse(i * (rws / 24) + rws / 24, 65 * s, 10*s, 10*s);
}
}
// ..................................
// ..................................
// ..................................
// sparkling
// ..................................
function esine(x, y, ii, laser, sc) {
var alku = 0;
var ha = 9;
var ha2 = 4.5;
var ke = 15;
if (laser) {
strokeWeight(0.1 * sc); // 0.1 for laser, larger values for
} else {
strokeWeight(1); // 0.1 for laser, larger values for
}
stroke(0);
noFill();
rect(
(x + alku) * s,
y * s,
(w - alku) * s,
h * s,
leikkausalueenkulmienpyoristys * s
);
arc((x + 50 - 17) * s, (y + 15) * s, ha * s, ha * s, HALF_PI, PI + HALF_PI);
//line(33*s, ha*s,50*s, ha*s );
line((x + 33) * s, (y + ke - ha2) * s, (x + w) * s, (y + ke - ha2) * s);
line((x + 33) * s, (y + ke + ha2) * s, (x + w) * s, (y + ke + ha2) * s);
var lisa = 39;
var lisa2 = 39 + 3.4;
line((x + lisa) * s, y * s, (x + lisa) * s, (y + 4.05) * s);
line((x + lisa2) * s, (y + 4.05) * s, (x + lisa) * s, (y + 4.05) * s);
line((x + lisa2) * s, (y + 4.05) * s, (x + lisa2) * s, y * s);
line((x + lisa) * s, (y + h) * s, (x + lisa) * s, (h - 4.05 + y) * s);
line((x + lisa2) * s, (y + h - 4.05) * s, (x + lisa) * s, (h - 4.05 + y) * s);
line((x + lisa2) * s, (y + h - 4.05) * s, (x + lisa2) * s, (y + h) * s);
noStroke();
fill(0);
// print(laser);
if (numbertext) {
text(nfc(ii, 0), (w / 4 + x) * s, (h / 2 + y) * s);
}
//ellipse(21*s, 8*s, 5*s);
//ellipse(21*s, (30-8)*s, 5*s);
// rect(10*s, 10*s, (w-65)*s, (h-20)*s, leikkausalueenkulmienpyoristys*s);
}