PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Pierre-Alain Bandinelli : OpenSCAD pour faire de la 3D comme un programmeur, exemple de conception d'une boîte

samedi 12 novembre 2016 à 15:51

OpenSCAD m'a réconcilié avec la conception 3D : plus la peine d'apprendre à utiliser Blender pour quelques pièces mécaniques, OpenSCAD permet de générer des pièces en 3D avec du code :-)

Avec le petit exemple ci-dessous, vous aurez vite compris l'intérêt d'OpenSCAD pour certaines petites pièces à construire, et si comme moi vous n'avez pas jusqu'ici eu le courage de vous lancer dans Blender ou FreeCAD. Contrairement à Blender par exemple, chaque forme est définie dans un langage propre à OpenSCAD et la forme apparaît à la compilation. Ce n'est donc clairement pas adapté pour des représentations artistiques mais pour la fabrication de pièces mécaniques dont les cotes sont bien connues, cela permet très vite d'arriver au résultat escompté !

Installation d'OpenSCAD

Sous Debian, OpenSCAD s'installe très simplement car il est disponible dans les paquets de la distribution :

apt install openscad

Exemple de conception d'une boîte

Imaginons que l'on souhaite fabriquer une boîte avec une grille pour y ranger par exemple de petits montages électriques.

Commençons par la face principale : dessinons un rectangle de 82 mm par 40 mm :

square([82,40],center);

form1.png

Pour fabriquer les fentes, nous allons soustraire un rectangle de 32 mm par 1 mm :

difference() {
  square([82,40],center);
   square([1,32]);
}

form1b.png

Cela a fonctionné, mais il faudrait mieux placer notre fente : nous allons le faire à l'aide d'une translation :

difference() {''''
  square([82,40],center);
    translate([3,4,0]) {
      square([1,32]);
    }
}

form1c.png

Nous pourrions maintenant répéter ces lignes de code autant de fois que nécessaire pour obtenir notre grille. Mais il y a mieux ; il est possible de paramétrer la création de chaque fente à l'aide d'une boucle :

difference() {
  square([82,40],center);
  for ( i = [1 : 26] ){
    translate([i*3,4,0]) {
      square([1,32]);
    }
  }
}

form2.png

Nous allons maintenant donner un peu d'épaisseur à cette première forme en l'extrudant : on ajoute cette instruction *avant* la forme 2D créée à l'instant :

 linear_extrude(height = 3, center = false)

form3.png

Ajoutons maintenant une première paroi latérale :

cube([82,1,15]);

form4.png

Puis une seconde paroi qui est identique à la première avec une translation :

translate([0,40,0]) {
    cube([82,1,15]);
}

form5.png

Rajoutons les dernières parois nécessaires :

cube([1,40,15]);
translate([81,0,0]) {
 cube([1,40,15]);
}

form6.png

Pour finir la boîte, nous voulons ajouter 2 petites surfaces qui en permettront la fixation. Comme la boîte sera imprimée en 3D, il est nécessaire que ces surfaces apparaissent progressivement. Nous allons donc les modéliser avec un prisme :

module prism(l, w, h){
  polyhedron(
     points=[[0,0,0], [l,0,0], [l,w,0], [0,w,0], [0,w,h], [l,w,h]],
     faces=[[0,1,2,3],[5,4,3,2],[0,4,5,1],[0,3,4],[5,2,1]] );
}

translate([6,30,15]) {
    rotate([0,180,90]) {
        prism(20,5,15);
    }
}

translate([76,10,15]) {
    rotate([0,180,270]) {
        prism(20,5,15);
    }
}

form7.png

Et voilà le tour est joué !

Pour aller plus loin

Dans l'exemple précédent, la longueur de la boîte (82 mm) a été écrite en dur et tous les autres objets ont été placés d'après cette dimension. Il eut bien sûr été possible de définir une variable (par exemple "length") en début de fichier et adapter le code !

Cela donne alors :

length=82;
linear_extrude(height = 3, center = false)
difference() {
  square([length,40],center);
  for ( i = [1 : (length / 3)] ){
    translate([i*3,4,0]) {
      square([1,32]);
    }
  }
}
cube([length,1,15]);
translate([0,40,0]) {
    cube([length,1,15]);
}

cube([1,40,15]);
translate([length-1,0,0]) {
 cube([1,40,15]);
}

module prism(l, w, h){
  polyhedron(
     points=[[0,0,0], [l,0,0], [l,w,0], [0,w,0], [0,w,h], [l,w,h]],
     faces=[[0,1,2,3],[5,4,3,2],[0,4,5,1],[0,3,4],[5,2,1]] );
}

translate([6,30,15]) {
    rotate([0,180,90]) {
        prism(20,5,15);
    }
}

translate([length-6,10,15]) {
    rotate([0,180,270]) {
        prism(20,5,15);
    }
}

Il n'y a alors plus qu'une seule variable à modifier pour fabriquer une boîte beaucoup plus longue !

form8.png

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Thuban : Fonds d'écran OpenBSD

samedi 12 novembre 2016 à 08:09

À l'occasion de la sortie de l'édition 2 d'héberger son serveur avec OpenBSD, j'ai eu droit à un beau cadeau de la part de Péhä. Ce dernier a eu la gentillesse de m'envoyer une illustration pour le bouquin, et puisque c'est une maladie pour lui d'être sympa, il en a fait des fonds d'écran. Les voici :

Ils sont publiés sous licence CC-BY. Enjoy !

Merci Péhä !

Gravatar de Thuban
Original post of Thuban.Votez pour ce billet sur Planet Libre.

fgallaire : Open Data juridique : l’utilisation de la base LEGI

samedi 12 novembre 2016 à 06:46

Suite au rapport sur l’ouverture des données publiques que le magistrat à la Cour des comptes et développeur Debian Mohammed Adnène Trojette a remis au Premier ministre le 5 novembre 2013, la majorité des bases de données juridiques de l’administration française ont été rendues disponibles en Open Data.

Ainsi, depuis juin 2014, la base LEGI, composée de l’ensemble des codes, lois et règlements français, est mise à disposition par la DILA, la Direction de l’information légale et administrative. La base complète est fournie environ deux fois par an sous la forme d’un ficher archive compressé, auquel viennent s’ajouter des mises à jour quotidiennes.

La base LEGI est très imposante. La dernière archive complète (Freemium_legi_global_20160406-082840.tar.gz) pèse 745 Mo, et elle se décompresse dans un répertoire legi d’une taille variant entre 9 et 15 Go selon votre système de fichier.

Une fois que les données sont en Open Data, toutes les initiatives deviennent possibles. Voici les six projets que j’ai pu référencer :

NomArchéo Lexlegi.pyLegi DisplayLegit.jlCode civil françaisCodes Droit.org
AuteurSeb35ChangacoSedLexeraviart (Etalab)SteeveHabett
Origine des donnéesLEGILEGILEGILEGILégifranceLégifrance puis LEGI
ProductionDépôts GitTest des donnéesPlugin WordPressDépôts GitDépôts GitPDF et ePub
LangagePythonPythonPHPJulia?Perl
SGBDSQLite (Peewee)SQLiteMySQL---
LicenceWTFPLCC0GPLMITPropriétairePropriétaire

Le projet le plus ancien est les Codes pour Droit.org, qui a précédé l’ouverture de la base LEGI. Ce projet avait donc commencé en récupérant directement les données du site web Légifrance.

Le seul projet a avoir bénéficié d’une importante couverture médiatique -d’un gros buzz-, avec articles sur Le Monde et Le Figaro, tweets de Maître Éolas et de la secrétaire d’État chargée du numérique Axelle Lemaire, et en conséquence plus de 2 500 étoiles sur GitHub, est le Code civil que Steeve fournit sous la forme d’un dépôt Git.

Paradoxalement c’est un projet techniquement très limité :

Cependant, il a eu le grand mérite de faire connaître au grand public ce qui est sûrement l’innovation la plus importante que l’informatique peut apporter à l’étude des textes juridiques : une bonne visualisation des changements entre les versions (les diff).

Diff Article 34 du Code civil

Archéo Lex, un projet complet qui fournit tous les codes sous la forme de dépôts Git ainsi que le logiciel utilisé pour les générer, était pourtant apparu plusieurs mois avant le Code civil de Steeve…

Enfin, la mission Etalab s’est emparée de la démarche et a fourni tous les codes et toutes les lois non codifiées sous la forme de dépôts Git ainsi que Legit.jl, le logiciel utilisé pour les générer. C’est très bien, mais je trouve que le choix du langage de programmation Julia est contestable, non pas d’un point de vue technique, mais d’un point de vue communautaire. En choisissant un langage aussi confidentiel, on se prive de toute chance de voir des contributeurs extérieurs s’y intéresser…

Concernant la qualité des données de la base LEGI, Seb35 remercie la DILA pour la très bonne qualité des métadonnées tandis que Changaco indique avoir été un peu découragé par la structure médiocre des données.

Personnellement, je pense que le manque de dynamique autour de la base LEGI, qui est pourtant l’une des plus intéressantes de l’Open Data en France, s’explique par la complexité de l’organisation des données qui la rend difficilement exploitable. Ainsi, la dernière version de la base est composée de 1 624 783 fichiers XML, répartis dans une arborescence absconse de sous-répertoires. Je suis convaincu qu’il reste encore plein de choses à faire pour rendre ces riches données plus accessibles et plus exploitables.

Tweet

Gravatar de fgallaire
Original post of fgallaire.Votez pour ce billet sur Planet Libre.

Nizar Kerkeni : SFD2016 : Communiqué de presse

vendredi 11 novembre 2016 à 10:42

banderolesfd2016-wp

L’association pour la Culture numérique Libre – CLibre, organise, en collaboration avec l’Institut Supérieur des Sciences Appliquées et de Technologie de Sousse la journée internationale de logiciels libres, « Software Freedom Day 2016 » qui aura lieu le dimanche 20 novembre 2016 à l’ISSAT de Sousse.

Cette onzième édition tunisienne, appelée « Software Freedom Day Tunisia », est organisée pour la quatrième année consécutive par l’association CLibre. Elle sera l’occasion pour les associations, les communautés et les clubs universitaires actifs dans les différents domaines des technologies du libre de se rencontrer, de partager leurs expériences dans le domaine et surtout de s’enrichir mutuellement avec les échanges d’idées entre nos jeunes issues des différentes institutions universitaire de la Tunisie.

sfd2015-094
Software Freedom Day Tunisia – Édition 2015

Le programme de la journée sera formé, en plus des rencontres entre activistes du libre, par un ensemble de conférences en relation avec les technologies libres ainsi que des concours.

Rappelons que chaque année, depuis 2004, la communauté internationale d’utilisateurs de logiciels libres fête le « Software Freedom Day ». Cette fête est une manifestation mondiale annuelle instaurée dans le but d’initier le grand public aux logiciels libres par son utilisation personnelle, dans l’éducation, l’économie ou par les gouvernements. Ce but est aussi l’un des objectifs de l’association CLibre qui a pris en charge l’organisation de cette journée en Tunisie prenant la relève de plusieurs acteurs de la communauté tunisienne qui n’a cessé, depuis 2006, de célébrer cette journée à l’échelle nationale.

share this
Tweet

Gravatar de Nizar Kerkeni
Original post of Nizar Kerkeni.Votez pour ce billet sur Planet Libre.

Articles similaires

Nizar Kerkeni : SFD2016 : Communiqué de presse

vendredi 11 novembre 2016 à 10:42

banderolesfd2016-wp

L’association pour la Culture numérique Libre – CLibre, organise, en collaboration avec l’Institut Supérieur des Sciences Appliquées et de Technologie de Sousse la journée internationale de logiciels libres, « Software Freedom Day 2016 » qui aura lieu le dimanche 20 novembre 2016 à l’ISSAT de Sousse.

Cette onzième édition tunisienne, appelée « Software Freedom Day Tunisia », est organisée pour la quatrième année consécutive par l’association CLibre. Elle sera l’occasion pour les associations, les communautés et les clubs universitaires actifs dans les différents domaines des technologies du libre de se rencontrer, de partager leurs expériences dans le domaine et surtout de s’enrichir mutuellement avec les échanges d’idées entre nos jeunes issues des différentes institutions universitaire de la Tunisie.

sfd2015-094
Software Freedom Day Tunisia – Édition 2015

Le programme de la journée sera formé, en plus des rencontres entre activistes du libre, par un ensemble de conférences en relation avec les technologies libres ainsi que des concours.

Rappelons que chaque année, depuis 2004, la communauté internationale d’utilisateurs de logiciels libres fête le « Software Freedom Day ». Cette fête est une manifestation mondiale annuelle instaurée dans le but d’initier le grand public aux logiciels libres par son utilisation personnelle, dans l’éducation, l’économie ou par les gouvernements. Ce but est aussi l’un des objectifs de l’association CLibre qui a pris en charge l’organisation de cette journée en Tunisie prenant la relève de plusieurs acteurs de la communauté tunisienne qui n’a cessé, depuis 2006, de célébrer cette journée à l’échelle nationale.

share this
Tweet

Gravatar de Nizar Kerkeni
Original post of Nizar Kerkeni.Votez pour ce billet sur Planet Libre.

Articles similaires