mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 12:41:20 -06:00 
			
		
		
		
	NEW: save unrecognized matadata field in 3dmodel.model
Change-Id: Ia5db9990b8b871f03ffd961cbf1808d228060e21 Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
		
							parent
							
								
									b6a54103b8
								
							
						
					
					
						commit
						c7d8b3871a
					
				
					 2 changed files with 22 additions and 0 deletions
				
			
		|  | @ -2885,6 +2885,13 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) | |||
|         } else if (m_curr_metadata_name == BBL_REGION_TAG) { | ||||
|             BOOST_LOG_TRIVIAL(trace) << "design_info, load_3mf found region = " << m_curr_characters; | ||||
|             m_contry_code = xml_unescape(m_curr_characters); | ||||
|         } else { | ||||
|             // BBS store metadata list
 | ||||
|             BOOST_LOG_TRIVIAL(info) << "load_3mf found metadata = " << m_curr_characters; | ||||
|             ModelInfo::MetaDataItem item; | ||||
|             item.key   = m_curr_metadata_name; | ||||
|             item.value = xml_unescape(m_curr_characters); | ||||
|             model_info.metadata_items.push_back(item); | ||||
|         } | ||||
| 
 | ||||
|         return true; | ||||
|  | @ -4614,6 +4621,13 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result) | |||
|                 copyright    = model.model_info->copyright; | ||||
|                 name         = model.model_info->model_name; | ||||
|                 BOOST_LOG_TRIVIAL(trace) << "design_info, save_3mf found designer_cover = " << design_cover; | ||||
|                 // write metadata
 | ||||
|                 for (int i = 0; i < model.model_info.get()->metadata_items.size(); i++) { | ||||
|                     BOOST_LOG_TRIVIAL(info) << "bbs_3mf: save key= " << model.model_info.get()->metadata_items[i].key | ||||
|                                             << ", value = " << xml_escape(model.model_info.get()->metadata_items[i].value); | ||||
|                     stream << " <" << METADATA_TAG << " name=\"" << model.model_info.get()->metadata_items[i].key << "\">" | ||||
|                            << xml_escape(model.model_info.get()->metadata_items[i].value) << "</" << METADATA_TAG << ">\n"; | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             if (project) { | ||||
|  |  | |||
|  | @ -1233,12 +1233,20 @@ public: | |||
|     std::string copyright;      // utf8 format
 | ||||
|     std::string model_name;     // utf8 format
 | ||||
| 
 | ||||
|     struct MetaDataItem | ||||
|     { | ||||
|         std::string key; | ||||
|         std::string value; | ||||
|     }; | ||||
|     std::vector<MetaDataItem> metadata_items; // other meta data items
 | ||||
| 
 | ||||
|     void load(ModelInfo &info) { | ||||
|         this->cover_file    = info.cover_file; | ||||
|         this->license       = info.license; | ||||
|         this->description   = info.description; | ||||
|         this->copyright     = info.copyright; | ||||
|         this->model_name    = info.model_name; | ||||
|         this->metadata_items = info.metadata_items; | ||||
|     } | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Stone Li
						Stone Li