← Back to team overview

kicad-developers team mailing list archive

PATCH: idf2vrml tool

 

This patch fixes a bug in the idf2vrml tool which results in the incorrect
rendering of
OTHER_OUTLINE sections which are placed on the bottom layer. The bug will
not
typically be seen since KiCad never exports such a section in the IDF file;
however
third party IDF files which a user may wish to render as a sub-assembly for
KiCad
may contain such a section.

- Cirilo
=== modified file 'utils/idftools/idf2vrml.cpp'
--- utils/idftools/idf2vrml.cpp	2015-06-12 22:38:31 +0000
+++ utils/idftools/idf2vrml.cpp	2015-07-13 08:22:15 +0000
@@ -932,11 +932,6 @@
     {
         pout = sc->second;
 
-        if( pout->GetSide() == IDF3::LYR_BOTTOM )
-            bottom = true;
-        else
-            bottom = false;
-
         if( pout->GetThickness() < 0.00000001 && nozeroheights )
         {
             vpcb.Clear();
@@ -946,7 +941,7 @@
 
         vcp = GetColor( cmap, cidx, pout->GetOutlineIdentifier() );
 
-        if( !PopulateVRML( vpcb, pout->GetOutlines(), bottom,
+        if( !PopulateVRML( vpcb, pout->GetOutlines(), false,
             board.GetUserScale(), 0, 0, 0 ) )
         {
             return false;
@@ -961,6 +956,11 @@
 
         vpcb.Tesselate( NULL );
 
+        if( pout->GetSide() == IDF3::LYR_BOTTOM )
+            bottom = true;
+        else
+            bottom = false;
+
         if( bottom )
         {
             top = -thick;


Follow ups