Étape 2: Créer un programme Perl qui renvoie le VRML
Voici un exemple d’un programme perl qui génère en sortie un modèle 3D simple :
#/ usr/bin/perl
Ouvrez FILEOUT, » > bot_part.wrl « ou mourir ;
imprimer FILEOUT « V2.0 #VRML utf8\r\n » ;
imprimer FILEOUT « \r\n » ;
imprimer FILEOUT « # par Jim Brown\r\n » ;
imprimer FILEOUT « \r\n » ;
$rad = 3.141592 / 180.0 ;
$meter = 1 ;
$cm = $meter / 100,0 ;
$mm = $cm / 10.0 ;
$back_plane_width = 24,0 * $mm ;
$back_plane_height = 40,0 * $mm ;
imprimer FILEOUT « # part\r\n » ;
imprimer FILEOUT "Transform \ {\r\n" ;
imprimer FILEOUT "traduction 0 0\r\n 0" ;
imprimer FILEOUT « enfants \[\r\n » ;
imprimer FILEOUT « Forme \{\r\n » ;
imprimer FILEOUT « aspect aspect \{\r\n » ;
imprimer FILEOUT « matière matière \{\r\n » ;
imprimer FILEOUT « diffuseColor 0,9 0,9 0.9\r\n » ;
imprimer FILEOUT « \} # fin material\r\n » ;
imprimer FILEOUT « \} # fin appearance\r\n » ;
imprimer FILEOUT « géométrie Extrusion \{\r\n » ;
imprimer FILEOUT « creaseAngle 0\r\n » ;
imprimer FILEOUT « beginCap TRUE\r\n » ;
imprimer FILEOUT « endCap TRUE\r\n » ;
imprimer FILEOUT « section \[\r\n » ;
$x_width = $back_plane_width ;
$y_width = 2 * $mm ;
imprimer FILEOUT "". sprintf (« %3.8f %3.8f », 0 - ($x_width/2.0), 0 - ($y_width / 2.0)). « \r\n » ;
imprimer FILEOUT "". sprintf (« %3.8f %3.8f », 0 + ($x_width/2.0), 0 - ($y_width / 2.0)). « \r\n » ;
imprimer FILEOUT "". sprintf (« %3.8f %3.8f », 0 + ($x_width/2.0), 0 + ($y_width / 2.0)). « \r\n » ;
imprimer FILEOUT "". sprintf (« %3.8f %3.8f », 0 - ($x_width/2.0), 0 + ($y_width / 2.0)). « \r\n » ;
imprimer FILEOUT "". sprintf (« %3.8f %3.8f », 0 - ($x_width/2.0), 0 - ($y_width / 2.0)). « \r\n » ;
imprimer FILEOUT "\] # end cross section\r\n" ;
imprimer FILEOUT « dos \[\r\n » ;
$x = $back_plane_width / 2.0 ;
$y = 0 ;
$z = 0 ;
imprimer FILEOUT "". sprintf ("%3.8f %3.8f %3 .8f,", $x, $y, $z). « \r\n » ;
$y = $y - $back_plane_height ;
imprimer FILEOUT "". sprintf ("%3.8f %3.8f %3 .8f,", $x, $y, $z). « \r\n » ;
$x = $x + $back_plane_width / 2.0 ;
$z = $z + $back_plane_width / 2.0 ;
imprimer FILEOUT "". sprintf (« %3.8f %3.8f %3.8f », $x, $y $z). « \r\n » ;
$x = $x + $back_plane_width / 2.0 ;
imprimer FILEOUT "". sprintf (« %3.8f %3.8f %3.8f », $x, $y $z). « \r\n » ;
imprimer FILEOUT « \] # fin spine\r\n » ;
imprimer FILEOUT « \} # fin extrusion\r\n » ;
imprimer FILEOUT « \} # fin shape\r\n » ;
imprimer FILEOUT « \]\r\n » ;
imprimer FILEOUT « \}\r\n » ;
imprimer FILEOUT « \r\n » ;
Fermez FILEOUT ;
Dans les photos d’exemple, vous pouvez voir qu’un modèle 3D est créé. Si vous regardez l’image filaire, vous pouvez dire que j’ai coupe en marche, ou encore le modèle aurait l’air ratatinée. Il s’agit d’une fonctionnalité de Accutrans3D.
Je me dis que cette étape est assez pour faire beaucoup de modèles en 3D. Vous pouvez voir dans les photos d’exemple, j’ai fait un cas de Pi de framboise et avait il imprimé en 3D à l’aide de cette méthode pour créer un programme qui renvoie le vrml. J’ai fini avec une jolie boîte. J’ai même ajouté de texte et un logo Raspberry Pi sur le dessus de la boîte. Sans doute, vous pouvez voir comment, à l’aide de cette méthode pourrait être très puissant pour rendre un objet exact avec les mesures exactes sans aucune sorte de logiciel de modélisation autre que le code pur.