diff --git a/lib/Slic3r/Print.pm b/lib/Slic3r/Print.pm index 90a1b010..65d166e7 100644 --- a/lib/Slic3r/Print.pm +++ b/lib/Slic3r/Print.pm @@ -972,7 +972,7 @@ sub write_gcode { } print $fh $buffer->append( $layer_gcode->process_layer($layer, [$copy]), - $layer->object."", + $layer->object->ptr, $layer->id, $layer->print_z, ); @@ -1005,7 +1005,7 @@ sub write_gcode { foreach my $layer (@{ $layers{$print_z}[$obj_idx] // [] }) { print $fh $buffer->append( $layer_gcode->process_layer($layer, $layer->object->_shifted_copies), - $layer->object . ref($layer), # differentiate $obj_id between normal layers and support layers + $layer->object->ptr . ref($layer), # differentiate $obj_id between normal layers and support layers $layer->id, $layer->print_z, ); diff --git a/xs/xsp/Layer.xsp b/xs/xsp/Layer.xsp index de076767..6c5243ae 100644 --- a/xs/xsp/Layer.xsp +++ b/xs/xsp/Layer.xsp @@ -57,6 +57,9 @@ Ref slices() %code%{ RETVAL = &THIS->slices; %}; + + int ptr() + %code%{ RETVAL = (int)(intptr_t)THIS; %}; }; %name{Slic3r::Layer::Support} class SupportLayer {