1
0
Fork 0
mirror of https://github.com/NixOS/nixos-artwork synced 2024-10-18 14:32:43 -04:00
nixos-artwork/logo/nixos.scad
Profpatsch d4ea1d72b8 Replace .scad version with the new design
Exported from the official .svg and parametrized a bit.
2017-06-06 21:51:02 +02:00

83 lines
2.9 KiB
OpenSCAD

// Module names are of the form poly_<inkscape-path-id>(). As a result,
// you can associate a polygon in this OpenSCAD program with the corresponding
// SVG element in the Inkscape document by looking for the XML element with
// the attribute id="inkscape-path-id".
// fudge value is used to ensure that subtracted solids are a tad taller
// in the z dimension than the polygon being subtracted from. This helps
// keep the resulting .stl file manifold.
fudge = 0.1;
resize = 1.2;
h = 1.3;
hole = 1.6;
module poly_use4877(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[14.207302,24.606074],[49.535701,-36.577571],[57.571512,-22.955866],[48.295577,-6.991831],[66.717461,-6.943450],[70.643564,-0.136878],[66.634395,6.824948],[40.412750,6.742153],[30.078745,24.607594]]);
}
}
module poly_use4867(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[28.458722,0.008829],[24.048793,-7.633090],[19.638494,-15.274795],[15.227887,-22.916323],[10.817037,-30.557711],[6.406008,-38.198996],[1.994864,-45.840215],[-6.827516,-61.122604],[8.987139,-61.270958],[18.174426,-45.255754],[27.427286,-61.185376],[35.285004,-61.182278],[39.309521,-54.229323],[26.127003,-31.562097],[36.358720,-13.756949]]);
}
}
module poly_use4875(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[6.242489,-38.482132],[-14.321266,-38.519856],[-27.360264,-61.269896],[-35.393881,-61.261111],[-39.325426,-54.457909],[-30.156475,-38.479555],[-48.619947,-38.530715],[-56.398803,-24.761012],[14.165366,-24.757388],[6.242489,-38.482132]]);
}
}
module poly_use4865(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[-14.163043,24.603341],[56.353710,24.610099],[48.574866,38.380159],[30.111644,38.328989],[39.280671,54.306992],[35.349053,61.110382],[27.315368,61.119393],[14.276240,38.369401],[-6.191601,38.327891]]);
}
}
module poly_use4863(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[-14.126419,-24.758850],[-49.535698,36.564898],[-57.571510,22.943194],[-48.295574,6.979159],[-66.717461,6.930749],[-70.643564,0.124177],[-66.634393,-6.837620],[-40.412747,-6.754854],[-29.997860,-24.764369]]);
}
}
module poly_path4861(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
linear_extrude(height=h)
polygon([[-28.291283,-0.227362],[6.874205,61.122604],[-8.940450,61.270958],[-18.127737,45.255754],[-27.380597,61.185376],[-35.238315,61.182278],[-39.262832,54.229323],[-26.080314,31.562097],[-36.191280,13.454298]]);
}
}
$fn=25;
difference() {
union() {
scale([resize,resize,1]){
poly_use4877(h);
poly_use4867(h);
poly_use4875(h);
poly_use4865(h);
poly_use4863(h);
poly_path4861(h);
}
}
translate([resize*4.5,resize*9.7,-0.1]) cylinder(h=h+0.2, r=resize*hole);
}