-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfunctions.scad
81 lines (70 loc) · 2.35 KB
/
functions.scad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
include <parameters.scad>;
/////////////////////////////////////////////////
///// Fonctions /////
/////////////////////////////////////////////////
module tubeCarre(cote, longueur, epaisseur) { //placé le long de X
//color("LightGreen",1.0)
difference() {
cube([longueur,cote,cote]);
translate([-1,epaisseur,epaisseur]) cube([longueur+2,cote - (2 * epaisseur),cote - (2 * epaisseur)]);
}
}
module tube(dExt, dInt, longueur) {
rotate([0,90,0])
difference() {
cylinder(d=dExt, h=longueur, $fn=fnCylindre);
translate([0,0,-1]) cylinder(d=dInt, h=longueur+2, $fn=fnCylindre);
}
}
module toleTriangulaire (base,hauteur,epaisseur) { //placé le long de X, base en bas, dans le plan XY
polyhedron(points = [
[-base/2,0,0], //0
[base/2,0,0],//1
[0,hauteur,0],//2
[-base/2,0,epaisseur], //3
[base/2,0,epaisseur],//4
[0,hauteur,epaisseur],//5
],
faces=[
[1,0,3,4],
[0,2,5,3],
[4,5,2,1],
[0,1,2],
[5,4,3]
]);
}
module profileU(hauteur,largeur,longueur,epaisseur) { //placé le long de X
rArrondi = 1.0;
color("LightGreen",1.0)
difference() {
cube([longueur,largeur,hauteur]);
translate([-1,epaisseur,epaisseur]) cube([longueur+2,largeur - (2 * epaisseur),hauteur - epaisseur + 1]);
}
}
module corniere(cote, longueur, epaisseur) {
difference() {
cube([longueur,cote,cote]);
translate([-1,epaisseur,epaisseur]) cube([longueur+2,cote,cote]);
}
}
module corniere45(cote, longueur, epaisseur) {
difference() {
corniere(cote, longueur, epaisseur);
rotate([0,0,-45]) translate([-cote*1.5,-1,-1]) cube([cote*1.5,cote*1.5,cote+2]);
translate([longueur,0,0]) rotate([0,0,45]) translate([0,-1,-1])cube([cote*1.5,cote*1.5,cote+2]);
}
}
module cornierePercee(longueur) {
difference() {
corniere45(20,longueur,2);
for (x=[26,48,longueur-26,longueur-48])
translate([x,10,0]) cylinder(eCorniereCadre+2,d=diametreRivet, $fn=fnCylindre);
}
}
module cornierePerceeNonFraisee(longueur) {
difference() {
corniere45(20,longueur,2);
for (x=[26,48,longueur-26,longueur-48])
translate([x,10,-1]) cylinder(d=diametreRivet, h=4, $fn=fnCylindre);
}
}