diff options
author | Alessandro Ranellucci <aar@cpan.org> | 2014-12-15 17:19:42 +0300 |
---|---|---|
committer | Alessandro Ranellucci <aar@cpan.org> | 2014-12-15 17:19:42 +0300 |
commit | a82f95e9034c5bf59c2c40e24a57a6ee30692601 (patch) | |
tree | 7331dfc795d4d213a512ee1a3fc381e54e8c8d32 /utils | |
parent | a34cd24fa138a3269e168d1518cbe64255f3c15f (diff) |
Some initial work for 3D slice rendering
Diffstat (limited to 'utils')
-rwxr-xr-x | utils/view-toolpaths.pl | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/utils/view-toolpaths.pl b/utils/view-toolpaths.pl index 0e05a15a7..66ee226db 100755 --- a/utils/view-toolpaths.pl +++ b/utils/view-toolpaths.pl @@ -20,6 +20,7 @@ my %opt = (); my %options = ( 'help' => sub { usage() }, 'load=s' => \$opt{load}, + '3D' => \$opt{d3}, 'duplicate=i' => \$opt{duplicate}, ); GetOptions(%options) or usage(1); @@ -46,6 +47,7 @@ my %opt = (); # visualize toolpaths $Slic3r::ViewToolpaths::print = $sprint->_print; + $Slic3r::ViewToolpaths::d3 = $opt{d3}; my $app = Slic3r::ViewToolpaths->new; $app->MainLoop; } @@ -67,9 +69,10 @@ EOF package Slic3r::ViewToolpaths; use Wx qw(:sizer); -use base qw(Wx::App); +use base qw(Wx::App Class::Accessor); our $print; +our $d3; sub OnInit { my $self = shift; @@ -77,8 +80,24 @@ sub OnInit { my $frame = Wx::Frame->new(undef, -1, 'Toolpaths', [-1, -1], [500, 500]); my $panel = Wx::Panel->new($frame, -1); + my $canvas; + if ($d3) { + $canvas = Slic3r::GUI::PreviewCanvas->new($panel); + $canvas->print($print); + + #$canvas->set_bounding_box($print->bounding_box); + $canvas->set_bed_shape($print->config->bed_shape); + $canvas->set_bounding_box($print->objects->[0]->model_object->bounding_box); + + foreach my $object (@{$print->objects}) { + $canvas->load_object($object->model_object); + } + } else { + $canvas = Slic3r::GUI::Plater::2DToolpaths->new($panel, $print); + } + my $sizer = Wx::BoxSizer->new(wxVERTICAL); - $sizer->Add(Slic3r::GUI::Plater::2DToolpaths->new($panel, $print), 1, wxEXPAND, 0); + $sizer->Add($canvas, 1, wxEXPAND, 0); $panel->SetSizer($sizer); $frame->Show(1); |