Programmatiska skapandet av en 3D-modell för 3D utskrift (2 / 5 steg)
Steg 2: Skapa ett Perl Program som utgångar VRML
Här är ett exempel på ett perl program som matar ut en enkel 3D-modell:
#/ usr/bin/perl
Öppna FILEOUT, "> bot_part.wrl" eller dö;
skriva ut FILEOUT "#VRML V2.0 utf8\r\n";
skriva ut FILEOUT "\r\n";
skriva ut FILEOUT "# av Jim Brown\r\n";
skriva ut 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;
skriva ut FILEOUT "# part\r\n";
skriva ut FILEOUT "Transform \ {\r\n";
skriva ut FILEOUT "översättning 0 0 0\r\n";
skriva ut FILEOUT "barn \[\r\n";
skriva ut FILEOUT "Formen \{\r\n";
skriva ut FILEOUT "utseende utseende \{\r\n";
skriva ut FILEOUT "materiella materiella \{\r\n";
skriva ut FILEOUT "diffuseColor 0,9 0,9 0.9\r\n";
skriva ut FILEOUT "\} # slutet material\r\n";
skriva ut FILEOUT "\} # slutet appearance\r\n";
skriva ut FILEOUT "geometri extrudering \{\r\n";
skriva ut FILEOUT "creaseAngle 0\r\n";
skriva ut FILEOUT "beginCap TRUE\r\n";
skriva ut FILEOUT "endCap TRUE\r\n";
skriva ut FILEOUT "crossSection \[\r\n";
$x_width = $back_plane_width;
$y_width = 2 * $mm;
skriva ut FILEOUT "". sprintf ("%3.8f %3.8f", 0 - ($x_width/2,0), 0 - ($y_width / 2,0)). "\r\n";
skriva ut FILEOUT "". sprintf ("%3.8f %3.8f", 0 + ($x_width/2,0), 0 - ($y_width / 2,0)). "\r\n";
skriva ut FILEOUT "". sprintf ("%3.8f %3.8f", 0 + ($x_width/2,0), 0 + ($y_width / 2,0)). "\r\n";
skriva ut FILEOUT "". sprintf ("%3.8f %3.8f", 0 - ($x_width/2,0), 0 + ($y_width / 2,0)). "\r\n";
skriva ut FILEOUT "". sprintf ("%3.8f %3.8f", 0 - ($x_width/2,0), 0 - ($y_width / 2,0)). "\r\n";
skriva ut FILEOUT "\] # slutet cross section\r\n";
skriva ut FILEOUT "ryggraden \[\r\n";
$x = $back_plane_width / 2,0;
$y = 0;
$z = 0;
skriva ut FILEOUT "". sprintf ("%3.8f %3.8f %3 .8f,", $x, $y, $z). "\r\n";
$y = $y - $back_plane_height;
skriva ut 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;
skriva ut FILEOUT "". sprintf ("%3.8f %3.8f %3.8f", $x, $y, $z). "\r\n";
$x = $x + $back_plane_width / 2,0;
skriva ut FILEOUT "". sprintf ("%3.8f %3.8f %3.8f", $x, $y, $z). "\r\n";
skriva ut FILEOUT "\] # slutet spine\r\n";
skriva ut FILEOUT "\} # slutet extrusion\r\n";
skriva ut FILEOUT "\} # slutet shape\r\n";
skriva ut FILEOUT "\]\r\n";
skriva ut FILEOUT "\}\r\n";
skriva ut FILEOUT "\r\n";
nära FILEOUT;
I exempel bilder kan du se att en 3D-modell som skapats. Om du tittar på trådram bilden, kan du berätta att jag har mitering påslagen, annars modellen skulle se squished. Detta är en funktion av Accutrans3D.
Jag tänkte att detta steg är nog att göra många modeller i 3D. Du kan se i exemplet bilder, propagerade jag Raspberry Pi och hade det tryckt i 3D med hjälp av denna metod för att skapa ett program som matar ut vrml. Jag slutade med en fin låda. Jag la även text och en Raspberry Pi logotyp på rutan. Förmodligen kan du se hur denna metod kan vara mycket kraftfullt för att göra en exakt vilket objekt med exakta mått utan någon form av modellering paketet än ren kod.