Création cube troué (Arnaud)

De Wiki L.A.B
Aller à : navigation, rechercher
Cube-troue.png


Présentation et objectifs

Il s'agit de créer un modèle 3D d'un cube troué avec OpenSCAD. On va d'abord créer un polygone 2D (cadre d'un carré) puis lui appliquer une extrusion linéaire. On crée également les 2 cylindres qui vont ensuite être soustrait à la forme du cadre extrudé.

objet 3D final

Pré-requis

Il faut avoir déjà pratiquer les 3 tutoriaux précédents.

Matériel

Un ordinateur

Logiciels

OpenSCAD

Nom de votre tutoriel

Réalisation d'un cube troué

Première Version :

Etape 1 :

On crée d'abord le polygone qui sera extrudé

polygon(
points=[[0,0],[0,10],[10,10],[10,0],[1,1],[1,9],[9,9],[9,1]],
paths=[[0,1,2,3],[4,5,6,7]]
);
polygone de départ

Etape 2 :

On applique ensuite une extrusion linéaire sur le cadre précédemment créé.

linear_extrude(10) {
   polygon(
      points=[[0,0],[0,10],[10,10],[10,0],[1,1],[1,9],[9,9],[9,1]],
      paths=[[0,1,2,3],[4,5,6,7]]
	   );
}
Cadre extrudé

Etape 3 :

On ajoute 2 cylindres perpendiculaires en utilisant les fonctions translete, rotation et cylinder

linear_extrude(10) {
   polygon(
	points=[[0,0],[0,10],[10,10],[10,0],[1,1],[1,9],[9,9],[9,1]],
	paths=[[0,1,2,3],[4,5,6,7]]
	);
}
translate([-1,5,5])
   rotate([0,90,0])
   cylinder(h=12,r=2,$fn=20);
translate([5,-1,5])
   rotate([-90,0,0])
   cylinder(h=12,r=2,$fn=20);
cube avec les cylindres à soustraire à la forme

Etape 4 :

On soustrait les 2 cylindres du cadre extrudé pour obtenir l'objet final.

difference(){linear_extrude(10) {
   polygon(
	points=[[0,0],[0,10],[10,10],[10,0],[1,1],[1,9],[9,9],[9,1]],
	paths=[[0,1,2,3],[4,5,6,7]]
	);
}
translate([-1,5,5])
   rotate([0,90,0])
   cylinder(h=12,r=2,$fn=20);
translate([5,-1,5])
   rotate([-90,0,0])
   cylinder(h=12,r=2,$fn=20);
}
cube avec les cylindres à soustraire à la forme

Conseils

Il est important de se représenter les différentes étapes de construction de l'objet à partir de formes simples et de les ordonner correctement.

Pour aller plus loin

On peut utiliser des variables pour pouvoir réutiliser ce code et créer des objets personnalisés de même type.