Commit 81f3b54f authored by mik's avatar mik
Browse files

initial files

parent 9ea3887a
# Icecubes in form of the DevLoL-logo
devlol-icecube-single.scad was a failure, bottom to thin
devlol-icecube.scad not tested yet...
// Licensed under the terms of the GNU General Public License
// version 3 (or later).
use <rounded_square.scad>;
// 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;
module devlol(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[0.015625,-173.718750],[-8.511719,-173.50894038],[-17.006348,-172.879855],[-25.458740,-171.834282],[-33.859375,-170.375000],[-27.703125,-142.093750],[-34.689111,-140.523981],[-41.576380,-138.615454],[-48.353236,-136.373410],[-55.007979,-133.803085],[-61.528912,-130.909718],[-67.904338,-127.698548],[-74.122558,-124.174813],[-80.171875,-120.343750],[-96.484375,-144.468750],[-103.460396,-139.554819],[-110.185334,-134.304981],[-116.645729,-128.730778],[-122.828125,-122.843750],[-128.709892,-116.665863],[-134.273397,-110.216254],[-139.512705,-103.502268],[-144.421875,-96.531250],[-120.046875,-80.875000],[-123.877946,-74.825676],[-127.401686,-68.607450],[-130.612857,-62.232020],[-133.506221,-55.711085],[-136.076543,-49.056342],[-138.318584,-42.279490],[-140.227107,-35.392227],[-141.796875,-28.406250],[-170.390625,-33.937500],[-171.844875,-25.532334],[-172.879465,-17.069793],[-173.497760,-8.564543],[-173.703125,-0.031250],[-173.497799,8.502044],[-172.879503,17.007296],[-171.844892,25.469838],[-170.390625,33.875000],[-142.109375,27.687500],[-140.539606,34.674829],[-138.631081,41.565638],[-136.389037,48.347498],[-133.818714,55.007979],[-130.925348,61.534649],[-127.714177,67.915080],[-124.190440,74.136840],[-120.359375,80.187500],[-144.484375,96.500000],[-139.570076,103.471103],[-134.319624,110.185232],[-128.745297,116.634870],[-122.859375,122.812500],[-116.682585,128.699263],[-110.232854,134.273499],[-103.518258,139.523485],[-96.546875,144.437500],[-80.921875,120.062500],[-74.871208,123.893571],[-68.649442,127.417311],[-62.269008,130.628482],[-55.742335,133.521846],[-49.081855,136.092168],[-42.299998,138.334209],[-35.409194,140.242732],[-28.421875,141.812500],[-33.953125,170.375000],[-25.548330,171.834080],[-17.086407,172.879315],[-8.581281,173.508330],[-0.046875,173.718750],[8.487535,173.508706],[16.992661,172.879649],[25.454581,171.834205],[33.859375,170.375000],[27.671875,142.093750],[34.659204,140.525327],[41.550013,138.620344],[48.331873,136.383307],[54.992354,133.818721],[61.519024,130.931092],[67.899455,127.724925],[74.121215,124.204726],[80.171875,120.375000],[96.484375,144.500000],[103.454891,139.586575],[110.168040,134.337581],[116.617482,128.763546],[122.796875,122.875000],[128.685402,116.690706],[134.259441,110.230529],[139.508448,103.506650],[144.421875,96.531250],[120.046875,80.906250],[123.877947,74.856933],[127.401687,68.638711],[130.612859,62.263284],[133.506225,55.742350],[136.076547,49.087606],[138.318588,42.310751],[140.227110,35.423483],[141.796875,28.437500],[170.390625,33.937500],[171.845868,25.531782],[172.882105,17.068330],[173.500727,8.562900],[173.703125,0.031250],[173.489938,-8.495524],[172.861230,-16.990216],[171.817532,-25.442925],[170.359375,-33.843750],[142.078125,-27.687500],[140.509698,-34.673486],[138.604712,-41.560755],[136.367672,-48.337611],[133.803085,-54.992354],[130.915456,-61.513287],[127.709290,-67.888713],[124.189095,-74.106933],[120.359375,-80.156250],[144.453125,-96.468750],[139.544077,-103.444771],[134.304981,-110.169709],[128.741520,-116.630104],[122.859375,-122.812500],[116.676609,-128.694267],[110.216257,-134.257772],[103.491527,-139.497080],[96.515625,-144.406250],[80.890625,-120.031250],[74.841301,-123.862321],[68.623075,-127.386061],[62.247645,-130.597232],[55.726710,-133.490596],[49.071967,-136.060918],[42.295115,-138.302959],[35.407852,-140.211482],[28.421875,-141.781250],[33.921875,-170.375000],[25.516354,-171.833998],[17.053223,-172.879105],[8.547854,-173.508097],[0.015625,-173.718750]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-62.953125,-71.781250],[-57.859484,-71.524114],[-52.913119,-70.769387],[-48.139054,-69.542092],[-43.562310,-67.867251],[-39.207910,-65.769887],[-35.100876,-63.275021],[-31.266231,-60.407677],[-27.728997,-57.192877],[-24.514198,-53.655644],[-21.646854,-49.820999],[-19.151988,-45.713965],[-17.054624,-41.359565],[-15.379783,-36.782821],[-14.152488,-32.008756],[-13.397761,-27.062391],[-13.140625,-21.968750],[-62.953125,-21.968750],[-112.796875,-21.968750],[-112.539388,-27.062391],[-111.783669,-32.008756],[-110.554833,-36.782821],[-108.877993,-41.359565],[-106.778264,-45.713965],[-104.280759,-49.820999],[-101.410592,-53.655644],[-98.192878,-57.192877],[-94.652729,-60.407677],[-90.815262,-63.275021],[-86.705588,-65.769887],[-82.348823,-67.867251],[-77.770080,-69.542092],[-72.994474,-70.769387],[-68.047117,-71.524114],[-62.953125,-71.781250]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[62.546875,-71.781250],[67.640516,-71.524114],[72.586881,-70.769387],[77.360946,-69.542092],[81.937690,-67.867251],[86.292090,-65.769887],[90.399124,-63.275021],[94.233769,-60.407677],[97.771003,-57.192877],[100.985802,-53.655644],[103.853146,-49.820999],[106.348012,-45.713965],[108.445376,-41.359565],[110.120217,-36.782821],[111.347512,-32.008756],[112.102239,-27.062391],[112.359375,-21.968750],[62.546875,-21.968750],[12.734375,-21.968750],[12.991511,-27.062391],[13.746238,-32.008756],[14.973533,-36.782821],[16.648374,-41.359565],[18.745738,-45.713965],[21.240604,-49.820999],[24.107948,-53.655644],[27.322747,-57.192877],[30.859981,-60.407677],[34.694626,-63.275021],[38.801660,-65.769887],[43.156060,-67.867251],[47.732804,-69.542092],[52.506869,-70.769387],[57.453234,-71.524114],[62.546875,-71.781250]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-88.076495,-1.187500],[0.048505,-1.187500],[88.173505,-1.187500],[87.718538,7.822960],[86.383166,16.573093],[84.211679,25.018609],[81.248368,33.115215],[77.537526,40.818620],[73.123444,48.084534],[68.050413,54.868664],[62.362724,61.126719],[56.104669,66.814408],[49.320539,71.887439],[42.054625,76.301521],[34.351220,80.012363],[26.254614,82.975674],[17.809098,85.147161],[9.058965,86.482533],[0.048505,86.937500],[-8.961955,86.482533],[-17.712088,85.147161],[-26.157604,82.975674],[-34.254210,80.012363],[-41.957615,76.301521],[-49.223529,71.887439],[-56.007659,66.814408],[-62.265714,61.126719],[-67.953403,54.868664],[-73.026434,48.084534],[-77.440516,40.818620],[-81.151358,33.115215],[-84.114669,25.018609],[-86.286156,16.573093],[-87.621528,7.822960],[-88.076495,-1.187500]]);
}
}
}
iceheight=15;
size=5;
xyscale=0.3;
distance=18.5;
dicke=2.4;
height=20;
translate([0,0,dicke]) {
scale([xyscale,xyscale,0]) { devlol(iceheight); }
}
difference() {
linear_extrude(height=height) {
rounded_square([3*distance-3*size,3*distance-3*size],center=true);
}
translate([0,0,dicke]) {
linear_extrude(height=height) {
rounded_square([3*distance-3*size-2*dicke,3*distance-3*size-2*dicke],center=true);
}
}
}
// Licensed under the terms of the GNU General Public License
// version 3 (or later).
// 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;
module devlol(h)
{
scale([25.4/90, -25.4/90, 1]) union()
{
difference()
{
linear_extrude(height=h)
polygon([[0.015625,-173.718750],[-8.511719,-173.50894038],[-17.006348,-172.879855],[-25.458740,-171.834282],[-33.859375,-170.375000],[-27.703125,-142.093750],[-34.689111,-140.523981],[-41.576380,-138.615454],[-48.353236,-136.373410],[-55.007979,-133.803085],[-61.528912,-130.909718],[-67.904338,-127.698548],[-74.122558,-124.174813],[-80.171875,-120.343750],[-96.484375,-144.468750],[-103.460396,-139.554819],[-110.185334,-134.304981],[-116.645729,-128.730778],[-122.828125,-122.843750],[-128.709892,-116.665863],[-134.273397,-110.216254],[-139.512705,-103.502268],[-144.421875,-96.531250],[-120.046875,-80.875000],[-123.877946,-74.825676],[-127.401686,-68.607450],[-130.612857,-62.232020],[-133.506221,-55.711085],[-136.076543,-49.056342],[-138.318584,-42.279490],[-140.227107,-35.392227],[-141.796875,-28.406250],[-170.390625,-33.937500],[-171.844875,-25.532334],[-172.879465,-17.069793],[-173.497760,-8.564543],[-173.703125,-0.031250],[-173.497799,8.502044],[-172.879503,17.007296],[-171.844892,25.469838],[-170.390625,33.875000],[-142.109375,27.687500],[-140.539606,34.674829],[-138.631081,41.565638],[-136.389037,48.347498],[-133.818714,55.007979],[-130.925348,61.534649],[-127.714177,67.915080],[-124.190440,74.136840],[-120.359375,80.187500],[-144.484375,96.500000],[-139.570076,103.471103],[-134.319624,110.185232],[-128.745297,116.634870],[-122.859375,122.812500],[-116.682585,128.699263],[-110.232854,134.273499],[-103.518258,139.523485],[-96.546875,144.437500],[-80.921875,120.062500],[-74.871208,123.893571],[-68.649442,127.417311],[-62.269008,130.628482],[-55.742335,133.521846],[-49.081855,136.092168],[-42.299998,138.334209],[-35.409194,140.242732],[-28.421875,141.812500],[-33.953125,170.375000],[-25.548330,171.834080],[-17.086407,172.879315],[-8.581281,173.508330],[-0.046875,173.718750],[8.487535,173.508706],[16.992661,172.879649],[25.454581,171.834205],[33.859375,170.375000],[27.671875,142.093750],[34.659204,140.525327],[41.550013,138.620344],[48.331873,136.383307],[54.992354,133.818721],[61.519024,130.931092],[67.899455,127.724925],[74.121215,124.204726],[80.171875,120.375000],[96.484375,144.500000],[103.454891,139.586575],[110.168040,134.337581],[116.617482,128.763546],[122.796875,122.875000],[128.685402,116.690706],[134.259441,110.230529],[139.508448,103.506650],[144.421875,96.531250],[120.046875,80.906250],[123.877947,74.856933],[127.401687,68.638711],[130.612859,62.263284],[133.506225,55.742350],[136.076547,49.087606],[138.318588,42.310751],[140.227110,35.423483],[141.796875,28.437500],[170.390625,33.937500],[171.845868,25.531782],[172.882105,17.068330],[173.500727,8.562900],[173.703125,0.031250],[173.489938,-8.495524],[172.861230,-16.990216],[171.817532,-25.442925],[170.359375,-33.843750],[142.078125,-27.687500],[140.509698,-34.673486],[138.604712,-41.560755],[136.367672,-48.337611],[133.803085,-54.992354],[130.915456,-61.513287],[127.709290,-67.888713],[124.189095,-74.106933],[120.359375,-80.156250],[144.453125,-96.468750],[139.544077,-103.444771],[134.304981,-110.169709],[128.741520,-116.630104],[122.859375,-122.812500],[116.676609,-128.694267],[110.216257,-134.257772],[103.491527,-139.497080],[96.515625,-144.406250],[80.890625,-120.031250],[74.841301,-123.862321],[68.623075,-127.386061],[62.247645,-130.597232],[55.726710,-133.490596],[49.071967,-136.060918],[42.295115,-138.302959],[35.407852,-140.211482],[28.421875,-141.781250],[33.921875,-170.375000],[25.516354,-171.833998],[17.053223,-172.879105],[8.547854,-173.508097],[0.015625,-173.718750]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-62.953125,-71.781250],[-57.859484,-71.524114],[-52.913119,-70.769387],[-48.139054,-69.542092],[-43.562310,-67.867251],[-39.207910,-65.769887],[-35.100876,-63.275021],[-31.266231,-60.407677],[-27.728997,-57.192877],[-24.514198,-53.655644],[-21.646854,-49.820999],[-19.151988,-45.713965],[-17.054624,-41.359565],[-15.379783,-36.782821],[-14.152488,-32.008756],[-13.397761,-27.062391],[-13.140625,-21.968750],[-62.953125,-21.968750],[-112.796875,-21.968750],[-112.539388,-27.062391],[-111.783669,-32.008756],[-110.554833,-36.782821],[-108.877993,-41.359565],[-106.778264,-45.713965],[-104.280759,-49.820999],[-101.410592,-53.655644],[-98.192878,-57.192877],[-94.652729,-60.407677],[-90.815262,-63.275021],[-86.705588,-65.769887],[-82.348823,-67.867251],[-77.770080,-69.542092],[-72.994474,-70.769387],[-68.047117,-71.524114],[-62.953125,-71.781250]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[62.546875,-71.781250],[67.640516,-71.524114],[72.586881,-70.769387],[77.360946,-69.542092],[81.937690,-67.867251],[86.292090,-65.769887],[90.399124,-63.275021],[94.233769,-60.407677],[97.771003,-57.192877],[100.985802,-53.655644],[103.853146,-49.820999],[106.348012,-45.713965],[108.445376,-41.359565],[110.120217,-36.782821],[111.347512,-32.008756],[112.102239,-27.062391],[112.359375,-21.968750],[62.546875,-21.968750],[12.734375,-21.968750],[12.991511,-27.062391],[13.746238,-32.008756],[14.973533,-36.782821],[16.648374,-41.359565],[18.745738,-45.713965],[21.240604,-49.820999],[24.107948,-53.655644],[27.322747,-57.192877],[30.859981,-60.407677],[34.694626,-63.275021],[38.801660,-65.769887],[43.156060,-67.867251],[47.732804,-69.542092],[52.506869,-70.769387],[57.453234,-71.524114],[62.546875,-71.781250]]);
translate([0, 0, -fudge])
linear_extrude(height=h+2*fudge)
polygon([[-88.076495,-1.187500],[0.048505,-1.187500],[88.173505,-1.187500],[87.718538,7.822960],[86.383166,16.573093],[84.211679,25.018609],[81.248368,33.115215],[77.537526,40.818620],[73.123444,48.084534],[68.050413,54.868664],[62.362724,61.126719],[56.104669,66.814408],[49.320539,71.887439],[42.054625,76.301521],[34.351220,80.012363],[26.254614,82.975674],[17.809098,85.147161],[9.058965,86.482533],[0.048505,86.937500],[-8.961955,86.482533],[-17.712088,85.147161],[-26.157604,82.975674],[-34.254210,80.012363],[-41.957615,76.301521],[-49.223529,71.887439],[-56.007659,66.814408],[-62.265714,61.126719],[-67.953403,54.868664],[-73.026434,48.084534],[-77.440516,40.818620],[-81.151358,33.115215],[-84.114669,25.018609],[-86.286156,16.573093],[-87.621528,7.822960],[-88.076495,-1.187500]]);
}
}
}
iceheight=15;
size=10;
xyscale=0.3;
distance=38;
dicke=3;
height=20;
translate([-distance/2,-distance/2,0]){
scale([xyscale,xyscale,0]) { devlol(iceheight); }
translate([distance,0,0])
scale([xyscale,xyscale,0]) { devlol(iceheight); }
translate([0,distance,0])
scale([xyscale,xyscale,0]) { devlol(iceheight); }
translate([distance,distance,0])
scale([xyscale,xyscale,0]) { devlol(iceheight); }
}
translate([0,0,height/2]) {
difference() {
cube(size=[3*distance-3*size,3*distance-3*size,height],center=true);
translate([0,0,dicke])
cube(size=[3*distance-3*size-2*dicke,3*distance-3*size-2*dicke,height-dicke],center=true);
}
}
// helper module for drawing rectangles with rounded borders
//
// (c) 2013 Felipe C. da S. Sanches <fsanches@metamaquina.com.br>
// Lincensed under the terms of the GNU General Public License
// version 3 (or later).
module rounded_square(dim, corners=[10,10,10,10], center=false){
w=dim[0];
h=dim[1];
if (center){
translate([-w/2, -h/2])
rounded_square_(dim, corners=corners);
}else{
rounded_square_(dim, corners=corners);
}
}
module rounded_square_(dim, corners, center=false){
w=dim[0];
h=dim[1];
render(){
difference(){
square([w,h]);
if (corners[0])
square([corners[0], corners[0]]);
if (corners[1])
translate([w-corners[1],0])
square([corners[1], corners[1]]);
if (corners[2])
translate([0,h-corners[2]])
square([corners[2], corners[2]]);
if (corners[3])
translate([w-corners[3], h-corners[3]])
square([corners[3], corners[3]]);
}
if (corners[0])
translate([corners[0], corners[0]])
intersection(){
circle(r=corners[0]);
translate([-corners[0], -corners[0]])
square([corners[0], corners[0]]);
}
if (corners[1])
translate([w-corners[1], corners[1]])
intersection(){
circle(r=corners[1]);
translate([0, -corners[1]])
square([corners[1], corners[1]]);
}
if (corners[2])
translate([corners[2], h-corners[2]])
intersection(){
circle(r=corners[2]);
translate([-corners[2], 0])
square([corners[2], corners[2]]);
}
if (corners[3])
translate([w-corners[3], h-corners[3]])
intersection(){
circle(r=corners[3]);
square([corners[3], corners[3]]);
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment