mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	Store object and volume names in the new 'name' property instead of relying on material id
This commit is contained in:
		
							parent
							
								
									f590bbb430
								
							
						
					
					
						commit
						aacc01a56f
					
				
					 10 changed files with 50 additions and 24 deletions
				
			
		|  | @ -56,6 +56,9 @@ sub write_file { | |||
|         foreach my $opt_key (@{$config->get_keys}) { | ||||
|              printf $fh qq{    <metadata type=\"slic3r.%s\">%s</metadata>\n}, $opt_key, $config->serialize($opt_key); | ||||
|         } | ||||
|         if ($object->name) { | ||||
|             printf $fh qq{    <metadata type=\"name\">%s</metadata>\n}, $object->name; | ||||
|         } | ||||
|          | ||||
|         printf $fh qq{    <mesh>\n}; | ||||
|         printf $fh qq{      <vertices>\n}; | ||||
|  | @ -81,12 +84,15 @@ sub write_file { | |||
|         foreach my $volume (@{ $object->volumes }) { | ||||
|             my $vertices_offset = shift @vertices_offset; | ||||
|             printf $fh qq{      <volume%s>\n}, | ||||
|                 (!defined $volume->material_id) ? '' : (sprintf ' materialid="%s"', $volume->material_id); | ||||
|                 ($volume->material_id eq '') ? '' : (sprintf ' materialid="%s"', $volume->material_id); | ||||
|              | ||||
|             my $config = $volume->config; | ||||
|             foreach my $opt_key (@{$config->get_keys}) { | ||||
|                  printf $fh qq{        <metadata type=\"slic3r.%s\">%s</metadata>\n}, $opt_key, $config->serialize($opt_key); | ||||
|             } | ||||
|             if ($volume->name) { | ||||
|                 printf $fh qq{        <metadata type=\"name\">%s</metadata>\n}, $volume->name; | ||||
|             } | ||||
|             if ($volume->modifier) { | ||||
|                 printf $fh qq{        <metadata type=\"slic3r.modifier\">1</metadata>\n}; | ||||
|             } | ||||
|  |  | |||
|  | @ -114,6 +114,10 @@ sub end_element { | |||
|             } elsif ($opt_key eq 'modifier' && $self->{_volume}) { | ||||
|                 $self->{_volume}->set_modifier($value); | ||||
|             } | ||||
|         } elsif ($self->{_metadata_type} eq 'name' && $self->{_volume}) { | ||||
|             $self->{_volume}->set_name($value); | ||||
|         } elsif ($self->{_metadata_type} eq 'name' && $self->{_object}) { | ||||
|             $self->{_object}->set_name($value); | ||||
|         } elsif ($self->{_material}) { | ||||
|             $self->{_material}->set_attribute($self->{_metadata_type}, $value); | ||||
|         } | ||||
|  |  | |||
|  | @ -25,11 +25,9 @@ sub read_file { | |||
|      | ||||
|     my $model = Slic3r::Model->new; | ||||
|      | ||||
|     my $material_id = basename($file); | ||||
|     $model->set_material($material_id); | ||||
|      | ||||
|     my $object = $model->add_object; | ||||
|     my $volume = $object->add_volume(mesh => $mesh, material_id => $material_id); | ||||
|     my $basename = basename($file); | ||||
|     my $object = $model->add_object(input_file => $file, name => $basename); | ||||
|     my $volume = $object->add_volume(mesh => $mesh, name => $basename); | ||||
|     return $model; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -16,10 +16,9 @@ sub read_file { | |||
|      | ||||
|     my $model = Slic3r::Model->new; | ||||
|      | ||||
|     my $material_id = basename($file); | ||||
|     $model->set_material($material_id); | ||||
|     my $object = $model->add_object; | ||||
|     my $volume = $object->add_volume(mesh => $mesh, material_id => $material_id); | ||||
|     my $basename = basename($file); | ||||
|     my $object = $model->add_object(input_file => $file, name => $basename); | ||||
|     my $volume = $object->add_volume(mesh => $mesh, name => $basename); | ||||
|     return $model; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Alessandro Ranellucci
						Alessandro Ranellucci