mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	ENH: disable arranging selected items
0. disable arranging selected 1. fix bug where brim is not correct. 2. fix bug where big circle objects are not arranged properly 3. disable default enable_rotation Change-Id: Ifc69f35d900ff63ec1e9ec8bf8638afc6ea7d54b (cherry picked from commit 2ed1b0dd8573a1e10aaf77f0d9f8896cef304427)
This commit is contained in:
		
							parent
							
								
									74e92ac51d
								
							
						
					
					
						commit
						07ae246e5f
					
				
					 9 changed files with 77 additions and 31 deletions
				
			
		|  | @ -361,7 +361,7 @@ public: | |||
| //        float distance_seq_print = 6.;    // Used when sequential print is ON
 | ||||
| //        float distance_sla       = 6.;
 | ||||
|         float accuracy           = 0.65f; // Unused currently
 | ||||
|         bool  enable_rotation    = true; | ||||
|         bool  enable_rotation    = false; | ||||
|         bool  allow_multi_materials_on_same_plate = true; | ||||
|         bool  avoid_extrusion_cali_region = true; | ||||
|         //BBS: add more arrangeSettings
 | ||||
|  |  | |||
|  | @ -403,7 +403,7 @@ void ArrangeJob::prepare() | |||
|     int state = m_plater->get_prepare_state(); | ||||
|     if (state == Job::JobPrepareState::PREPARE_STATE_DEFAULT) { | ||||
|         only_on_partplate = false; | ||||
|         prepare_selected(); | ||||
|         prepare_all(); | ||||
|     } | ||||
|     else if (state == Job::JobPrepareState::PREPARE_STATE_MENU) { | ||||
|         only_on_partplate = true;   // only arrange items on current plate
 | ||||
|  | @ -508,16 +508,8 @@ void ArrangeJob::process() | |||
| 
 | ||||
| 
 | ||||
|     double skirt_distance = print.has_skirt() ? print.config().skirt_distance.value : 0; | ||||
|     bool is_auto_brim = print.has_auto_brim(); | ||||
|     double brim_max = 0; | ||||
|     if (is_auto_brim) { | ||||
|         brim_max = 0; | ||||
|         std::for_each(m_selected.begin(), m_selected.end(), [&](ArrangePolygon ap) {  brim_max = std::max(brim_max, ap.auto_brim_width); }); | ||||
|     } | ||||
|     else { | ||||
|         brim_max = print.has_brim() ? print.default_object_config().brim_width : 0; | ||||
|         std::for_each(m_selected.begin(), m_selected.end(), [&](ArrangePolygon ap) {  brim_max = std::max(brim_max, ap.user_brim_width); }); | ||||
|     } | ||||
|     std::for_each(m_selected.begin(), m_selected.end(), [&](ArrangePolygon ap) {  brim_max = std::max(brim_max, ap.brim_width); }); | ||||
| 
 | ||||
|     // Note: skirt_distance is now defined between outermost brim and skirt, not the object and skirt.
 | ||||
|     // So we can't do max but do adding instead.
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Arthur
						Arthur