Chanfrein avec linear_extrude

On peut facilement faire des chanfreins avec linear_extrude…on peut également faire des formes plus complexes !!

Je vous donne un bout de code à la fin de cet article : vous pourrez l’intégrer dans vos programmes openscad sous forme de module. Je l’ai conçu de manière paramétrique pour qu’il s’adapte aux dimensions de vos chanfreins. Voir les exemples d’utilisation dans l’article.

Linear_extrude s’utilise conjointement avec polygon([ [][][]….[]]) ;

Polygon fait un dessin en 2D et linear_extrude réalise une extrusion selon l’axe des « Z ».

Il faut, donc, commencer par faire le dessin 2D que l’on extrudera ensuite. Pour ce faire on utilise le système de coordonnées cartésiennes dans le plan. On donne les coordonnées de chaque sommet du polygone sous la forme [x,y]. Les différentes coordonnées sont séparées par des virgules ; Ce qui donne quelque chose comme :

polygon([[0,0],[5,0],[0,4]]) ;

Qui réalisera un triangle rectangle avec le sommet de l’angle droit à l’origine du repère et les deux autres sommets sur l’axe des « x » et des « y ».

Pour transformer ce triangle rectangle en chanfrein, il suffira de l’extruder à l’aide de linear_extrude de la longueur désirée (à préciser dans la commande) comme ceci :

linear_extrude(height =10)

polygon([[0,0],[5,0],[0,4]]) ;

ce qui donne (le triangle rectangle et le chanfrein) :

 chanfrein1

Si vous avez plusieurs chanfreins de dimensions différentes, vous pouvez créer un module qui vous évitera d’écrire plusieurs fois les mêmes lignes de code. Par exemple :

Module monchanfrein(x,y,h){

linear_extrude(height =h)

polygon([[0,0],[x,0],[0,y]]) ;

}

Ainsi pour faire un chanfrein de 40 mm de long avec une longueur de 5 mm sur « X » et 8 mm sur « Y » il suffira d’une ligne de code :

monchanfrein(5,8,40) ;

évidemment, les autres commandes d’openscad vous permettrons de position ce chanfrein où vous voulez …par exemple :

module monchanfrein(x,y,h){

linear_extrude(height =h)

polygon([[0,0],[x,0],[0,y]]) ;

}

translate([10,0,0])

rotate([0,90,0])

monchanfrein(-5,-8,40) ;

 chanfrein2

Remarquer les coordonnées négatives qui permettent souvent d’éviter des rotations : ci-dessous quelques exemples en changeant les signes :

module monchanfrein(x,y,h){

linear_extrude(height =h)

polygon([[0,0],[x,0],[0,y]]) ;

}

translate([10,0,0])

rotate([0,90,0])

monchanfrein(5,8,20) ;

 chanfrein5

module monchanfrein(x,y,h){

linear_extrude(height =h)

polygon([[0,0],[x,0],[0,y]]) ;

}

translate([10,0,0])

rotate([0,90,0])

monchanfrein(-5,8,20) ;

 chanfrein4

module monchanfrein(x,y,h){

linear_extrude(height =h)

polygon([[0,0],[x,0],[0,y]]) ;

}

translate([10,0,0])

rotate([0,90,0])

monchanfrein(5,-8,20) ;

 chanfrein3

Pour terminer un exemple des possibilités pour créer des formes plus complexes qu’un simple chanfrein, par exemple avec une ligne brisée :

linear_extrude(height =20)

polygon([[0,0],[15,15],[15,20],[0,8],[0,20],[-5,10],[-3,0]]) ;

 chnafrein6