mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-06 01:56:08 +08:00
show only selected object in toolpath preview
This commit is contained in:
parent
95d33df2f0
commit
6b9188a568
@ -73,15 +73,15 @@ sub new {
|
||||
}
|
||||
|
||||
sub reload_print {
|
||||
my ($self) = @_;
|
||||
my ($self, $obj_idx) = @_;
|
||||
|
||||
$self->canvas->reset_objects;
|
||||
$self->_loaded(0);
|
||||
$self->load_print;
|
||||
$self->load_print($obj_idx);
|
||||
}
|
||||
|
||||
sub load_print {
|
||||
my ($self) = @_;
|
||||
my ($self, $obj_idx) = @_;
|
||||
|
||||
return if $self->_loaded;
|
||||
|
||||
@ -98,10 +98,16 @@ sub load_print {
|
||||
my $z_idx;
|
||||
{
|
||||
my %z = (); # z => 1
|
||||
foreach my $object (@{$self->{print}->objects}) {
|
||||
foreach my $layer (@{$object->layers}, @{$object->support_layers}) {
|
||||
if(defined $obj_idx) { # Load only given object
|
||||
foreach my $layer (@{$self->{print}->get_object($obj_idx)->layers}) {
|
||||
$z{$layer->print_z} = 1;
|
||||
}
|
||||
}else{ # Load all objects on the plater + support material
|
||||
foreach my $object (@{$self->{print}->objects}) {
|
||||
foreach my $layer (@{$object->layers}, @{$object->support_layers}) {
|
||||
$z{$layer->print_z} = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
$self->enabled(1);
|
||||
$self->{layers_z} = [ sort { $a <=> $b } keys %z ];
|
||||
@ -127,14 +133,18 @@ sub load_print {
|
||||
$self->canvas->colors([ $self->canvas->default_colors ]);
|
||||
}
|
||||
|
||||
# load skirt and brim
|
||||
$self->canvas->load_print_toolpaths($self->print);
|
||||
|
||||
foreach my $object (@{$self->print->objects}) {
|
||||
$self->canvas->load_print_object_toolpaths($object);
|
||||
if(defined $obj_idx) { # Load only one object
|
||||
$self->canvas->load_print_object_toolpaths($self->{print}->get_object($obj_idx));
|
||||
}else{ # load all objects
|
||||
# load skirt and brim
|
||||
$self->canvas->load_print_toolpaths($self->print);
|
||||
|
||||
#my @volume_ids = $self->canvas->load_object($object->model_object);
|
||||
#$self->canvas->volumes->[$_]->color->[3] = 0.2 for @volume_ids;
|
||||
foreach my $object (@{$self->print->objects}) {
|
||||
$self->canvas->load_print_object_toolpaths($object);
|
||||
|
||||
#my @volume_ids = $self->canvas->load_object($object->model_object);
|
||||
#$self->canvas->volumes->[$_]->color->[3] = 0.2 for @volume_ids;
|
||||
}
|
||||
}
|
||||
$self->_loaded(1);
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ sub new {
|
||||
if (!$plater->{processed}) {
|
||||
$self->_trigger_slicing;
|
||||
}else{
|
||||
$self->{preview3D}->load_print;
|
||||
$self->{preview3D}->reload_print($obj_idx);
|
||||
$self->{preview3D}->canvas->zoom_to_volumes;
|
||||
$self->{preview_zoomed} = 1;
|
||||
}
|
||||
@ -182,7 +182,7 @@ sub new {
|
||||
sub reload_preview {
|
||||
my ($self) = @_;
|
||||
$self->{splineControl}->update;
|
||||
$self->{preview3D}->reload_print;
|
||||
$self->{preview3D}->reload_print($self->{obj_idx});
|
||||
my $object = $self->{plater}->{print}->get_object($self->{obj_idx});
|
||||
if($object->layer_count-1 > 0) {
|
||||
my $top_layer = $object->get_layer($object->layer_count-1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user