plateforme pour J-HEAD mini

master
Gnieark 9 years ago
parent 786278aed4
commit 9130163a2c

File diff suppressed because it is too large Load Diff

6
MCAD/.gitmodules vendored

@ -0,0 +1,6 @@
[submodule "SolidPython"]
path = SolidPython
url = git://github.com/SolidCode/SolidPython.git
[submodule "ThingDoc"]
path = ThingDoc
url = git://github.com/SolidCode/ThingDoc.git

@ -0,0 +1,11 @@
difference(){
translate([0,0,0.01])cylinder(r=2.4,h=12,$fn=100);
union(){
cylinder(r=1.8,h=5,$fn=50);
difference(){
translate([0,0,4.99]) cylinder(r=1.6,h=5,$fn=135);
translate([0.45,-4,0]) cube([8,8,10]);
}
}
}

File diff suppressed because it is too large Load Diff

@ -8,7 +8,7 @@ http://creativecommons.org/licenses/by/3.0/
use <bitmap.scad>
// change to any letter
letter = "A";
letter = "B";
union() {
difference() {
@ -19,6 +19,6 @@ union() {
}
translate(v = [10, 10, 15]) {
8bit_char(letter, 2, 5);
"8bit_char(letter, 2, 5);
}
}

@ -1,157 +1,159 @@
// This file is placed under the public domain
// from: http://www.thingiverse.com/thing:9512
// EXAMPLES:
// standard LEGO 2x1 tile has no pin
// block(1,2,1/3,reinforcement=false,flat_top=true);
// standard LEGO 2x1 flat has pin
// block(1,2,1/3,reinforcement=true);
// standard LEGO 2x1 brick has pin
// block(1,2,1,reinforcement=true);
// standard LEGO 2x1 brick without pin
// block(1,2,1,reinforcement=false);
// standard LEGO 2x1x5 brick has no pin and has hollow knobs
// block(1,2,5,reinforcement=false,hollow_knob=true);
knob_diameter=4.8; //knobs on top of blocks
knob_height=2;
knob_spacing=8.0;
wall_thickness=1.45;
roof_thickness=1.05;
block_height=9.5;
pin_diameter=3; //pin for bottom blocks with width or length of 1
post_diameter=6.5;
reinforcing_width=1.5;
axle_spline_width=2.0;
axle_diameter=5;
cylinder_precision=0.5;
/* EXAMPLES:
block(2,1,1/3,axle_hole=false,circular_hole=true,reinforcement=true,hollow_knob=true,flat_top=true);
translate([50,-10,0])
block(1,2,1/3,axle_hole=false,circular_hole=true,reinforcement=false,hollow_knob=true,flat_top=true);
translate([10,0,0])
block(2,2,1/3,axle_hole=false,circular_hole=true,reinforcement=true,hollow_knob=true,flat_top=true);
translate([30,0,0])
block(2,2,1/3,axle_hole=false,circular_hole=true,reinforcement=true,hollow_knob=false,flat_top=false);
translate([50,0,0])
block(2,2,1/3,axle_hole=false,circular_hole=true,reinforcement=true,hollow_knob=true,flat_top=false);
translate([0,20,0])
block(3,2,2/3,axle_hole=false,circular_hole=true,reinforcement=true,hollow_knob=true,flat_top=false);
translate([20,20,0])
block(3,2,1,axle_hole=true,circular_hole=false,reinforcement=true,hollow_knob=false,flat_top=false);
translate([40,20,0])
block(3,2,1/3,axle_hole=false,circular_hole=false,reinforcement=false,hollow_knob=false,flat_top=false);
translate([0,-10,0])
block(1,5,1/3,axle_hole=true,circular_hole=false,reinforcement=true,hollow_knob=false,flat_top=false);
translate([0,-20,0])
block(1,5,1/3,axle_hole=true,circular_hole=false,reinforcement=true,hollow_knob=true,flat_top=false);
translate([0,-30,0])
block(1,5,1/3,axle_hole=true,circular_hole=false,reinforcement=true,hollow_knob=true,flat_top=true);
//*/
module block(width,length,height,axle_hole=false,reinforcement=false, hollow_knob=false, flat_top=false, circular_hole=false, solid_bottom=true, center=false) {
overall_length=(length-1)*knob_spacing+knob_diameter+wall_thickness*2;
overall_width=(width-1)*knob_spacing+knob_diameter+wall_thickness*2;
center= center==true ? 1 : 0;
translate(center*[-overall_length/2, -overall_width/2, 0])
union() {
difference() {
union() {
// body:
cube([overall_length,overall_width,height*block_height]);
// knobs:
if (flat_top != true)
translate([knob_diameter/2+wall_thickness,knob_diameter/2+wall_thickness,0])
for (ycount=[0:width-1])
for (xcount=[0:length-1]) {
translate([xcount*knob_spacing,ycount*knob_spacing,0])
difference() {
cylinder(r=knob_diameter/2,h=block_height*height+knob_height,$fs=cylinder_precision);
if (hollow_knob==true)
translate([0,0,-roof_thickness])
cylinder(r=pin_diameter/2,h=block_height*height+knob_height+2*roof_thickness,$fs=cylinder_precision);
}
}
}
// hollow bottom:
if (solid_bottom == false)
translate([wall_thickness,wall_thickness,-roof_thickness]) cube([overall_length-wall_thickness*2,overall_width-wall_thickness*2,block_height*height]);
// flat_top -> groove around bottom
if (flat_top == true) {
translate([-wall_thickness/2,-wall_thickness*2/3,-wall_thickness/2])
cube([overall_length+wall_thickness,wall_thickness,wall_thickness]);
translate([-wall_thickness/2,overall_width-wall_thickness/3,-wall_thickness/2])
cube([overall_length+wall_thickness,wall_thickness,wall_thickness]);
translate([-wall_thickness*2/3,-wall_thickness/2,-wall_thickness/2])
cube([wall_thickness,overall_width+wall_thickness,wall_thickness]);
translate([overall_length-wall_thickness/3,0,-wall_thickness/2])
cube([wall_thickness,overall_width+wall_thickness,wall_thickness]);
}
if (axle_hole==true)
if (width>1 && length>1) for (ycount=[1:width-1])
for (xcount=[1:length-1])
translate([xcount*knob_spacing,ycount*knob_spacing,roof_thickness]) axle(height);
if (circular_hole==true)
if (width>1 && length>1) for (ycount=[1:width-1])
for (xcount=[1:length-1])
translate([xcount*knob_spacing,ycount*knob_spacing,roof_thickness])
cylinder(r=knob_diameter/2, h=height*block_height+roof_thickness/4,$fs=cylinder_precision);
}
if (reinforcement==true && width>1 && length>1)
difference() {
for (ycount=[1:width-1])
for (xcount=[1:length-1])
translate([xcount*knob_spacing,ycount*knob_spacing,0]) reinforcement(height);
for (ycount=[1:width-1])
for (xcount=[1:length-1])
translate([xcount*knob_spacing,ycount*knob_spacing,-roof_thickness/2]) cylinder(r=knob_diameter/2, h=height*block_height+roof_thickness, $fs=cylinder_precision);
}
// posts:
if (solid_bottom == false)
if (width>1 && length>1) for (ycount=[1:width-1])
for (xcount=[1:length-1])
translate([xcount*knob_spacing,ycount*knob_spacing,0]) post(height);
if (reinforcement == true && width==1 && length!=1)
for (xcount=[1:length-1])
translate([xcount*knob_spacing,overall_width/2,0]) cylinder(r=pin_diameter/2,h=block_height*height,$fs=cylinder_precision);
if (reinforcement == true && length==1 && width!=1)
for (ycount=[1:width-1])
translate([overall_length/2,ycount*knob_spacing,0]) cylinder(r=pin_diameter/2,h=block_height*height,$fs=cylinder_precision);
}
}
module post(height) {
difference() {
cylinder(r=post_diameter/2, h=height*block_height-roof_thickness/2,$fs=cylinder_precision);
translate([0,0,-roof_thickness/2])
cylinder(r=knob_diameter/2, h=height*block_height+roof_thickness/4,$fs=cylinder_precision);
}
}
module reinforcement(height) {
union() {
translate([0,0,height*block_height/2]) union() {
cube([reinforcing_width,knob_spacing+knob_diameter+wall_thickness/2,height*block_height],center=true);
rotate(v=[0,0,1],a=90) cube([reinforcing_width,knob_spacing+knob_diameter+wall_thickness/2,height*block_height], center=true);
}
}
}
module axle(height) {
translate([0,0,height*block_height/2]) union() {
cube([axle_diameter,axle_spline_width,height*block_height],center=true);
cube([axle_spline_width,axle_diameter,height*block_height],center=true);
}
}
// This file is placed under the public domain
// from: http://www.thingiverse.com/thing:9512
// EXAMPLES:
// standard LEGO 2x1 tile has no pin
// block(1,2,1/3,reinforcement=false,flat_top=true);
// standard LEGO 2x1 flat has pin
// block(1,2,1/3,reinforcement=true);
// standard LEGO 2x1 brick has pin
// block(1,2,1,reinforcement=true);
// standard LEGO 2x1 brick without pin
// block(1,2,1,reinforcement=false);
// standard LEGO 2x1x5 brick has no pin and has hollow knobs
// block(1,2,5,reinforcement=false,hollow_knob=true);
knob_diameter=4.8; //knobs on top of blocks
knob_height=2;
knob_spacing=8.0;
wall_thickness=1.45;
roof_thickness=1.05;
block_height=9.5;
pin_diameter=3; //pin for bottom blocks with width or length of 1
post_diameter=6.5;
reinforcing_width=1.5;
axle_spline_width=2.0;
axle_diameter=5;
cylinder_precision=0.5;
/* EXAMPLES:
block(2,1,1/3,axle_hole=false,circular_hole=true,reinforcement=true,hollow_knob=true,flat_top=true);
translate([50,-10,0])
block(1,2,1/3,axle_hole=false,circular_hole=true,reinforcement=false,hollow_knob=true,flat_top=true);
translate([10,0,0])
block(2,2,1/3,axle_hole=false,circular_hole=true,reinforcement=true,hollow_knob=true,flat_top=true);
translate([30,0,0])
block(2,2,1/3,axle_hole=false,circular_hole=true,reinforcement=true,hollow_knob=false,flat_top=false);
translate([50,0,0])
block(2,2,1/3,axle_hole=false,circular_hole=true,reinforcement=true,hollow_knob=true,flat_top=false);
translate([0,20,0])
block(3,2,2/3,axle_hole=false,circular_hole=true,reinforcement=true,hollow_knob=true,flat_top=false);
translate([20,20,0])
block(3,2,1,axle_hole=true,circular_hole=false,reinforcement=true,hollow_knob=false,flat_top=false);
translate([40,20,0])
block(3,2,1/3,axle_hole=false,circular_hole=false,reinforcement=false,hollow_knob=false,flat_top=false);
translate([0,-10,0])
block(1,5,1/3,axle_hole=true,circular_hole=false,reinforcement=true,hollow_knob=false,flat_top=false);
translate([0,-20,0])
block(1,5,1/3,axle_hole=true,circular_hole=false,reinforcement=true,hollow_knob=true,flat_top=false);
translate([0,-30,0])
block(1,5,1/3,axle_hole=true,circular_hole=false,reinforcement=true,hollow_knob=true,flat_top=true);
//*/
module block(width,length,height,axle_hole=false,reinforcement=false, hollow_knob=false, flat_top=false, circular_hole=false, solid_bottom=true, center=false) {
overall_length=(length-1)*knob_spacing+knob_diameter+wall_thickness*2;
overall_width=(width-1)*knob_spacing+knob_diameter+wall_thickness*2;
center= center==true ? 1 : 0;
translate(center*[-overall_length/2, -overall_width/2, 0])
union() {
difference() {
union() {
// body:
cube([overall_length,overall_width,height*block_height]);
// knobs:
if (flat_top != true)
translate([knob_diameter/2+wall_thickness,knob_diameter/2+wall_thickness,0])
for (ycount=[0:width-1])
for (xcount=[0:length-1]) {
translate([xcount*knob_spacing,ycount*knob_spacing,0])
difference() {
cylinder(r=knob_diameter/2,h=block_height*height+knob_height,$fs=cylinder_precision);
if (hollow_knob==true)
translate([0,0,-roof_thickness])
cylinder(r=pin_diameter/2,h=block_height*height+knob_height+2*roof_thickness,$fs=cylinder_precision);
}
}
}
// hollow bottom:
if (solid_bottom == false)
translate([wall_thickness,wall_thickness,-roof_thickness]) cube([overall_length-wall_thickness*2,overall_width-wall_thickness*2,block_height*height]);
// flat_top -> groove around bottom
if (flat_top == true) {
translate([-wall_thickness/2,-wall_thickness*2/3,-wall_thickness/2])
cube([overall_length+wall_thickness,wall_thickness,wall_thickness]);
translate([-wall_thickness/2,overall_width-wall_thickness/3,-wall_thickness/2])
cube([overall_length+wall_thickness,wall_thickness,wall_thickness]);
translate([-wall_thickness*2/3,-wall_thickness/2,-wall_thickness/2])
cube([wall_thickness,overall_width+wall_thickness,wall_thickness]);
translate([overall_length-wall_thickness/3,0,-wall_thickness/2])
cube([wall_thickness,overall_width+wall_thickness,wall_thickness]);
}
if (axle_hole==true)
if (width>1 && length>1) for (ycount=[1:width-1])
for (xcount=[1:length-1])
translate([xcount*knob_spacing,ycount*knob_spacing,roof_thickness]) axle(height);
if (circular_hole==true)
if (width>1 && length>1) for (ycount=[1:width-1])
for (xcount=[1:length-1])
translate([xcount*knob_spacing,ycount*knob_spacing,roof_thickness])
cylinder(r=knob_diameter/2, h=height*block_height+roof_thickness/4,$fs=cylinder_precision);
}
if (reinforcement==true && width>1 && length>1)
difference() {
for (ycount=[1:width-1])
for (xcount=[1:length-1])
translate([xcount*knob_spacing,ycount*knob_spacing,0]) reinforcement(height);
for (ycount=[1:width-1])
for (xcount=[1:length-1])
translate([xcount*knob_spacing,ycount*knob_spacing,-roof_thickness/2]) cylinder(r=knob_diameter/2, h=height*block_height+roof_thickness, $fs=cylinder_precision);
}
// posts:
if (solid_bottom == false)
if (width>1 && length>1) for (ycount=[1:width-1])
for (xcount=[1:length-1])
translate([xcount*knob_spacing,ycount*knob_spacing,0]) post(height);
if (reinforcement == true && width==1 && length!=1)
for (xcount=[1:length-1])
translate([xcount*knob_spacing,overall_width/2,0]) cylinder(r=pin_diameter/2,h=block_height*height,$fs=cylinder_precision);
if (reinforcement == true && length==1 && width!=1)
for (ycount=[1:width-1])
translate([overall_length/2,ycount*knob_spacing,0]) cylinder(r=pin_diameter/2,h=block_height*height,$fs=cylinder_precision);
}
}
module post(height) {
difference() {
cylinder(r=post_diameter/2, h=height*block_height-roof_thickness/2,$fs=cylinder_precision);
translate([0,0,-roof_thickness/2])
cylinder(r=knob_diameter/2, h=height*block_height+roof_thickness/4,$fs=cylinder_precision);
}
}
module reinforcement(height) {
union() {
translate([0,0,height*block_height/2]) union() {
cube([reinforcing_width,knob_spacing+knob_diameter+wall_thickness/2,height*block_height],center=true);
rotate(v=[0,0,1],a=90) cube([reinforcing_width,knob_spacing+knob_diameter+wall_thickness/2,height*block_height], center=true);
}
}
}
module axle(height) {
translate([0,0,height*block_height/2]) union() {
cube([axle_diameter,axle_spline_width,height*block_height],center=true);
cube([axle_spline_width,axle_diameter,height*block_height],center=true);
}
}

9398
all.dxf

File diff suppressed because it is too large Load Diff

43264
all.dxf~

File diff suppressed because it is too large Load Diff

@ -13,7 +13,7 @@ License GNU-GPL V3
*/
include <../MCAD/bearing.scad>;
include <MCAD/bearing.scad>;
/*
Roulements à billes 623 ZZ (0.80)
@ -28,69 +28,65 @@ afin de faciliter son impression.
$fn=200;
//Pièce principale
difference(){
union(){
linear_extrude (height=10)
import (file="all.dxf", layer="profil-pour-3d", $fn=200);
cones();
}
union(){
screws();
//trou pour vis fixation des deux pièces ensembles:
translate([10,30,5]) rotate([-90,0,0]) cylinder(r=1.5,h=6);
}
}
//Piece pour les deux roulements verticaux
difference(){
union(){
translate([0,0,-9])
linear_extrude (height=28)
import (file="all.dxf", layer="profil-pour-3d-2", $fn=100);
translate([12.01,25,15]) rotate([90,0,90]) unCone();
translate([12.01,25,-5]) rotate([90,0,90]) unCone();
translate([8,25,15]) rotate([270,0,90]) unCone();
translate([8,25,-5]) rotate([270,0,90]) unCone();
//encoches pour fixer les courroies
translate([2,31,17.99]) cube([16,4,6]);
translate([2,31,-14.99]) cube([16,4,6]);
}
union(){
translate([-5.1,25,15])
rotate([90,0,90])
cylinder (r=1.5, h=14);
translate([12,25,15])
rotate([90,0,90])
cylinder (r=1.5, h=14);
translate([-5.1,25,-5])
rotate([90,0,90])
cylinder (r=1.5, h=14);
translate([12,25,-5])
rotate([90,0,90])
cylinder (r=1.5, h=14);
//encoches pour fixer les courroies
translate([4,30.99,18.98]) cube([12,4.02,3]);
translate([4,30.99,-12]) cube([12,4.02,3]);
//encoche pour emboiter les deux pièces
translate([1.99,32.99,0]) cube([16.02,2.02,10]);
//trou pour vis fixation des deux pièces ensembles:
translate([10,30,5]) rotate([-90,0,0]) cylinder(r=1.5,h=6);
}
glissement();
module glissement(){
//Pièce principale
difference(){
union(){
linear_extrude (height=10)
import (file="all.dxf", layer="profil-pour-3d", $fn=100);
cones();
}
union(){
screws();
//trou pour vis fixation des deux pièces ensembles:
translate([10,30,5]) rotate([-90,0,0]) cylinder(r=1.5,h=6);
}
}
//Piece pour les deux roulements verticaux
difference(){
union(){
translate([0,0,-9])
linear_extrude (height=28)
import (file="all.dxf", layer="profil-pour-3d-2", $fn=100);
translate([12.01,25,15]) rotate([90,0,90]) unCone();
translate([12.01,25,-5]) rotate([90,0,90]) unCone();
translate([8,25,15]) rotate([270,0,90]) unCone();
translate([8,25,-5]) rotate([270,0,90]) unCone();
//encoches pour fixer les courroies
translate([2,31,17.99]) cube([16,4,6]);
translate([2,31,-14.99]) cube([16,4,6]);
}
union(){
translate([-5.1,25,15])
rotate([90,0,90])
cylinder (r=1.5, h=14);
translate([12,25,15])
rotate([90,0,90])
cylinder (r=1.5, h=14);
translate([-5.1,25,-5])
rotate([90,0,90])
cylinder (r=1.5, h=14);
translate([12,25,-5])
rotate([90,0,90])
cylinder (r=1.5, h=14);
//encoches pour fixer les courroies
translate([4,30.99,18.98]) cube([12,4.02,3]);
translate([4,30.99,-12]) cube([12,4.02,3]);
//encoche pour emboiter les deux pièces
translate([1.99,32.99,0]) cube([16.02,2.02,10]);
//trou pour vis fixation des deux pièces ensembles:
translate([10,30,5]) rotate([-90,0,0]) cylinder(r=1.5,h=6);
}
}
}
module screws(){
translate([4.1225,7.1862,5])
rotate([90,0,0])
@ -136,24 +132,8 @@ module cones(){
}
module unCone(){
cylinder (r1=2, r2=3, h=1, $fn=100);
cylinder (r1=2, r2=3, h=1, $fn=50);
translate([0,0,0.999]) cylinder (r=3, h=1, $fn=100);
}
//positionnement des roulements à bille
bearing(pos=[8, 25,-5], angle=[90,00,90], model=623);
bearing(pos=[8, 25,15], angle=[90,00,90], model=623);
bearing(pos=[0, 13.3725,5], angle=[90,00,90], model=623);
bearing(pos=[16, 13.3725,5], angle=[90,00,90], model=623);
bearing(pos=[4, 4.1862,5], angle=[90,0,0], model=623);
bearing(pos=[16.5, 4.1862,5], angle=[90,0,0], model=623);
//Profil T
color ("seagreen") translate([0,0,-50])
linear_extrude (height=2000)
import (file="all.dxf", layer="profil T", $fn=100);

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@ -0,0 +1 @@
Subproject commit cb0443c83eb6fb075084890c02907a944e4d8120

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,7 +1,29 @@
/*
Projet ReprapJeanne
Plateforme pour Jhead-mini
Deux pièces, la plate forme, et une pièce pour bloquer la buse
github: https://github.com/gnieark/reprapJeanne
wiki https://mail.jeannedhack.org/wicked/display.php?page=reprap_geante
By Gnieark https://blog-du-grouik.tinad.fr
& TranKILLoman
License GNU-GPL V3
*/
/*
use <_inc-hot-end.scad>;
translate([0,0,-50.97]) extrudeur();
*/
include <MCAD/screw.scad>;
//la plate forme
difference(){
linear_extrude (height=5)
import (file="platform.dxf", layer="0", $fn=100);
@ -16,4 +38,23 @@ difference(){
rotate([90,0,90])
cylinder(r=1.5, h=72 ,$fn=100);
}
}
}
//le système de bloquage de la J-HEAD mini
linear_extrude (height=5.02)
import (file="platform.dxf", layer="Lock-system-0-5", $fn=100);
translate([0,0,5.01])
linear_extrude (height=5)
import (file="platform.dxf", layer="Lock-system-5-10", $fn=100);
difference(){
translate([0,0,10])
linear_extrude (height=5)
import (file="platform.dxf", layer="Lock-system-10-15", $fn=100);
translate([0,0,9]) auger(1,10,6,4.917,0.25);
}

@ -0,0 +1,35 @@
use <_inc-endstop.scad>;
translate([16.1,13,60])
rotate([90,180,90])
endStop();
include <MCAD/stepper.scad>;
translate([-3.24,38.985,71.275])
rotate([0,270,0])
motor(Nema17,NemaMedium, dualAxis=true);
use <glissement.scad>;
glissement();
use <top-axis.scad>;
translate([4.1,-5,50]) topAxis();
//Profil T
color ("seagreen") translate([0,0,-10])
linear_extrude (height=90)
import (file="all.dxf", layer="profil T", $fn=100);
//positionnement des roulements à bille
bearing(pos=[8, 25,-5], angle=[90,00,90], model=623);
bearing(pos=[8, 25,15], angle=[90,00,90], model=623);
bearing(pos=[0, 13.3725,5], angle=[90,00,90], model=623);
bearing(pos=[16, 13.3725,5], angle=[90,00,90], model=623);
bearing(pos=[4, 4.1862,5], angle=[90,0,0], model=623);
bearing(pos=[16.5, 4.1862,5], angle=[90,0,0], model=623);

@ -13,38 +13,42 @@ License GNU-GPL V3
*/
difference(){
union(){
linear_extrude(42.551)
polygon (points=[
[0,0],[11.75,0],[11.75,18.5],[21,18.5],[21,30.25],[-2.25,30.25],[-2.25,65.385],[0.75,65.385],[-7.25,65.385],[-7.25,22.585],[-9.25,22.585],[-9.25,18.5],[0,18.5]
]);
translate([0,0,42.55])
linear_extrude(5)
polygon (points=[
[0,0],[11.75,0],[21,18.5],[21,30.25],[-2.25,30.25],[-2.25,65.385],[0.75,65.385],[0.75,73.385],[-7.25,73.385],[-7.25,22.585],[-9.25,22.585],[-9.25,18.5]
]);
}
union(){
//emplacement du profil T
translate([0,0,-0.01])
linear_extrude(29.775)
polygon (points=[
[5,5],[6.75,5],[6.75,23.5],[16,23.5],[16,25.25],[-4.25,25.25],[-4.25,23.5],[5,23.5]
]);
//les 3 vis fixation du moteur
translate([-7.4,28.485,36.775]) rotate([0,90,0]) cylinder(h=6,r=1.5,$fn=50);
translate([-2.26,28.485,36.775]) rotate([0,90,0]) cylinder(h=30,r=4,$fn=50);
translate([-7.4,59.485,36.775]) rotate([0,90,0]) cylinder(h=6,r=1.5,$fn=50);
translate([-7.4,59.485,5.65]) rotate([0,90,0]) cylinder(h=6,r=1.5,$fn=50);
//trou carré pour le moteur
translate([-7.4,31.485,8.775]) cube([6,25,25]);
//vis plus larges pour plaque au dessus
translate([-2.8563,13.4208,42.54]) cylinder(h=6,r=2,$fn=50);
translate([14.6063,13.4208,42.54]) cylinder(h=6,r=2,$fn=50);
translate([-3.25,69.358,42.54]) cylinder(h=6,r=2,$fn=50);
}
topAxis();
module topAxis(){
difference(){
union(){
linear_extrude(42.551)
polygon (points=[
[0,0],[11.75,0],[11.75,18.5],[21,18.5],[21,30.25],[-2.25,30.25],[-2.25,65.385],[0.75,65.385],[-7.25,65.385],[-7.25,22.585],[-9.25,22.585],[-9.25,18.5],[0,18.5]
]);
translate([0,0,42.55])
linear_extrude(5)
polygon (points=[
[0,0],[11.75,0],[21,18.5],[21,30.25],[-2.25,30.25],[-2.25,65.385],[0.75,65.385],[0.75,73.385],[-7.25,73.385],[-7.25,22.585],[-9.25,22.585],[-9.25,18.5]
]);
}
union(){
//emplacement du profil T
translate([0,0,-0.01])
linear_extrude(29.775)
polygon (points=[
[5,5],[6.75,5],[6.75,23.5],[16,23.5],[16,25.25],[-4.25,25.25],[-4.25,23.5],[5,23.5]
]);
//les 3 vis fixation du moteur
translate([-7.4,28.485,36.775]) rotate([0,90,0]) cylinder(h=6,r=1.5,$fn=50);
translate([-2.26,28.485,36.775]) rotate([0,90,0]) cylinder(h=30,r=4,$fn=50);
translate([-7.4,59.485,36.775]) rotate([0,90,0]) cylinder(h=6,r=1.5,$fn=50);
translate([-7.4,59.485,5.65]) rotate([0,90,0]) cylinder(h=6,r=1.5,$fn=50);
//trou carré pour le moteur
translate([-7.4,31.485,8.775]) cube([6,25,25]);
//vis plus larges pour plaque au dessus
translate([-2.8563,13.4208,42.54]) cylinder(h=6,r=2,$fn=50);
translate([14.6063,13.4208,42.54]) cylinder(h=6,r=2,$fn=50);
translate([-3.25,69.358,42.54]) cylinder(h=6,r=2,$fn=50);
}
}
}
Loading…
Cancel
Save