Precise Nix logo rework (aka genix7000) (#84)
* logo-ng: initial * fixed exporting script for newer inkscape, fixed export configs * Applying some of the nits
180
ng/doc/diff.svg
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="82.701698mm"
|
||||||
|
height="82.701698mm"
|
||||||
|
viewBox="0 0 82.701699 82.701699"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
|
||||||
|
sodipodi:docname="diff.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#505050"
|
||||||
|
bordercolor="#ffffff"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="1"
|
||||||
|
inkscape:deskcolor="#505050"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.69755822"
|
||||||
|
inkscape:cx="-365.56088"
|
||||||
|
inkscape:cy="412.15198"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1080"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" /><defs
|
||||||
|
id="defs2" /><g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-79.752151,-175.00336)"><rect
|
||||||
|
style="opacity:1;fill:#00ff00;stroke-width:1.9;stroke-linejoin:round;paint-order:stroke markers fill"
|
||||||
|
id="rect2248"
|
||||||
|
width="82.701698"
|
||||||
|
height="82.701698"
|
||||||
|
x="79.752151"
|
||||||
|
y="175.00336" /><g
|
||||||
|
id="layer7"
|
||||||
|
inkscape:label="bg"
|
||||||
|
style="display:none"
|
||||||
|
transform="matrix(0.28222222,0,0,0.28222222,-162.51066,-17.460386)"><rect
|
||||||
|
transform="translate(-132.5822,958.04022)"
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5389"
|
||||||
|
width="1543.4283"
|
||||||
|
height="483.7439"
|
||||||
|
x="132.5822"
|
||||||
|
y="-957.77832" /></g><g
|
||||||
|
id="layer5"
|
||||||
|
inkscape:label="guide"
|
||||||
|
style="display:none;opacity:0.516"
|
||||||
|
transform="matrix(0.28222222,0,0,0.28222222,-199.9283,252.91985)"><rect
|
||||||
|
y="-957.77832"
|
||||||
|
x="132.5822"
|
||||||
|
height="483.7439"
|
||||||
|
width="1543.4283"
|
||||||
|
id="rect5350"
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#d4d4d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#9b9b9b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5346"
|
||||||
|
width="1496.443"
|
||||||
|
height="435.68069"
|
||||||
|
x="155.77646"
|
||||||
|
y="-933.38721"
|
||||||
|
inkscape:export-xdpi="17.971878"
|
||||||
|
inkscape:export-ydpi="17.971878" /><rect
|
||||||
|
y="-851.65918"
|
||||||
|
x="159.02695"
|
||||||
|
height="272.58423"
|
||||||
|
width="1492.5731"
|
||||||
|
id="rect5348"
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#848484;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" /></g><g
|
||||||
|
id="layer6"
|
||||||
|
inkscape:label="logo-guide"
|
||||||
|
style="display:none"
|
||||||
|
transform="matrix(0.28222222,0,0,0.28222222,-199.9283,252.91985)"><rect
|
||||||
|
y="-958.02759"
|
||||||
|
x="132.65129"
|
||||||
|
height="484.30399"
|
||||||
|
width="550.41602"
|
||||||
|
id="rect5379"
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#5c201e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
inkscape:export-filename="/home/tim/dev/nix/homepage/logo/nix-wiki.png"
|
||||||
|
inkscape:export-xdpi="22.07"
|
||||||
|
inkscape:export-ydpi="22.07" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#c24a46;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5372"
|
||||||
|
width="501.94415"
|
||||||
|
height="434.30405"
|
||||||
|
x="156.12303"
|
||||||
|
y="-933.02759"
|
||||||
|
inkscape:export-filename="/home/tim/dev/nix/homepage/logo/nixos-logo-only-hires-print.png"
|
||||||
|
inkscape:export-xdpi="212.2"
|
||||||
|
inkscape:export-ydpi="212.2" /><rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#d98d8a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect5381"
|
||||||
|
width="24.939611"
|
||||||
|
height="24.939611"
|
||||||
|
x="658.02826"
|
||||||
|
y="-958.04022" /></g><text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:7.5px;line-height:1;font-family:'Fira Code';-inkscape-font-specification:'Fira Code';letter-spacing:0px;word-spacing:0px;white-space:pre;inline-size:3.25;stroke-width:1.74648"
|
||||||
|
x="421.24753"
|
||||||
|
y="257.76456"
|
||||||
|
id="text448"
|
||||||
|
transform="matrix(0.15149492,0,0,0.15149492,-31.138838,90.844161)"><tspan
|
||||||
|
x="421.24753"
|
||||||
|
y="257.76456"
|
||||||
|
id="tspan347">1</tspan></text><g
|
||||||
|
id="g778"
|
||||||
|
style="opacity:0.499514;stroke-width:1.86292"
|
||||||
|
transform="matrix(0.53679304,0,0,0.53679304,56.095754,100.21678)"><g
|
||||||
|
id="g711"
|
||||||
|
transform="matrix(0.28222222,0,0,0.28222222,-139.83023,-12.739373)"
|
||||||
|
style="fill:#d40000;stroke-width:1.86292"><g
|
||||||
|
id="g591"
|
||||||
|
transform="matrix(1.0073666,1.7448101,-1.7448101,1.0073666,984.06944,512.56153)"
|
||||||
|
style="opacity:1;fill:#d40000;stroke-width:0.866861"><path
|
||||||
|
d="M 120.95451,37.5 H 92.087 L 70.4364,0 H 57.1573 l -6.6395,11.5 15.0111,26 H 35.5067 l -13.279,23 h 112.0059 z m 57.73509,73 H 221.991 L 228.63,99 221.991,87.5 h -30.0224 l 15.0111,-26 -13.279,-23 -56.003,97 h 26.5581 z m -93.2421,61.5 15.0111,26 h 26.5581 l -56.003,-97 -13.279,23 14.4337,25 -21.6506,37.5 6.6395,11.5 h 13.2791 z"
|
||||||
|
fill="#5277c3"
|
||||||
|
id="path4"
|
||||||
|
style="fill:#d40000;stroke-width:1.16915" /><path
|
||||||
|
d="M 170.8953,74 156.4616,49 178.1122,11.5 171.4727,0 H 158.1936 L 143.1825,26 128.1714,0 h -26.5581 l 56.003,97 z M 90.9323,62.5 H 64.3742 l -14.4338,25 H 6.639 L 0,99 6.639,110.5 h 30.0224 l -15.0111,26 13.279,23 z m 87.1799,124 -15.0111,-26 h 30.0222 l 13.279,-23 H 94.3964 l 13.27909,23 H 136.543 l 21.6506,37.5 h 13.2791 z"
|
||||||
|
fill="#7caedc"
|
||||||
|
id="path6"
|
||||||
|
style="fill:#d40000;stroke-width:1.16915" /></g></g></g><g
|
||||||
|
id="g790"
|
||||||
|
transform="matrix(0.53679304,0,0,0.53679304,288.02546,69.098383)"
|
||||||
|
style="opacity:0.5;fill:#0000ff;fill-opacity:1;stroke-width:1.86292"><g
|
||||||
|
id="g722"
|
||||||
|
transform="matrix(0.28222222,0,0,0.28222222,-571.92705,45.297209)"
|
||||||
|
style="opacity:1;fill:#0000ff;fill-opacity:1;stroke-width:1.86292"><g
|
||||||
|
id="layer3"
|
||||||
|
inkscape:label="gradient-logo"
|
||||||
|
style="display:inline;opacity:1;fill:#0000ff;fill-opacity:1;stroke-width:2.02858"
|
||||||
|
transform="matrix(0.91833531,0,0,0.91833531,552.58214,1469.1641)"><path
|
||||||
|
sodipodi:nodetypes="cccccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3336-6"
|
||||||
|
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8257 z"
|
||||||
|
style="opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:6.08573;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
|
||||||
|
sodipodi:nodetypes="cccccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="use3439-6"
|
||||||
|
d="m 353.65459,-797.57947 -122.21762,211.66312 -28.53475,-48.37004 32.93837,-56.68747 -65.41521,-0.17187 -13.94166,-24.16966 14.23639,-24.72105 93.11171,0.29401 33.4638,-57.69041 z"
|
||||||
|
style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:6.08573;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
|
||||||
|
sodipodi:nodetypes="cccccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="use3445-0"
|
||||||
|
d="m 363.03058,-628.3791 244.41444,0.012 -27.6223,48.89684 -65.56198,-0.18174 32.55877,56.73717 -13.96072,24.15867 -28.52725,0.0314 -46.30123,-80.7841 -66.69326,-0.1353 z"
|
||||||
|
style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:6.08573;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
|
||||||
|
sodipodi:nodetypes="cccccccccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="use3449-5"
|
||||||
|
d="m 505.28844,-721.12473 -122.19683,-211.67512 56.15706,-0.5268 32.6236,56.8692 32.85645,-56.5653 27.90237,0.011 14.29086,24.6896 -46.81047,80.4901 33.22946,57.8257 z"
|
||||||
|
style="fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:6.08573;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:6.08573;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 309.54892,-710.38827 122.19683,211.67512 -56.15706,0.5268 -32.6236,-56.8692 -32.85645,56.5653 -27.90237,-0.011 -14.29086,-24.6896 46.81047,-80.4901 -33.22946,-57.8256 z"
|
||||||
|
id="path4260-0"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccccc" /><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:6.08573;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 451.30201,-803.62004 -244.41444,-0.012 27.62231,-48.89684 65.56197,0.18174 -32.55876,-56.73718 13.96071,-24.15866 28.52725,-0.0314 46.30123,80.7841 66.69317,0.13525 z"
|
||||||
|
id="use4354-5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccccc" /><path
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:6.08573;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
d="m 460.90516,-633.96606 122.21762,-211.66312 28.53475,48.37004 -32.93837,56.68746 65.41521,0.17187 13.94166,24.16966 -14.23639,24.72105 -93.11171,-0.294 -33.46371,57.69035 z"
|
||||||
|
id="use4362-2"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccccccc" /></g></g></g></g></svg>
|
After Width: | Height: | Size: 14 KiB |
BIN
ng/doc/fadeout.mp4
Normal file
BIN
ng/doc/grid.png
Executable file
After Width: | Height: | Size: 17 KiB |
45
ng/doc/header.svg
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
ng/doc/module.png
Executable file
After Width: | Height: | Size: 31 KiB |
138
ng/doc/weights.svg
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="857.08398"
|
||||||
|
height="354"
|
||||||
|
version="1.1"
|
||||||
|
id="svg2546"
|
||||||
|
sodipodi:docname="weights.svg"
|
||||||
|
inkscape:version="1.2 (dc2aedaf03, 2022-05-15)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<defs
|
||||||
|
id="defs2550" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview2548"
|
||||||
|
pagecolor="#505050"
|
||||||
|
bordercolor="#ffffff"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="1"
|
||||||
|
inkscape:deskcolor="#505050"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="2.0426131"
|
||||||
|
inkscape:cx="230.58699"
|
||||||
|
inkscape:cy="156.41729"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1080"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg2546" />
|
||||||
|
<title
|
||||||
|
id="title2540">nix-gapless</title>
|
||||||
|
<path
|
||||||
|
d="m 84.2935,327 15.5884,27 h 24.2487 L 69.8597,260.00002 57.7354,281 72.1691,306 50.5185,343.5 56.5807,354 H 68.705 Z"
|
||||||
|
id="path2794" />
|
||||||
|
<path
|
||||||
|
d="m 176.9582,266.5 h 43.3008 l 6.063,-10.5 -6.063,-10.5 h -31.1764 l 15.5884,-27 -12.1243,-20.9999 -54.271,93.9999 h 24.2487 z"
|
||||||
|
id="path2792" />
|
||||||
|
<path
|
||||||
|
d="M 119.22318,195.5 H 90.3557 L 68.705,158 H 56.5807 l -6.0622,10.5 15.5885,27 H 34.9301 l -12.1244,21 h 108.5418 z"
|
||||||
|
id="path2790" />
|
||||||
|
<path
|
||||||
|
d="m 244.293,163 16.744,29 h 19.63 l -50.807,-88 -9.815,17 14.434,25 -21.6511,37.5 4.9071,8.5 h 9.815 z"
|
||||||
|
id="path2788" />
|
||||||
|
<path
|
||||||
|
d="m 335.804,104.5 h 43.301 l 4.907,-8.5 -4.907,-8.5 h -33.487 l 16.744,-29 -9.815,-17 -50.807,88 h 19.63 z"
|
||||||
|
id="path2786" />
|
||||||
|
<path
|
||||||
|
d="M 278.068,37.5 H 249.201 L 227.55,0 h -9.815 l -4.9071,8.5 16.7431,29 h -33.4862 l -9.815,17 H 287.883 Z"
|
||||||
|
id="path2784" />
|
||||||
|
<path
|
||||||
|
d="m 404.293,318.49995 17.898,31 h 15.011 l -47.342,-82 -7.506,13 14.434,25 -21.651,37.5 3.753,6.5 h 7.506 z"
|
||||||
|
id="path2782" />
|
||||||
|
<path
|
||||||
|
d="m 494.649,261.99995 h 43.301 l 3.753,-6.5 -3.753,-6.5 h -35.796 l 17.898,-31 -7.505,-13 -47.343,82 h 15.011 z"
|
||||||
|
id="path2780" />
|
||||||
|
<path
|
||||||
|
d="m 436.914,198.99995 h -28.868 l -21.65,-37.5 h -7.506 l -3.753,6.5 17.898,31 h -35.796 l -7.505,13 h 94.685 z"
|
||||||
|
id="path2778" />
|
||||||
|
<path
|
||||||
|
d="m 564.293,154.49995 19.053,33 h 10.392 l -43.878,-76 -5.196,9 14.433,25 -21.65,37.5 2.598,4.5 h 5.196 z"
|
||||||
|
id="path2776" />
|
||||||
|
<path
|
||||||
|
d="m 653.494,99.99995 h 43.301 l 2.598,-4.5 -2.598,-4.5 H 658.69 l 19.053,-33 -5.196,-9 -43.879,76 h 10.392 z"
|
||||||
|
id="path2774" />
|
||||||
|
<path
|
||||||
|
d="m 595.759,40.99995 h -28.867 l -21.651,-37.5 h -5.196 l -2.598,4.5 19.052,33 h -38.105 l -5.196,9 h 87.757 z"
|
||||||
|
id="path2772" />
|
||||||
|
<path
|
||||||
|
d="m 724.293,307.50002 20.208,35 h 5.773 l -40.414,-70 -2.887,5 14.434,25 -21.651,37.5 1.443,2.5 h 2.887 z"
|
||||||
|
id="path2770" />
|
||||||
|
<path
|
||||||
|
d="m 812.339,255.00002 h 43.302 l 1.443,-2.5 -1.443,-2.5 h -40.415 l 20.207,-35 -2.886,-5 -40.415,70 h 5.774 z"
|
||||||
|
id="path2768" />
|
||||||
|
<path
|
||||||
|
d="m 754.604,200.00002 h -28.867 l -21.651,-37.5 h -2.887 l -1.443,2.5 20.207,35 h -40.414 l -2.887,5 h 80.829 z"
|
||||||
|
id="path2542" />
|
||||||
|
<path
|
||||||
|
d="m 175.8035,343.5 -15.5885,-27 h 31.1769 l 12.1244,-21 H 94.9745 l 12.12432,21 H 135.9663 L 157.617,354 h 12.1243 z"
|
||||||
|
id="path2764" />
|
||||||
|
<path
|
||||||
|
d="M 88.0463,220.5 H 63.7976 l -14.4338,25 H 6.063 L 0,256 6.063,266.5 h 31.1764 l -15.5884,27 12.1243,20.9999 z"
|
||||||
|
id="path2762" />
|
||||||
|
<path
|
||||||
|
d="M 168.5866,231 154.1529,206 175.8035,168.5 169.7413,158 H 157.617 l -15.5885,27 -15.5884,-27 h -24.2487 l 54.2709,93.99998 z"
|
||||||
|
id="path2760" />
|
||||||
|
<path
|
||||||
|
d="m 328.587,192 4.907,-8.5 -16.743,-29 h 33.486 l 9.815,-17 H 258.439 l 9.815,17 h 28.867 l 21.651,37.5 z"
|
||||||
|
id="path2758" />
|
||||||
|
<path
|
||||||
|
d="m 244.582,62.5 h -19.63 l -14.4335,25 h -43.3013 l -4.9074,8.5 4.9075,8.5 h 33.4863 l -16.7432,29 9.8149,17 z"
|
||||||
|
id="path2756" />
|
||||||
|
<path
|
||||||
|
d="M 326.277,71 311.843,46 333.494,8.5 328.587,0 h -9.815 L 302.029,29 285.285,0 h -19.63 l 50.807,88 z"
|
||||||
|
id="path2754" />
|
||||||
|
<path
|
||||||
|
d="m 491.185,342.99995 -17.898,-31 h 35.796 l 7.505,-13 h -94.685 l 7.505,13 h 28.868 l 21.65,37.5 h 7.506 z"
|
||||||
|
id="path2752" />
|
||||||
|
<path
|
||||||
|
d="m 401.118,223.99995 h -15.011 l -14.434,25 h -43.301 l -3.753,6.5 3.753,6.5 h 35.796 l -17.898,31 7.505,13 z"
|
||||||
|
id="path2750" />
|
||||||
|
<path
|
||||||
|
d="m 483.968,230.49995 -14.434,-25 21.651,-37.5 -3.753,-6.5 h -7.506 l -17.897,31 -17.898,-31 H 429.12 l 47.342,82 z"
|
||||||
|
id="path2748" />
|
||||||
|
<path
|
||||||
|
d="m 648.875,182.99995 -19.052,-33 h 38.105 l 5.196,-9 h -87.757 l 5.196,9 h 28.867 l 21.651,37.5 h 5.196 z"
|
||||||
|
id="path2746" />
|
||||||
|
<path
|
||||||
|
d="m 557.654,65.99995 h -10.392 l -14.434,25 h -43.301 l -2.598,4.5 2.598,4.5 h 38.105 l -19.053,33 5.196,9 z"
|
||||||
|
id="path2744" />
|
||||||
|
<path
|
||||||
|
d="m 641.658,70.49995 -14.433,-25 21.65,-37.5 -2.598,-4.5 h -5.196 l -19.052,33 -19.053,-33 h -10.392 l 43.878,76 z"
|
||||||
|
id="path2742" />
|
||||||
|
<path
|
||||||
|
d="m 806.566,340.00002 -20.207,-35 h 40.414 l 2.887,-5 h -80.829 l 2.887,5 h 28.867 l 21.651,37.5 h 2.887 z"
|
||||||
|
id="path2740" />
|
||||||
|
<path
|
||||||
|
d="m 714.19,225.00002 h -5.774 l -14.433,25 h -43.302 l -1.443,2.5 1.443,2.5 h 40.415 l -20.207,35 2.886,5 z"
|
||||||
|
id="path2738" />
|
||||||
|
<path
|
||||||
|
d="m 799.349,227.50002 -14.434,-25 21.651,-37.5 -1.443,-2.5 h -2.887 l -20.207,35 -20.208,-35 h -5.773 l 40.414,70 z"
|
||||||
|
id="path2544" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2932">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:title>nix-gapless</dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.7 KiB |
43
ng/export-color-svgs.sh
Executable file
|
@ -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 <<EOF
|
||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
|
<svg width="0mm" height="0mm" xmlns="http://www.w3.org/2000/svg" version="1.1">
|
||||||
|
<title>${PROFILE}</title>
|
||||||
|
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 '<path(\n|\N)*/>' |
|
||||||
|
# drop the Null
|
||||||
|
head -c-1
|
||||||
|
echo
|
||||||
|
done
|
||||||
|
cat <<EOF
|
||||||
|
|
||||||
|
</svg>
|
||||||
|
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
|
138
ng/nix.json
Normal file
|
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
229
ng/nix.scad
Normal file
|
@ -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 <MCAD/regular_shapes.scad> 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();
|
||||||
|
};
|
33
ng/out/nix-megagrid.svg
Normal file
After Width: | Height: | Size: 17 KiB |
29
ng/out/nix-white.svg
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="228.63"
|
||||||
|
height="198"
|
||||||
|
version="1.1"
|
||||||
|
id="svg13"
|
||||||
|
sodipodi:docname="nix-white.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs17" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview15"
|
||||||
|
pagecolor="#505050"
|
||||||
|
bordercolor="#ffffff"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="1"
|
||||||
|
inkscape:deskcolor="#505050" />
|
||||||
|
<title
|
||||||
|
id="title9">nix-white</title>
|
||||||
|
<path
|
||||||
|
d="M 170.8953,74 156.4616,49 178.1122,11.5 171.4727,0 H 158.1936 L 143.1825,26 128.1714,0 h -26.5581 l 56.003,97 z M 120.95453,37.5 H 92.087 L 70.4364,0 H 57.1573 l -6.6395,11.5 15.0111,26 H 35.5067 l -13.279,23 h 112.0059 z m 57.73507,73 H 221.991 L 228.63,99 221.991,87.5 h -30.0224 l 15.0111,-26 -13.279,-22.9999 -56.003,96.9999 h 26.5581 z M 90.9323,62.5 H 64.3742 l -14.4338,25 H 6.639 L 0,99 6.639,110.5 h 30.0224 l -15.0111,26 13.279,22.9999 z m -5.4848,109.5 15.0111,26 h 26.5581 l -56.003,-97 -13.279,23 14.4337,25 -21.6506,37.5 6.6395,11.5 h 13.2791 z m 92.6647,14.5 -15.0111,-26 h 30.0222 l 13.279,-23 H 94.3964 l 13.27907,23 H 136.543 l 21.6506,37.5 h 13.2791 z"
|
||||||
|
fill="#ffffff"
|
||||||
|
id="path11" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
33
ng/out/nix.svg
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="228.63"
|
||||||
|
height="198"
|
||||||
|
version="1.1"
|
||||||
|
id="svg15"
|
||||||
|
sodipodi:docname="nix.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs19" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview17"
|
||||||
|
pagecolor="#505050"
|
||||||
|
bordercolor="#ffffff"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="1"
|
||||||
|
inkscape:deskcolor="#505050" />
|
||||||
|
<title
|
||||||
|
id="title9">nix</title>
|
||||||
|
<path
|
||||||
|
d="M 120.95453,37.5 H 92.087 L 70.4364,0 H 57.1573 l -6.6395,11.5 15.0111,26 H 35.5067 l -13.279,23 h 112.0059 z m 57.73507,73 H 221.991 L 228.63,99 221.991,87.5 h -30.0224 l 15.0111,-26 -13.279,-22.9999 -56.003,96.9999 h 26.5581 z m -93.2421,61.5 15.0111,26 h 26.5581 l -56.003,-97 -13.279,23 14.4337,25 -21.6506,37.5 6.6395,11.5 h 13.2791 z"
|
||||||
|
fill="#5277c3"
|
||||||
|
id="path11" />
|
||||||
|
<path
|
||||||
|
d="M 170.8953,74 156.4616,49 178.1122,11.5 171.4727,0 H 158.1936 L 143.1825,26 128.1714,0 h -26.5581 l 56.003,97 z M 90.9323,62.5 H 64.3742 l -14.4338,25 H 6.639 L 0,99 6.639,110.5 h 30.0224 l -15.0111,26 13.279,22.9999 z m 87.1799,124 -15.0111,-26 h 30.0222 l 13.279,-23 H 94.3964 l 13.27907,23 H 136.543 l 21.6506,37.5 h 13.2791 z"
|
||||||
|
fill="#7ebae4"
|
||||||
|
id="path13" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.4 KiB |
43
ng/readme.md
Normal file
|
@ -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
|