// Module names are of the form poly_(). 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. // rendered from svg version of the CCRMA logo // http://www.instructables.com/id/Make-a-3D-print-from-a-2D-drawing/ module poly_path_ccRMA(h) { scale([25.4/90, -25.4/90, 1]) union() { translate([55, 0, 0]) { linear_extrude(height=h) // had to break this into two polygons to avoid an invalid two-manifold error polygon([[-15.081100,-7.095502],[-35.138500,26.363802],[-59.835400,26.376802],[-75.952000,4.113902],[-75.965000,26.351602],[-85.955700,26.351602],[-85.955700,-26.482702],[-65.861500,-26.466702],[-65.460900,-26.425702],[-63.971100,-26.229302],[-61.153300,-25.494402],[-58.515200,-24.297802],[-55.050912,-21.710252],[-52.385300,-18.343002],[-50.908000,-15.057839],[-50.212500,-11.483402],[-50.174500,-11.020602],[-50.174500,-10.293702],[-50.174500,-9.566902],[-50.212500,-9.091402],[-50.590325,-6.653826],[-51.343600,-4.309098],[-51.505700,-3.908498],[-51.802500,-3.307398],[-52.099200,-2.706298],[-52.383600,-2.230698],[-55.060700,1.148702],[-55.520100,1.596302],[-55.945800,1.950802],[-59.019287,4.003015],[-62.409800,5.319402],[-62.745200,5.419402],[-62.776200,5.438402],[-54.868700,16.348102],[-40.671600,16.361102],[-15.072900,-26.343702]]); linear_extrude(height=h) polygon([[-15.072900,-26.343702],[-5.303400,-26.356702],[-5.290400,7.151802],[14.802700,-26.330302],[14.846700,-26.381302],[24.693900,-26.381302],[24.693900,16.486202],[38.665900,16.486202],[38.665900,-26.356302],[48.644100,-26.355902],[85.955700,26.442702],[14.828400,26.482702],[14.815400,-7.131802],[-5.278800,26.391602],[-5.316800,26.476602],[-15.069600,26.476902],[-15.082600,-7.095002]]); } } } module poly_path_cCrma(h) { scale([25.4/90, -25.4/90, 1]) union() { linear_extrude(height=h) polygon([[-65.385800,26.326552],[-66.049300,26.290552],[-70.615044,25.661893],[-74.969475,24.330877],[-79.036019,22.327824],[-82.738100,19.683052],[-86.195363,16.169577],[-88.928200,12.118952],[-90.153452,9.548833],[-91.075563,6.884702],[-91.692592,4.133421],[-92.002600,1.301852],[-92.027600,0.838652],[-92.027600,-0.025248],[-92.027600,-0.889048],[-92.002600,-1.352248],[-91.647816,-4.440594],[-90.925775,-7.435751],[-89.839872,-10.326658],[-88.393500,-13.102252],[-85.797338,-16.690389],[-82.590600,-19.852452],[-80.192920,-21.643505],[-77.613713,-23.168027],[-74.877473,-24.413286],[-72.008700,-25.366552],[-69.142063,-25.994277],[-65.999200,-26.346452],[-65.548500,-26.377452],[-64.334100,-26.377452],[-63.119700,-26.377452],[-62.506200,-26.334452],[-56.860600,-25.414264],[-51.626600,-23.438152],[-48.455700,-21.608614],[-45.517000,-19.343552],[-45.091300,-18.971252],[-44.338500,-18.219052],[-43.585700,-17.466852],[-43.286300,-17.128852],[-41.315138,-14.657339],[-39.670300,-11.961652],[-52.305200,-11.945652],[-54.994400,-14.014752],[-58.733175,-15.742652],[-62.831800,-16.530352],[-63.244900,-16.560352],[-64.021100,-16.560352],[-64.797400,-16.560352],[-65.210500,-16.530352],[-68.095522,-16.080916],[-70.824750,-15.174740],[-73.338428,-13.837369],[-75.576800,-12.094352],[-77.221838,-10.346877],[-78.569500,-8.412352],[-78.847900,-7.946952],[-79.126400,-7.385752],[-79.405000,-6.824552],[-79.571100,-6.423852],[-80.647000,-2.442548],[-80.707000,-1.991848],[-80.749000,-1.428548],[-80.791000,-0.865148],[-80.777000,-0.101448],[-80.763000,0.662252],[-80.726000,1.050452],[-80.281381,3.597747],[-79.448000,6.002965],[-78.235194,8.244925],[-76.652300,10.302452],[-76.336300,10.653052],[-75.888200,11.088552],[-75.440000,11.524152],[-75.064200,11.840852],[-73.221520,13.196829],[-71.235413,14.283939],[-69.122948,15.094282],[-66.901200,15.619952],[-65.298600,15.813552],[-64.822900,15.851552],[-64.021600,15.851552],[-63.220400,15.851552],[-62.744600,15.813552],[-61.004400,15.596352],[-58.679488,15.015135],[-56.461375,14.114464],[-54.396375,12.917038],[-52.530800,11.445552],[-52.307700,11.241452],[-39.316000,11.241452],[-41.057225,14.199627],[-43.149900,16.922452],[-43.514300,17.338352],[-44.077700,17.911752],[-47.257700,20.708452],[-51.993000,23.568539],[-57.209200,25.451452],[-62.606900,26.291152],[-62.995000,26.317152],[-64.096700,26.327152],[-65.386300,26.326852]]); } } module poly_path_Ccrma(h) { scale([25.4/90, -25.4/90, 1]) union() { linear_extrude(height=h) polygon([[-123.777800,26.163952],[-128.367003,25.564632],[-132.746000,24.262140],[-136.834522,22.287554],[-140.552300,19.671952],[-144.146888,16.049877],[-146.965300,11.856152],[-148.153255,9.341083],[-149.049413,6.734027],[-149.654964,4.030708],[-149.971100,1.226852],[-150.000100,0.738652],[-149.999600,-0.187848],[-149.999000,-1.114348],[-149.971000,-1.577548],[-149.462575,-5.385525],[-148.408900,-9.014252],[-146.825211,-12.443858],[-144.754163,-15.615802],[-142.233733,-18.480171],[-139.301900,-20.987052],[-136.504220,-22.809804],[-133.519163,-24.283739],[-130.373773,-25.397432],[-127.095100,-26.139452],[-123.840000,-26.493952],[-123.339200,-26.522952],[-122.325100,-26.522952],[-121.311000,-26.522952],[-120.810200,-26.493952],[-117.555100,-26.139452],[-112.246205,-24.726477],[-107.377813,-22.358377],[-103.084464,-19.117539],[-99.500700,-15.086352],[-97.437200,-11.721152],[-97.285300,-11.418052],[-110.286700,-11.418052],[-110.615700,-11.726452],[-112.350322,-13.145924],[-114.255700,-14.319677],[-118.469000,-15.872052],[-121.073100,-16.254052],[-121.486300,-16.284052],[-122.287600,-16.283552],[-123.088800,-16.283152],[-123.476900,-16.253152],[-127.196625,-15.578602],[-130.613200,-14.139652],[-133.894100,-11.755652],[-134.282900,-11.397752],[-134.570500,-11.088452],[-135.415200,-10.133652],[-136.818903,-8.134094],[-137.886700,-5.978413],[-138.611972,-3.683025],[-138.988100,-1.264348],[-139.026100,-0.788848],[-139.026100,-0.071148],[-139.026100,0.646552],[-138.987100,1.118452],[-138.602425,3.577752],[-137.844700,5.922152],[-137.670500,6.347852],[-137.385200,6.923752],[-137.100000,7.499652],[-136.834900,7.946352],[-134.148500,11.345552],[-133.651300,11.831552],[-133.289900,12.134052],[-130.250438,14.180402],[-126.881500,15.510952],[-123.538700,16.090352],[-123.063000,16.128352],[-122.274200,16.128652],[-121.485500,16.128852],[-120.984700,16.089852],[-116.953300,15.300652],[-113.897638,13.969465],[-111.172200,12.071352],[-110.849700,11.794652],[-97.660400,11.794652],[-97.865200,12.191152],[-100.606267,16.181861],[-104.035938,19.621302],[-108.053664,22.425193],[-112.558900,24.509252],[-116.660775,25.645565],[-120.944600,26.167252],[-121.455300,26.192252],[-122.421900,26.192252],[-123.388500,26.192252],[-123.776600,26.172252]]); } } module poly_path_wave(h) { scale([25.4/90, -25.4/90, 1]) union() { linear_extrude(height=h) polygon([[133.915800,14.633452],[133.542500,14.597452],[131.587200,14.164852],[129.843112,13.359130],[128.153325,12.131177],[124.551900,8.075652],[121.605800,3.876752],[116.754800,-2.664148],[116.413200,-3.037648],[116.067600,-3.358048],[114.688037,-4.419673],[113.345900,-4.936348],[113.108000,-4.987348],[112.730000,-5.000348],[112.352000,-5.013348],[112.104100,-4.984348],[109.903000,-4.257848],[107.948912,-2.979860],[105.749500,-1.026648],[102.290800,2.805352],[101.218000,4.094852],[100.421400,4.983752],[97.458400,2.404552],[97.835500,1.950652],[99.637100,-0.199348],[104.214900,-5.015348],[107.951150,-7.710776],[109.727850,-8.481364],[111.509200,-8.902152],[111.780900,-8.940152],[112.382400,-8.955152],[112.984000,-8.970152],[113.371500,-8.927152],[116.009862,-8.191914],[118.466500,-6.528852],[118.792000,-6.241052],[119.268400,-5.755552],[121.529775,-3.103611],[124.958600,1.769752],[127.745900,5.740052],[129.875975,8.308627],[131.687900,9.851652],[131.912700,9.995352],[132.263200,10.167652],[132.613800,10.339852],[132.867100,10.426852],[133.120400,10.513852],[133.405400,10.576852],[133.690500,10.639852],[133.933600,10.665852],[134.176800,10.691852],[134.454200,10.691852],[134.731600,10.691852],[134.974700,10.665852],[137.371300,9.928152],[137.746900,9.744352],[138.097400,9.534752],[141.436900,6.898852],[144.775500,2.917552],[146.557700,0.582052],[146.927000,0.124452],[146.983000,0.168452],[149.933100,2.547952],[150.000100,2.609952],[149.556500,3.164952],[148.101800,5.071552],[145.443600,8.428652],[143.168500,10.690352],[139.280250,13.396440],[137.376381,14.177022],[135.481400,14.585052],[135.143400,14.625052],[134.580000,14.635052],[133.916400,14.634452]]); } } module ccrma_logo(h) { poly_path_Ccrma(h); poly_path_cCrma(h); poly_path_ccRMA(h); poly_path_wave(h + 0.15); } *ccrma_logo(1.75);