bh=0.8; $fn=32; bx=32; by=67; tx=41; module dou() { difference() { linear_extrude(height = 30,twist=0,scale=[(tx+bh)/bx,(tx+bh)/by])polygon(points=[[-bx/2,-by/2],[bx/2,-by/2],[bx/2,by/2],[-bx/2,by/2]]); //translate([19-bx/2,55-by/2,0]) cube([27,21,30]); translate([9.5,6.8,0])dy(); } translate([-tx/2,-tx/2,30]) cube([tx,tx,10]); } module allt() { difference() { translate([-10.5,-7.8,0]) allt0(); dy(); } } module allt0() { difference() { union(){ translate([-bh,-bh,0]) dou(); translate([-bh,bh,0]) dou(); translate([bh,-bh,0]) dou(); translate([bh,bh,0]) dou(); } dou(); translate([-bx/2+26.5,-by/2+5.1,0]) cylinder(h=30,r=3.5); //螺丝刀孔 translate([-bh,68,0]) cube([22+bh+bh,20,bh]); } translate([-tx/2,-tx/2,30.5]) { //风扇台阶 difference() { cube([tx,tx,0.8]); translate([bh-0.2,bh-0.2,0]) cube([tx-bh-bh+0.2+0.2,tx-bh-bh+0.2+0.2,0.8]); } } translate([-bx/2,-by/2-bh,0]){ //螺丝孔 difference() { translate([22,0,0]) cube([11,56.5,bh]); translate([26.5,6,0]) cylinder(h=bh,r=1.5); translate([26.5,6+18,0]) cylinder(h=bh,r=1.5); translate([26.5,6+36,0]) cylinder(h=bh,r=1.5); } difference() { translate([26.5,6,0]) cylinder(h=24,r=4.6); translate([26.5,6,0]) cylinder(h=24,r=3.4); //螺丝刀孔 } difference() { translate([-bh,68,0]) cube([22+bh+bh,26,bh]); } } } module dt(h0) { linear_extrude(height = h0) polygon(points=[[-23.5,-38.8],[-20.5,-41.8],[-6,-41.8], [-3,-38.8], [-3,14],[-6,14], [-6,32],[-3,32], [-3,44.2], [-6,47.2],[-20.5,47.2], [-23.5,44.2],[-25,34.2],[-25,-28.8]]); translate([-20.5,-38.8,0]) cylinder(h=h0,r=3); translate([-6,-38.8,0]) cylinder(h=h0,r=3); translate([-6,44.2,0]) cylinder(h=h0,r=3); translate([-20.5,44.2,0]) cylinder(h=h0,r=3); } module dt0(h0) { linear_extrude(height = h0) polygon(points=[ [bh-23.5,-38.8+bh],[-20.5+bh,-41.8+bh],[-6-bh,-41.8+bh], [-3-bh,-38.8+bh], [-3-bh,14-bh],[-6-bh,14-bh], [-6-bh,32+bh],[-3-bh,32+bh], [-3-bh,44.2-bh], [-6-bh,47.2-bh],[-20.5+bh,47.2-bh], [-23.5+bh,44.2-bh],[-25+bh,34.2-bh],[-25+bh,-28.8+bh]]); translate([-20.5+bh,-38.8+bh,0]) cylinder(h=h0,r=3); translate([-6-bh,-38.8+bh,0]) cylinder(h=h0,r=3); translate([-6-bh,44.2-bh,0]) cylinder(h=h0,r=3); translate([-20.5+bh,44.2-bh,0]) cylinder(h=h0,r=3); } module dta(bh0,h0) { difference() { union(){ translate([-bh0,-bh0,0]) dt(h0); translate([-bh0,bh0,0]) dt(h0); translate([bh0,-bh0,0]) dt(h0); translate([bh0,bh0,0]) dt(h0); } dt(h0); } } module dtb(h0) { difference(){ dt(h0); dt0(h0); } } module allb() { translate([0,0,-bh]) difference() { union() { translate([0,0,bh-5]) dtb(5); //bh调整后 dta(3,bh); translate([-3,-42,0]) cube([9,58,bh]); translate([-9,11,0]) cube([9,24,bh]); } dy(); cylinder(h=20,r=1.5); translate([0,-18,0]) cylinder(h=20,r=1.5); translate([0,-18-18,0]) cylinder(h=20,r=1.5); } } module dy(){ translate([2.5,23,0]) cube([18,18,60],true); } allt(); //上面部分 translate([0,0,-10]) allb(); //下面部分 //rotate([0,180,0]) allb(); //下面部分翻过来打印 //2部分要分别打印, 并用电烙铁把它们沾在一起