Loading change_log.txt +5 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,11 @@ Started 2007-June-11 Please add newer entries at the top, list the date and your name with email address. 2008-Apr-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> ================================================================================ +pcbnew PS output: now shows oblong holes with the true shape. 2008-Apr-22 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ Loading libs.win +1 −1 Original line number Diff line number Diff line # File: libs.win #binaries path: KICAD_BIN = /f/kicad/winexe KICAD_BIN = /f/kicad/bin Loading pcbnew/plotps.cpp +33 −25 Original line number Diff line number Diff line Loading @@ -437,7 +437,7 @@ static void PrintDrillMark( BOARD* Pcb ) /* Draw a drill mark for pads and vias. * Must be called after all drawings, because it * redraw the drill mark on a pad or via * redraw the drill mark on a pad or via, as a negative (i.e. white) shape */ { const int SMALL_DRILL = 150; Loading @@ -458,7 +458,7 @@ static void PrintDrillMark( BOARD* Pcb ) diam.x = diam.y = (g_DrillShapeOpt == DRILL_MARK) ? SMALL_DRILL : g_DesignSettings.m_ViaDrill; for( pts = Pcb->m_Track; pts != NULL; pts = (TRACK*) pts->Pnext ) for( pts = Pcb->m_Track; pts != NULL; pts = pts->Next() ) { if( pts->Type() != TYPEVIA ) continue; Loading @@ -474,19 +474,27 @@ static void PrintDrillMark( BOARD* Pcb ) Module = Pcb->m_Modules; for( ; Module != NULL; Module = (MODULE*) Module->Pnext ) { PtPad = (D_PAD*) Module->m_Pads; for( ; PtPad != NULL; PtPad = (D_PAD*) PtPad->Pnext ) PtPad = Module->m_Pads; for( ; PtPad != NULL; PtPad = PtPad->Next() ) { if( PtPad->m_Drill.x == 0 ) continue; // calcul de la position des trous, selon echelle // Output hole shapes: pos = PtPad->m_Pos; diam.x = diam.y = (g_DrillShapeOpt == DRILL_MARK) ? SMALL_DRILL : if( PtPad->m_DrillShape == PAD_OVAL ) { diam = PtPad->m_Drill; trace_1_pastille_OVALE_POST( pos, diam, PtPad->m_Orient, FILLED ); } else { diam.x = (g_DrillShapeOpt == DRILL_MARK) ? SMALL_DRILL : PtPad->m_Drill.x; trace_1_pastille_RONDE_POST( pos, diam.x, FILLED ); } } } fprintf( dest, " 0 setgray\n" ); } Loading pcbnew/zone_filling_algorithm.cpp +9 −3 Original line number Diff line number Diff line Loading @@ -673,7 +673,7 @@ bool WinEDA_PcbFrame::Genere_Pad_Connexion( wxDC* DC, int layer ) dy += abs( pt_pad->m_DeltaSize.x ) / 2; } /* calculate the 4 segment coordintes (starting from the pad centre cX,cY) */ /* calculate the 4 segment coordinates (starting from the pad centre cX,cY) */ sommet[0][0] = 0; sommet[0][1] = -dy; sommet[1][0] = -dx; sommet[1][1] = 0; sommet[2][0] = 0; sommet[2][1] = dy; Loading @@ -697,10 +697,16 @@ bool WinEDA_PcbFrame::Genere_Pad_Connexion( wxDC* DC, int layer ) /* Test if the segment is allowed */ if( BAD_DRC==m_drc->DrcBlind( pt_track, m_Pcb->m_Track ) ) { // Drc error, retry with a smaller width // because some drc errors are due to a track width > filling zone size. pt_track->m_Width = g_GridRoutingSize; if( BAD_DRC==m_drc->DrcBlind( pt_track, m_Pcb->m_Track ) ) { delete pt_track; continue; } } /* Search for a zone segment */ loctrack = Locate_Zone( m_Pcb->m_Zone, pt_track->m_End, layer ); Loading Loading
change_log.txt +5 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,11 @@ Started 2007-June-11 Please add newer entries at the top, list the date and your name with email address. 2008-Apr-21 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> ================================================================================ +pcbnew PS output: now shows oblong holes with the true shape. 2008-Apr-22 UPDATE Dick Hollenbeck <dick@softplc.com> ================================================================================ Loading
libs.win +1 −1 Original line number Diff line number Diff line # File: libs.win #binaries path: KICAD_BIN = /f/kicad/winexe KICAD_BIN = /f/kicad/bin Loading
pcbnew/plotps.cpp +33 −25 Original line number Diff line number Diff line Loading @@ -437,7 +437,7 @@ static void PrintDrillMark( BOARD* Pcb ) /* Draw a drill mark for pads and vias. * Must be called after all drawings, because it * redraw the drill mark on a pad or via * redraw the drill mark on a pad or via, as a negative (i.e. white) shape */ { const int SMALL_DRILL = 150; Loading @@ -458,7 +458,7 @@ static void PrintDrillMark( BOARD* Pcb ) diam.x = diam.y = (g_DrillShapeOpt == DRILL_MARK) ? SMALL_DRILL : g_DesignSettings.m_ViaDrill; for( pts = Pcb->m_Track; pts != NULL; pts = (TRACK*) pts->Pnext ) for( pts = Pcb->m_Track; pts != NULL; pts = pts->Next() ) { if( pts->Type() != TYPEVIA ) continue; Loading @@ -474,19 +474,27 @@ static void PrintDrillMark( BOARD* Pcb ) Module = Pcb->m_Modules; for( ; Module != NULL; Module = (MODULE*) Module->Pnext ) { PtPad = (D_PAD*) Module->m_Pads; for( ; PtPad != NULL; PtPad = (D_PAD*) PtPad->Pnext ) PtPad = Module->m_Pads; for( ; PtPad != NULL; PtPad = PtPad->Next() ) { if( PtPad->m_Drill.x == 0 ) continue; // calcul de la position des trous, selon echelle // Output hole shapes: pos = PtPad->m_Pos; diam.x = diam.y = (g_DrillShapeOpt == DRILL_MARK) ? SMALL_DRILL : if( PtPad->m_DrillShape == PAD_OVAL ) { diam = PtPad->m_Drill; trace_1_pastille_OVALE_POST( pos, diam, PtPad->m_Orient, FILLED ); } else { diam.x = (g_DrillShapeOpt == DRILL_MARK) ? SMALL_DRILL : PtPad->m_Drill.x; trace_1_pastille_RONDE_POST( pos, diam.x, FILLED ); } } } fprintf( dest, " 0 setgray\n" ); } Loading
pcbnew/zone_filling_algorithm.cpp +9 −3 Original line number Diff line number Diff line Loading @@ -673,7 +673,7 @@ bool WinEDA_PcbFrame::Genere_Pad_Connexion( wxDC* DC, int layer ) dy += abs( pt_pad->m_DeltaSize.x ) / 2; } /* calculate the 4 segment coordintes (starting from the pad centre cX,cY) */ /* calculate the 4 segment coordinates (starting from the pad centre cX,cY) */ sommet[0][0] = 0; sommet[0][1] = -dy; sommet[1][0] = -dx; sommet[1][1] = 0; sommet[2][0] = 0; sommet[2][1] = dy; Loading @@ -697,10 +697,16 @@ bool WinEDA_PcbFrame::Genere_Pad_Connexion( wxDC* DC, int layer ) /* Test if the segment is allowed */ if( BAD_DRC==m_drc->DrcBlind( pt_track, m_Pcb->m_Track ) ) { // Drc error, retry with a smaller width // because some drc errors are due to a track width > filling zone size. pt_track->m_Width = g_GridRoutingSize; if( BAD_DRC==m_drc->DrcBlind( pt_track, m_Pcb->m_Track ) ) { delete pt_track; continue; } } /* Search for a zone segment */ loctrack = Locate_Zone( m_Pcb->m_Zone, pt_track->m_End, layer ); Loading