CAD::Mesh3D - Create and Manipulate 3D Vertexes and Meshes and output for 3D printing


use CAD::Mesh3D qw(+STL :create :formats);
my $vect = createVertex();
my $tri  = createFacet($v1, $v2, $v3);
my $mesh = createMesh();
$mesh->output(STL => $filehandle_or_filename, $ascii_or_binary);


A framework to create and manipulate 3D vertexes and meshes, suitable for generating STL files (or other similar formats) for 3D printing.

A Mesh is the container for the surface of the shape or object being generated. The surface is broken down into locally-flat pieces known as Facets. Each Facet is a triangle made from three points, called Vertexes (also spelled as vertices). Each Vertex is made up of three x, y, and z coordinates, which are just floating-point values to represent the position in 3D space.


  • Add more math for Vertexes and Facets, as new functions are identified as being useful.


Peter C. Jones <petercj AT cpan DOT org>

issues appveyor build status travis build status Coverage Status


Copyright (C) 2017,2018,2019,2020 Peter C. Jones


This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See for more information.