New build script to install dependencies automatically

This commit is contained in:
Alessandro Ranellucci 2011-10-02 11:57:47 +02:00
parent 21d287504c
commit a311220c19
4 changed files with 70 additions and 8 deletions

25
Build.PL Normal file
View File

@ -0,0 +1,25 @@
use Module::Build;
my $build = Module::Build->new(
module_name => 'Slic3r',
dist_abstract => 'STL-to-GCODE translator',
dist_author => 'Alessandro Ranellucci <aar@cpan.org>',
dist_version => '0.1',
license => 'perl',
requires => {
'CAD::Format::STL' => '0',
'Getopt::Long' => '0',
'Math::Clipper' => '1.00',
'Math::Geometry::Planar' => '0',
'Moo' => '0',
'Time::HiRes' => '0',
},
build_requires => {
'Test::More' => '0.10',
},
script_files => ['slic3r.pl'],
);
$build->dispatch('installdeps');
$build->dispatch('test', verbose => 0);
$build->create_build_script;

25
MANIFEST Normal file
View File

@ -0,0 +1,25 @@
Build.PL
lib/Slic3r.pm
lib/Slic3r/Extruder.pm
lib/Slic3r/ExtrusionLoop.pm
lib/Slic3r/ExtrusionPath.pm
lib/Slic3r/ExtrusionPath/Collection.pm
lib/Slic3r/Fill.pm
lib/Slic3r/Fill/Rectilinear.pm
lib/Slic3r/Geometry.pm
lib/Slic3r/Geometry/DouglasPeucker.pm
lib/Slic3r/Layer.pm
lib/Slic3r/Line.pm
lib/Slic3r/Perimeter.pm
lib/Slic3r/Point.pm
lib/Slic3r/Polyline.pm
lib/Slic3r/Polyline/Closed.pm
lib/Slic3r/Print.pm
lib/Slic3r/STL.pm
lib/Slic3r/Surface.pm
lib/Slic3r/Surface/Collection.pm
lib/Slic3r/SVG.pm
MANIFEST This list of files
README.markdown
slic3r.pl
t/clean_polylines.t

View File

@ -27,6 +27,8 @@ Also, http://xkcd.com/224/
Slic3r current features are: Slic3r current features are:
* multi-platform (Linux/Mac/Win);
* easy configuration/calibration;
* read binary and ASCII STL files; * read binary and ASCII STL files;
* generate multiple perimeters (skins); * generate multiple perimeters (skins);
* generate rectilinear fill; * generate rectilinear fill;
@ -38,24 +40,34 @@ Slic3r current features are:
* center print around bed center point; * center print around bed center point;
* multiple solid layers near horizontal external surfaces; * multiple solid layers near horizontal external surfaces;
* ability to scale, rotate and multiply input object; * ability to scale, rotate and multiply input object;
* use different speed for bottom layer. * use different speed for bottom layer and perimeters.
Roadmap includes the following goals: Roadmap includes the following goals:
* output some statistics; * output some statistics;
* allow the user to customize initial and final GCODE commands; * allow the user to customize initial and final GCODE commands;
* support material for internal perimeters; * support material for internal perimeters;
* ability to infill in the direction of bridges; * detect optimal infill direction for bridges;
* cool; * cool;
* other fill patterns; * other fill patterns;
* nice packaging for cross-platform deployment. * nice packaging for cross-platform deployment.
## Is it usable already? ## Is it usable already?
Yes, although its extrusion math needs to be tested. Yes! I need to write a script to install dependencies and to package
I need to write a script to install dependencies and to package
dependency-free executables for main platforms. dependency-free executables for main platforms.
## How to install?
Download the package, open a terminal and cd to its directory. Then type:
perl Build.PL
This will install any required dependency. If you want to install slic3r.pl
in your system path, type this as root:
./Build install
## Can I help? ## Can I help?
Sure! Send patches and/or drop me a line at aar@cpan.org. You can also Sure! Send patches and/or drop me a line at aar@cpan.org. You can also

View File

@ -49,10 +49,10 @@ my $gear = [
]; ];
$polyline = Slic3r::Polyline::Closed->cast($gear); $polyline = Slic3r::Polyline::Closed->cast($gear);
$polyline->merge_continuous_lines; $polyline->merge_continuous_lines;
diag sprintf "original points: %d\nnew points: %d", scalar(@$gear), scalar(@{$polyline->points}); note sprintf "original points: %d\nnew points: %d", scalar(@$gear), scalar(@{$polyline->points});
ok (@{$polyline->points} < @$gear), 'gear was simplified using merge_continuous_lines'; ok @{$polyline->points} < @$gear, 'gear was simplified using merge_continuous_lines';
my $num_points = scalar @{$polyline->points}; my $num_points = scalar @{$polyline->points};
$polyline->cleanup; $polyline->cleanup;
diag sprintf "original points: %d\nnew points: %d", $num_points, scalar(@{$polyline->points}); note sprintf "original points: %d\nnew points: %d", $num_points, scalar(@{$polyline->points});
ok (@{$polyline->points} < $num_points), 'gear was further simplified using Douglas-Peucker'; ok @{$polyline->points} < $num_points, 'gear was further simplified using Douglas-Peucker';