Commit 645f7384 authored by dickelbeck's avatar dickelbeck
Browse files

compensate for tendency of freerouter to move tracks on loading DSN

parent 9de1af02
Loading
Loading
Loading
Loading
+10 −4
Original line number Original line Diff line number Diff line
@@ -986,9 +986,12 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IOError )
        // Add .1 mil to the requested clearances as a safety margin.
        // Add .1 mil to the requested clearances as a safety margin.
        // There has been disagreement about interpretation of clearance in the past
        // There has been disagreement about interpretation of clearance in the past
        // between Kicad and Freerouter, so keep this safetyMargin until the
        // between Kicad and Freerouter, so keep this safetyMargin until the
        // disagreement is resolved and stable.  Recently Kicad started adding
        // disagreement is resolved and stable.  Freerouter seems to be moving
        // 0.1 mils to what it is given, so we can use zero for now.
        // (protected) traces upon loading the DSN file, and even though it seems to sometimes
        const double  safetyMargin = 0.0;
        // add its own 0.1 to the clearances, I believe this is happening after
        // the load process (and moving traces) so I am of the opinion this is
        // still needed.
        const double  safetyMargin = 0.1;


        double  clearance = scale(curTrackClear);
        double  clearance = scale(curTrackClear);


@@ -1322,6 +1325,9 @@ void SPECCTRA_DB::FromBOARD( BOARD* aBoard ) throw( IOError )


            PADSTACK* padstack = makeVia( via );
            PADSTACK* padstack = makeVia( via );
            PADSTACK* registered = pcb->library->LookupVia( padstack );
            PADSTACK* registered = pcb->library->LookupVia( padstack );

            // if the one looked up is not our padstack, then delete our padstack
            // since it was a duplicate of one already registered.
            if( padstack != registered )
            if( padstack != registered )
            {
            {
                delete padstack;
                delete padstack;