From c666bf8626c0fa092e43bbd80f2edf37a5fbd080 Mon Sep 17 00:00:00 2001 From: Alex Shvartzkop Date: Wed, 1 Oct 2025 21:56:34 +0300 Subject: [PATCH] STEP export: paint board body in soldermask color if soldermask export is off Was broken in 54e9a97b268ded2d4b3a130ef71cff6e8d023856 Fixes (part of) https://gitlab.com/kicad/code/kicad/-/issues/21865 --- pcbnew/exporters/step/step_pcb_model.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pcbnew/exporters/step/step_pcb_model.cpp b/pcbnew/exporters/step/step_pcb_model.cpp index c919068b5c..3ba0ee636d 100644 --- a/pcbnew/exporters/step/step_pcb_model.cpp +++ b/pcbnew/exporters/step/step_pcb_model.cpp @@ -2319,6 +2319,13 @@ bool STEP_PCB_MODEL::CreatePCB( SHAPE_POLY_SET& aOutline, VECTOR2D aOrigin, bool board_color.SetValues( col.r, col.g, col.b, col.a ); } + // Paint board body in soldermask colors if soldermask is not exported as a layer + if( !m_enabledLayers.Contains( F_Mask ) && !m_enabledLayers.Contains( B_Mask ) ) + { + board_color = front_mask_color; + board_color.SetAlpha( 1.0 ); + } + TDF_Label front_mask_mat = makeMaterial( "soldermask", front_mask_color, 0.0, 0.6 ); TDF_Label back_mask_mat = makeMaterial( "soldermask", back_mask_color, 0.0, 0.6 ); TDF_Label front_silk_mat = makeMaterial( "silkscreen", front_silk_color, 0.0, 0.9 );