Browse Source

Fix VRML layer Z positions after v9 layer changes.

https://gitlab.com/kicad/code/kicad/-/issues/19608
pcb_db
Alex Shvartzkop 11 months ago
parent
commit
775b768833
  1. 12
      pcbnew/exporters/exporter_vrml.cpp

12
pcbnew/exporters/exporter_vrml.cpp

@ -726,14 +726,12 @@ void EXPORTER_PCB_VRML::ComputeLayer3D_Zpos()
double half_thickness = m_brd_thickness / 2;
// Compute each layer's Z value, more or less like the 3d view
for( PCB_LAYER_ID layer : LSET::AllCuMask().Seq() )
{
int i = static_cast<int>( layer );
int orderFromTop = 0;
if( i < copper_layers )
SetLayerZ( i, half_thickness - m_brd_thickness * i / (copper_layers - 1) );
else
SetLayerZ( i, - half_thickness ); // bottom layer
for( PCB_LAYER_ID layer : LSET::AllCuMask( copper_layers ).CuStack() )
{
SetLayerZ( layer, half_thickness - m_brd_thickness * orderFromTop / ( copper_layers - 1 ) );
orderFromTop++;
}
// To avoid rounding interference, we apply an epsilon to each successive layer

Loading…
Cancel
Save