From d1aaad6b53320e23db66fe7a45ec498aca926753 Mon Sep 17 00:00:00 2001 From: Cabia Rangris Date: Thu, 15 Feb 2024 20:03:16 +0400 Subject: [PATCH] Precise Nix logo rework (aka genix7000) (#84) * logo-ng: initial * fixed exporting script for newer inkscape, fixed export configs * Applying some of the nits --- ng/doc/diff.svg | 180 +++++++++++++++++++++++++++++++ ng/doc/fadeout.mp4 | Bin 0 -> 97201 bytes ng/doc/grid.png | Bin 0 -> 17290 bytes ng/doc/header.svg | 45 ++++++++ ng/doc/module.png | Bin 0 -> 31940 bytes ng/doc/weights.svg | 138 ++++++++++++++++++++++++ ng/export-color-svgs.sh | 43 ++++++++ ng/nix.json | 138 ++++++++++++++++++++++++ ng/nix.scad | 229 ++++++++++++++++++++++++++++++++++++++++ ng/out/nix-megagrid.svg | 33 ++++++ ng/out/nix-white.svg | 29 +++++ ng/out/nix.svg | 33 ++++++ ng/readme.md | 43 ++++++++ 13 files changed, 911 insertions(+) create mode 100644 ng/doc/diff.svg create mode 100644 ng/doc/fadeout.mp4 create mode 100755 ng/doc/grid.png create mode 100644 ng/doc/header.svg create mode 100755 ng/doc/module.png create mode 100644 ng/doc/weights.svg create mode 100755 ng/export-color-svgs.sh create mode 100644 ng/nix.json create mode 100644 ng/nix.scad create mode 100644 ng/out/nix-megagrid.svg create mode 100644 ng/out/nix-white.svg create mode 100644 ng/out/nix.svg create mode 100644 ng/readme.md diff --git a/ng/doc/diff.svg b/ng/doc/diff.svg new file mode 100644 index 0000000..8c2bfb5 --- /dev/null +++ b/ng/doc/diff.svg @@ -0,0 +1,180 @@ + + + +1 diff --git a/ng/doc/fadeout.mp4 b/ng/doc/fadeout.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..be146147c7b19af048190d97a84da18f3ba86fa3 GIT binary patch literal 97201 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∨!zubZRQeCV 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 literal 0 HcmV?d00001 diff --git a/ng/doc/grid.png b/ng/doc/grid.png new file mode 100755 index 0000000000000000000000000000000000000000..77b14224f2432581c8496370061ac09fc3388256 GIT binary patch literal 17290 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

{uzHi6>gLsILxIeZzG-apcx`@Sbi9+gxZ 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 + + + + OpenSCAD Model + + diff --git a/ng/doc/module.png b/ng/doc/module.png new file mode 100755 index 0000000000000000000000000000000000000000..e0ccf9ea843ea836ec6fb7174254d327b3af1d72 GIT binary patch literal 31940 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 + + + + nix-gapless + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nix-gapless + + + + diff --git a/ng/export-color-svgs.sh b/ng/export-color-svgs.sh new file mode 100755 index 0000000..0cfb358 --- /dev/null +++ b/ng/export-color-svgs.sh @@ -0,0 +1,43 @@ +TEMPDIR=$(mktemp -d) +INPUT_CSG='nix.scad' +PARAMFILE='nix.json' + +function export_svg() { +COLORS=$( + openscad -p "${PARAMFILE}" -P "${PROFILE}" "$INPUT_CSG" -o "${TEMPDIR}/no_color.svg" -D "module color(c) {echo(mowmow = str(c));}" 2>&1 | + grep -Po '(?<=(mowmow = \"))(#[0-9a-fA-F]{6}|[0-9a-fA-F]{8})' | + sort -u +); + +SVGFILE=out/${PROFILE}.svg + +{ +cat < + + +${PROFILE} +EOF +for color in $COLORS; do + openscad -p "${PARAMFILE}" -P "${PROFILE}" "$INPUT_CSG" --export-format svg -o - -D "module color(c) {if (c == \"${color}\") children();}" 2>/dev/null| + sed "s/stroke=\"black\"//g" | + sed "s/stroke-width=\"0.5\"//g" | + sed "s/lightgray/${color}/g" | + grep -Pzo '' | + # drop the Null + head -c-1 + echo +done +cat < +EOF + +} > ${SVGFILE} +inkscape --actions="file-open:${SVGFILE};select-all;fit-canvas-to-selection;export-filename:${SVGFILE};export-do;file-close" +} + +for profile in nix nix-megagrid nix-white; do + export PROFILE=$profile + export_svg +done diff --git a/ng/nix.json b/ng/nix.json new file mode 100644 index 0000000..22c4295 --- /dev/null +++ b/ng/nix.json @@ -0,0 +1,138 @@ +{ + "fileFormatVersion": "1", + "parameterSets": { + "nix": { + "$aperture": "2", + "$clipr": "8", + "$gaps": "1", + "$length": "4", + "$unit": "25", + "circle_h": "6", + "circle_r": "55", + "circle_t": "6", + "colors": "[\"#5277c3\", \"#7EBAE4\"]", + "hole_ratio": "1.07", + "invclip": "false", + "num": "6", + "pin_r": "3", + "printed_h": "30", + "printed_version": "none", + "show_full": "true", + "show_hexgrid": "false" + }, + "nix-gapless (unofficial)": { + "$aperture": "2", + "$clipr": "8", + "$gaps": "0", + "$length": "4", + "$unit": "25", + "circle_h": "6", + "circle_r": "55", + "circle_t": "6", + "colors": "[\"#5277c3\", \"#7EBAE4\"]", + "hole_ratio": "1.07", + "invclip": "false", + "num": "6", + "pin_r": "3", + "printed_h": "30", + "printed_version": "none", + "show_full": "true", + "show_hexgrid": "false" + }, + "nix-grid (unofficial)": { + "$aperture": "2", + "$clipr": "8", + "$gaps": "1", + "$length": "4", + "$unit": "25", + "circle_h": "6", + "circle_r": "55", + "circle_t": "6", + "colors": "[\"#5277c3\", \"#7EBAE4\"]", + "hole_ratio": "1.07", + "invclip": "false", + "num": "6", + "pin_r": "3", + "printed_h": "30", + "printed_version": "none", + "show_full": "true", + "show_hexgrid": "true" + }, + "nix-megagrid": { + "$aperture": "2", + "$clipr": "8", + "$gaps": "1", + "$length": "4", + "$unit": "25", + "circle_h": "6", + "circle_r": "55", + "circle_t": "6", + "colors": "[\"#5277c3\", \"#7EBAE4\"]", + "hole_ratio": "1.07", + "invclip": "false", + "num": "6", + "pin_r": "3", + "printed_h": "30", + "printed_version": "grid", + "show_full": "true", + "show_hexgrid": "false" + }, + "nix-printing-module": { + "$aperture": "2", + "$clipr": "8", + "$gaps": "1", + "$length": "4", + "$unit": "25", + "circle_h": "6", + "circle_r": "55", + "circle_t": "6", + "colors": "[\"#5277c3\", \"#7EBAE4\"]", + "hole_ratio": "1.07", + "invclip": "false", + "num": "6", + "pin_r": "3", + "printed_h": "30", + "printed_version": "module", + "show_full": "false", + "show_hexgrid": "false" + }, + "nix-printing-one-piece": { + "$aperture": "2", + "$clipr": "8", + "$gaps": "1", + "$length": "4", + "$unit": "25", + "circle_h": "6", + "circle_r": "55", + "circle_t": "6", + "colors": "[\"#5277c3\", \"#7EBAE4\"]", + "hole_ratio": "1.07", + "invclip": "false", + "num": "6", + "pin_r": "3", + "printed_h": "30", + "printed_version": "one piece", + "show_full": "false", + "show_hexgrid": "false" + }, + "nix-white": { + "$aperture": "2", + "$clipr": "8", + "$gaps": "1", + "$length": "4", + "$unit": "25", + "circle_h": "6", + "circle_r": "55", + "circle_t": "6", + "colors": "[\"#FFFFFF\"]", + "hole_ratio": "1.07", + "invclip": "false", + "num": "6", + "pin_r": "3", + "printed_h": "30", + "printed_version": "none", + "show_full": "true", + "show_hexgrid": "false" + } + } +} diff --git a/ng/nix.scad b/ng/nix.scad new file mode 100644 index 0000000..b022c02 --- /dev/null +++ b/ng/nix.scad @@ -0,0 +1,229 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +// === Nix logo specification + +// Central aperture diameter, in units. It does produce nice effects if animated. +$aperture = 2; + +// lambda height in units. fun to play with +$length = 4; + +// Clipping polygon diameter, in units +$clipr = 8; + + +// === Some calculated core stuff + +// number of lambdas. doesn't really work if changed in this model. +num = 6; + +// The angle™ +th = 360 / num / 2; + +// Unit value of Y when mapped to coordinate space with angle between axes of "th" +function tunit() = tan(th)*$unit; + +// === Rendering props + +// Lambda thickness, also a segment size. Should affect nothing except size and gaps. +$unit = 25; + +// Shrinkage for each of lambdas. Basically control inverse "font weight" +$gaps = 1; + +// colors to use +colors = ["#5277C3", "#7EBAE4"]; + +// inverse clipping order +invclip = false; +show_hexgrid = false; +show_full = true; + +printed_version = "none"; // ["none", "grid", "one piece", "module", "weights"] + +printed_h = 20; +circle_r = 55; +circle_t = 6; +circle_h = 6; +pin_l = 4*tunit(); +pin_r = 3; + +// Pin/hole size ratio, to account for plastic heat deformation +hole_ratio = 1.07; + +// copied from so customizer will work on thingiverse +module regular_polygon(sides, radius) +{ + function dia(r) = sqrt(pow(r*2,2)/2); //sqrt((r*2^2)/2) if only we had an exponention op + angles=[ for (i = [0:sides-1]) i*(360/sides) ]; + coords=[ for (th=angles) [radius*cos(th), radius*sin(th)] ]; + polygon(coords); +} + + +function minsym(x) = (x <= 3 || x % 2 > 0) ? x : minsym(x/2); + +module hexgrid(thickness=1.5) union() { + // Yes you can go lower for hexagonal grids. + s = minsym(num); + th_l = 180 / s; + for (i=[0:s-1]) { + rotate((i+0.5)*th_l) + for (i=[-$clipr:$clipr]) union() { + translate([i*$unit/2,0]) + square([thickness, $clipr * $unit * 2],center=true); + }; + }; +} + + +// draw a ~perfect~ 2D lambda +module lambda() { + intersection(){ + union() { + // Lambda arm + rotate(-th) + translate([0,-tunit()*$length]) + square([$unit,$length*tunit()*2], center=true); + // Lambda bar + rotate(th) + square([$unit,tunit()*($length*2 + 2)], center=true); + } + // Cutting top and bottom of squares to be left with a perfect lambda + // Lambda *almost* scales uniformly. + // We just need to account for corner triangles, making it + 2 wider. + square([tunit()*($length + 2), $unit*$length], center=true); + } +} + +// Subtracts a rotated child from itself +module diff(nextangle, debug=false) { + difference() { + children(); + rotate(invclip ? nextangle : -nextangle) children(); + } +} + +module clipper(){ + // that's not as easy to autotune as it would seem + intersection() { + regular_polygon(num, $clipr * tunit()); + children(); + } +} + +module placed_lambda() { + offset(delta = -$gaps) + clipper() + // cutting it up with the same lambda at the next place + diff(360/num) + // translation to endpoint + translate([tunit() * -$aperture, $unit * -$aperture]) + // initial in-place rotation + lambda(); +} + +module render_logo(segments=[0:num-1]) { + for (r=segments) + // color it with next color in array + color(colors[r % len(colors)]) + rotate(th*2*r) + placed_lambda(); +} + +module make_pin(scl = 1, r = pin_r) { + + // Only rescale crossection, so length doesn't change + scale([1,scl,scl]) + + translate([tunit() * -$aperture, $unit * -$aperture]) + rotate(th) + // extrude pin from the center to the side of a limbda + translate([0,pin_l/2,0]) + rotate([90,45]) + cube([r * 2, r * 2, pin_l], center=true); + //cylinder(50, r, r, center=true); +} + +module render_module() { + render() + difference() { + union() { + make_pin(1); + linear_extrude(printed_h, center=true) + + clipper() + placed_lambda(); + } + // ensuring that hole is slightly larger + rotate((invclip ? -1 : 1) * 360/num) make_pin(hole_ratio); + + // usually not needed, but you + // can actually thread stuff thru two next lambdas + rotate((invclip ? -2 : 2) * 360/num) make_pin(hole_ratio); + } +} +// Actual rendering +if (printed_version == "grid") { + for (x=[0:4], y=[0:4]) { + translate([tunit()*(-4.5*y+12*x), -$unit*(-6.5*y+1*x)]) difference() { + render_logo(); + if (show_hexgrid) + hexgrid(); + } + } +} + +if (printed_version == "none") { + difference() { + render_logo(); + if (show_hexgrid) + hexgrid(); + }; +} + +if (printed_version == "module") { + difference() { + render_module(); + if (show_hexgrid) + translate([0,0,printed_h/2-1]) + linear_extrude(2) + hexgrid(); + } + if (show_full) + translate([0,0, printed_h / -2]) + color("#ff000033") + render_logo(); +} + +if (printed_version == "one piece") +union() { + + linear_extrude(circle_h, center=true) + + difference() { + circle(circle_r); + circle(circle_r - circle_t); + } + + difference() { + linear_extrude(printed_h, center=true) + render_logo(); + + if (show_hexgrid) + translate([0,0,printed_h/2-1]) + linear_extrude(1) + hexgrid(); + } +}; + +if (printed_version == "weights") + for (gap=[1:5]) { + $gaps = 1; + $aperture = 2 * gap; + $length = 4 * gap; + $clipr = 8 * gap; + $unit = 25 / gap; + translate([(gap - 1) * 160,((gap - 1) % 2) * 160]) + render_logo(); + }; \ No newline at end of file diff --git a/ng/out/nix-megagrid.svg b/ng/out/nix-megagrid.svg new file mode 100644 index 0000000..22f4176 --- /dev/null +++ b/ng/out/nix-megagrid.svg @@ -0,0 +1,33 @@ + + + + + nix-megagrid + + + diff --git a/ng/out/nix-white.svg b/ng/out/nix-white.svg new file mode 100644 index 0000000..9c9d22b --- /dev/null +++ b/ng/out/nix-white.svg @@ -0,0 +1,29 @@ + + + + + nix-white + + diff --git a/ng/out/nix.svg b/ng/out/nix.svg new file mode 100644 index 0000000..a92178d --- /dev/null +++ b/ng/out/nix.svg @@ -0,0 +1,33 @@ + + + + + nix + + + diff --git a/ng/readme.md b/ng/readme.md new file mode 100644 index 0000000..5f1e1fe --- /dev/null +++ b/ng/readme.md @@ -0,0 +1,43 @@ +![](./doc/header.svg) +# Precise Nix logo rework (aka genix7000) + +Logo versions for use are in ["out" folder](./out) + +This is a Nix logo version, generated in OpenSCAD and pinned to a hex grid. Differences between generated and original versions are neglidgible: + +![Old and new logos, overlayed](./doc/diff.svg) + +*Blue is a newer version, red is an older version* + +Here's a "hexgrid" version, which shows the proportions better: + +![Nix logo with different weights](./doc/grid.png) + +## Why OpenSCAD? + +Having most of the logo parametrized allows to generate logos with different weights with ease + +```openscad + for (gap=[1:5]) { + $gaps = gap * 2; + translate([(gap - 1) * 160,((gap - 1) % 2) * 160]) + difference() + render_logo(); + }; +``` +![Nix logo with different weights](./doc/weights.svg) + +It also allows to easily animate the logo — [here's an example](./doc/fadeout.mp4) — e.g if you want to have minimalistic plymouth animation. + +## 3D Printing + +nix.scad can also export several 3D printing models — single-module smaller versions, and separate, composable lambdas — if you wish to build yourself a huge Nix logo. +![Nix logo module](./doc/module.png) + +## Hacking on it + +Run `nix-shell -p openscad` if you don't have an OpenSCAD yet, and then open nix.scad in it. + +If you wish to export colored logos, modify and use `./export-color-svgs.sh` in this folder. + +3D printing models