This might work!

... testing.

For the polyholes lib check: http://hydraraptor.blogspot.com/2011/02/polyholes.html

It does!

OpenSCAD code

// Author: Tiago Charters de Azevedo
// Maintainer: Tiago Charters de Azevedo
// URL: http://diale.org/
// Version: *

// Copyright (c) - 2018 Tiago Charters de Azevedo

// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3, or (at your option)
// any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor,
// Boston, MA 02110-1301, USA.

// Commentary:

include <../utils/polyholes.scad>

x1=[[1.0000000E+01,0.0000000E+00],
[1.0580019E+01,6.7237996E-01],
[1.1027136E+01,1.4072740E+00],
[1.1264505E+01,2.1710554E+00],
[1.1243887E+01,2.9173856E+00],
[1.0953411E+01,3.5974472E+00],
[1.0418914E+01,4.1711040E+00],
[9.6987187E+00,4.6166103E+00],
[8.8728952E+00,4.9367463E+00],
[8.0290475E+00,5.1599555E+00],
[7.2472695E+00,5.3360514E+00],
[6.5870181E+00,5.5271645E+00],
[6.0782335E+00,5.7955839E+00],
[5.7181895E+00,6.1908273E+00],
[5.4744510E+00,6.7384946E+00],
[5.2931497E+00,7.4331887E+00],
[5.1108104E+00,8.2370557E+00],
[4.8673272E+00,9.0844478E+00],
[4.5175449E+00,9.8920435E+00],
[4.0392424E+00,1.0572696E+01],
[3.4360885E+00,1.1050534E+01],
[2.7351726E+00,1.1274535E+01],
[1.9798078E+00,1.1228048E+01],
[1.2192426E+00,1.0932424E+01],
[4.9750951E-01,1.0444010E+01],
[-1.5621939E-01,9.8449567E+00],
[-7.3374158E-01,9.2294536E+00],
[-1.2491217E+00,8.6878326E+00],
[-1.7349084E+00,8.2913930E+00],
[-2.2340628E+00,8.0806586E+00],
[-2.7892959E+00,8.0591413E+00],
[-3.4320694E+00,8.1936686E+00],
[-4.1736211E+00,8.4211207E+00],
[-5.0000000E+00,8.6602540E+00],
[-5.8723074E+00,8.8263748E+00],
[-6.7323033E+00,8.8461432E+00],
[-7.5124415E+00,8.6698197E+00],
[-8.1484735E+00,8.2787990E+00],
[-8.5921862E+00,7.6872088E+00],
[-8.8217391E+00,6.9374923E+00],
[-8.8474611E+00,6.0910316E+00],
[-8.7117953E+00,5.2157795E+00],
[-8.4831763E+00,4.3733814E+00],
[-8.2447908E+00,3.6082937E+00],
[-8.0801739E+00,2.9409428E+00],
[-8.0582396E+00,2.3661126E+00],
[-8.2205085E+00,1.8566837E+00],
[-8.5729330E+00,1.3717663E+00],
[-9.0839051E+00,8.6740776E-01],
[-9.6889046E+00,3.0756377E-01],
[-1.0301026E+01,-3.2699490E-01],
[-1.0825533E+01,-1.0337131E+00],
[-1.1175845E+01,-1.7882616E+00],
[-1.1288087E+01,-2.5495269E+00],
[-1.1131620E+01,-3.2685385E+00],
[-1.0713679E+01,-3.8994601E+00],
[-1.0077378E+01,-4.4103170E+00],
[-9.2935327E+00,-4.7911491E+00],
[-8.4478729E+00,-5.0577683E+00],
[-7.6260705E+00,-5.2501657E+00],
[-6.8993228E+00,-5.4256874E+00],
[-6.3131028E+00,-5.6481712E+00],
[-5.8810242E+00,-5.9750845E+00],
[-5.5847732E+00,-6.4451718E+00],
[-5.3798905E+00,-7.0690936E+00],
[-5.2060939E+00,-7.8250223E+00],
[-5.0000000E+00,-8.6602540E+00],
[-4.7077111E+00,-9.4987548E+00],
[-4.2948331E+00,-1.0253417E+01],
[-3.7520633E+00,-1.0840875E+01],
[-3.0954135E+00,-1.1196185E+01],
[-2.3612250E+00,-1.1284656E+01],
[-1.5971750E+00,-1.1108596E+01],
[-8.5125755E-01,-1.0707642E+01],
[-1.6109989E-01,-1.0152526E+01],
[4.5412881E-01,-9.5333369E+00],
[9.9752138E-01,-8.9443452E+00],
[1.4931558E+00,-8.4681073E+00],
[1.9800062E+00,-8.1616965E+00],
[2.5023190E+00,-8.0475111E+00],
[3.0984820E+00,-8.1102609E+00],
[3.7907554E+00,-8.3005964E+00],
[4.5780943E+00,-8.5446194E+00],
[5.4336990E+00,-8.7574529E+00],
[6.3079885E+00,-8.8583304E+00],
[7.1366024E+00,-8.7844347E+00],
[7.8519987E+00,-8.5010068E+00],
[8.3964473E+00,-8.0059963E+00],
[8.7338707E+00,-7.3285877E+00],
[8.8581357E+00,-6.5221071E+00],
[8.7960232E+00,-5.6528608E+00],
[8.6040923E+00,-4.7871884E+00],
[8.3598121E+00,-3.9792880E+00],
[8.1484446E+00,-3.2621451E+00],
[8.0480112E+00,-2.6432218E+00],
[8.1150871E+00,-2.1055742E+00],
[8.3740691E+00,-1.6139695E+00],
[8.8119599E+00,-1.1245750E+00],
[9.3797150E+00,-5.9609843E-01],
[1.0000000E+01,-2.4492936E-15]]

;x2=[[-1.0000000E+01,0.0000000E+00],
[-9.4032668E+00,5.4699554E-01],
[-8.8586147E+00,1.0159488E+00],
[-8.3949861E+00,1.5455589E+00],
[-8.1029387E+00,2.1838625E+00],
[-8.0447476E+00,2.8688422E+00],
[-8.1677418E+00,3.5063433E+00],
[-8.3697939E+00,4.0985505E+00],
[-8.6040416E+00,4.7927838E+00],
[-8.7886845E+00,5.6967582E+00],
[-8.8032275E+00,6.6716202E+00],
[-8.6486850E+00,7.4658016E+00],
[-8.4045751E+00,7.9976032E+00],
[-8.0285873E+00,8.3793495E+00],
[-7.3740031E+00,8.6743293E+00],
[-6.4461723E+00,8.8176655E+00],
[-5.4518251E+00,8.7544859E+00],
[-4.5942009E+00,8.5432205E+00],
[-3.8853713E+00,8.2923350E+00],
[-3.2084512E+00,8.0918479E+00],
[-2.5060360E+00,8.0463763E+00],
[-1.8340098E+00,8.2308361E+00],
[-1.2765823E+00,8.6052594E+00],
[-8.3937187E-01,9.0566830E+00],
[-4.1350524E-01,9.5594600E+00],
[1.6602110E-01,1.0154853E+01],
[9.5204828E-01,1.0735238E+01],
[1.7803219E+00,1.1121777E+01],
[2.4519979E+00,1.1271971E+01],
[2.9796526E+00,1.1238240E+01],
[3.5249445E+00,1.0974452E+01],
[4.1283816E+00,1.0390583E+01],
[4.6597321E+00,9.5509121E+00],
[5.0000000E+00,8.6602540E+00],
[5.1753454E+00,7.8699702E+00],
[5.3091448E+00,7.1638109E+00],
[5.5359864E+00,6.4974918E+00],
[5.9427498E+00,5.9254195E+00],
[6.5068640E+00,5.5325346E+00],
[7.1204533E+00,5.3203002E+00],
[7.7343458E+00,5.1991788E+00],
[8.4526933E+00,5.0549267E+00],
[9.3278796E+00,4.7628450E+00],
[1.0179406E+01,4.2880085E+00],
[1.0789916E+01,3.7570802E+00],
[1.1128415E+01,3.2797740E+00],
[1.1271023E+01,2.7632858E+00],
[1.1199191E+01,2.0489093E+00],
[1.0859408E+01,1.1737162E+00],
[1.0307520E+01,3.4417605E-01],
[9.6957464E+00,-2.9291556E-01],
[9.1240585E+00,-7.8133722E-01],
[8.6119714E+00,-1.2673237E+00],
[8.2213843E+00,-1.8528973E+00],
[8.0451181E+00,-2.5271190E+00],
[8.0906644E+00,-3.1970770E+00],
[8.2630035E+00,-3.8014242E+00],
[8.4854878E+00,-4.4216239E+00],
[8.7113498E+00,-5.2212048E+00],
[8.8209647E+00,-6.1921170E+00],
[8.7415803E+00,-7.1026924E+00],
[8.5358144E+00,-7.7594780E+00],
[8.2427747E+00,-8.1995747E+00],
[7.7416824E+00,-8.5399177E+00],
[6.9343180E+00,-8.7705749E+00],
[5.9414664E+00,-8.8109024E+00],
[5.0000000E+00,-8.6602540E+00],
[4.2279214E+00,-8.4169657E+00],
[3.5494699E+00,-8.1797598E+00],
[2.8589998E+00,-8.0430507E+00],
[2.1601889E+00,-8.1092820E+00],
[1.5378835E+00,-8.4013769E+00],
[1.0472885E+00,-8.8266435E+00],
[6.3544804E-01,-9.2977294E+00],
[1.5134831E-01,-9.8477105E+00],
[-5.3919509E-01,-1.0459603E+01],
[-1.3761789E+00,-1.0959629E+01],
[-2.1412313E+00,-1.1222882E+01],
[-2.7238400E+00,-1.1277377E+01],
[-3.2424359E+00,-1.1142635E+01],
[-3.8251880E+00,-1.0723239E+01],
[-4.4132361E+00,-9.9913817E+00],
[-4.8556947E+00,-9.0986620E+00],
[-5.1015455E+00,-8.2503049E+00],
[-5.2386871E+00,-7.5109978E+00],
[-5.4035202E+00,-6.8245242E+00],
[-5.7153483E+00,-6.1934790E+00],
[-6.2111083E+00,-5.7037171E+00],
[-6.8140821E+00,-5.4081824E+00],
[-7.4236316E+00,-5.2552589E+00],
[-8.0719826E+00,-5.1378360E+00],
[-8.8773708E+00,-4.9336478E+00],
[-9.7730130E+00,-4.5431210E+00],
[-1.0521902E+01,-4.0190844E+00],
[-1.0987812E+01,-3.5124931E+00],
[-1.1222427E+01,-3.0386650E+00],
[-1.1266627E+01,-2.4345347E+00],
[-1.1062700E+01,-1.6200081E+00],
[-1.0601199E+01,-7.4000964E-01]];

$fn=4*64;
phi=(1+sqrt(5))/2;
p1=6.0000000E+00;
p2=-6.0000000E+00;
alpha=-4*360/(p1*p2);
l=50;
r1=10;
r2=r1;

d=.4;
thickness=3*.4;

rd=3.7/2;
module rotor1(l){
    translate([0,-r1,0]){difference(){
            linear_extrude(height=l, center=true, convexity=10, twist=alpha*p2){polygon(x1);}
            poly_cylinder(h=l+1,r=rd,center=true);}}}

module rotor2(l){
    translate([0,r2,0]){difference(){
            linear_extrude(height=l, center=true, convexity=10, twist=alpha*p1){polygon(x2);}
            poly_cylinder(h=l+1,r=rd,center=true);}}}

module box(){
    difference(){
        difference(){
            hull(){
                translate([0,-r1,0]){
                    cylinder(h=l+2*thickness+2*d,r=r1+phi+thickness+2*d,center=true);}

                translate([0,r2,0]){
                    cylinder(h=l+2*thickness+2*d,r=r1+phi+thickness+2*d,center=true);}}

            hull(){
                translate([0,-r1,0]){
                    cylinder(h=l+2*d,r=r1+phi+2*d,center=true);}

                translate([0,r2,0]){
                    cylinder(h=l+2*d,r=r1+phi+2*d,center=true);}}}

        translate([-(r1+r2+6*thickness)/2,0,0]){
            cube([(r1+r2+6*thickness),2*(r1+r2+4*thickness),l+4*thickness],center=true);}

        translate([0,r2,0]){
            poly_cylinder(h=2*l,r=rd,center=true);}
        translate([0,-r1,0]){
            poly_cylinder(h=2*l,r=rd,center=true);}



        translate([2*r1-(1-sqrt(2)/2)*(r1+thickness),0,0])
        {
            cube([r1,2*(r1+r2+4*thickness),l+4*thickness],center=true);}}}

module show(){

    rotor1(l);

    rotor2(l);

    box();}



module print(){

    translate([0,-2,0])
    rotor1(l);
    translate([0,2,0])
    rotor2(l);
}

!print();
show();
box();
Palavras chave/keywords: 3DPrinting, openscad, reprap

Criado/Created: 20-06-2018 [19:17]

Última actualização/Last updated: 10-10-2022 [14:26]


Voltar à página inicial.


GNU/Emacs Creative Commons License

(c) Tiago Charters de Azevedo