Pcbnew: fix issues: Ensure pads type connector have a drill size= 0, like SMD pads. Ensure keepout zones have no net.
This commit is contained in:
parent
ccd9500bfb
commit
9d40727b4c
|
@ -7,9 +7,9 @@
|
|||
|
||||
#ifndef KICAD_BUILD_VERSION
|
||||
#if defined KICAD_GOST
|
||||
# define KICAD_BUILD_VERSION "(2013-mar-09 GOST)"
|
||||
# define KICAD_BUILD_VERSION "(2013-mar-10 GOST)"
|
||||
#else
|
||||
# define KICAD_BUILD_VERSION "(2013-mar-09)"
|
||||
# define KICAD_BUILD_VERSION "(2013-mar-10)"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -17,7 +17,7 @@
|
|||
|
||||
; General Product Description Definitions
|
||||
!define PRODUCT_NAME "KiCad"
|
||||
!define PRODUCT_VERSION "2013.03.09"
|
||||
!define PRODUCT_VERSION "2013.03.10"
|
||||
!define PRODUCT_WEB_SITE "http://iut-tice.ujf-grenoble.fr/kicad/"
|
||||
!define SOURCEFORGE_WEB_SITE "http://kicad.sourceforge.net/"
|
||||
!define COMPANY_NAME ""
|
||||
|
@ -36,7 +36,7 @@ SetCompressor /final /solid lzma
|
|||
CRCCheck force
|
||||
XPStyle on
|
||||
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
||||
OutFile "${PRODUCT_NAME}_stable-${PRODUCT_VERSION}-BZR3990_Win_full_version.exe"
|
||||
OutFile "${PRODUCT_NAME}_stable-${PRODUCT_VERSION}-BZR3992_Win_full_version.exe"
|
||||
InstallDir "$PROGRAMFILES\KiCad"
|
||||
ShowInstDetails hide
|
||||
ShowUnInstDetails hide
|
||||
|
|
|
@ -2375,6 +2375,14 @@ void LEGACY_PLUGIN::loadZONE_CONTAINER()
|
|||
|
||||
else if( TESTLINE( "$endCZONE_OUTLINE" ) )
|
||||
{
|
||||
// Ensure keepout does not have a net
|
||||
// (which have no sense for a keepout zone)
|
||||
if( zc->GetIsKeepout() )
|
||||
{
|
||||
zc->SetNet(0);
|
||||
zc->SetNetName( wxEmptyString );
|
||||
}
|
||||
|
||||
// should always occur, but who knows, a zone without two corners
|
||||
// is no zone at all, it's a spot?
|
||||
|
||||
|
|
|
@ -2004,11 +2004,16 @@ D_PAD* PCB_PARSER::parseD_PAD() throw( IO_ERROR, PARSE_ERROR )
|
|||
pad->SetAttribute( PAD_SMD );
|
||||
|
||||
// Default D_PAD object is thru hole with drill.
|
||||
// SMD pads have no hole
|
||||
pad->SetDrillSize( wxSize( 0, 0 ) );
|
||||
break;
|
||||
|
||||
case T_connect:
|
||||
pad->SetAttribute( PAD_CONN );
|
||||
|
||||
// Default D_PAD object is thru hole with drill.
|
||||
// CONN pads have no hole
|
||||
pad->SetDrillSize( wxSize( 0, 0 ) );
|
||||
break;
|
||||
|
||||
case T_np_thru_hole:
|
||||
|
@ -2136,8 +2141,8 @@ D_PAD* PCB_PARSER::parseD_PAD() throw( IO_ERROR, PARSE_ERROR )
|
|||
// This fixes a bug caused by setting the default D_PAD drill size to a value
|
||||
// other than 0 used to fix a bunch of debug assertions even though it is defined
|
||||
// as a through hole pad. Wouldn't a though hole pad with no drill be a surface
|
||||
// mount pad?
|
||||
if( pad->GetAttribute() != PAD_SMD )
|
||||
// mount pad (or a conn pad which is a smd pad with no solder paste)?
|
||||
if( ( pad->GetAttribute() != PAD_SMD ) && ( pad->GetAttribute() != PAD_CONN ) )
|
||||
pad->SetDrillSize( drillSize );
|
||||
else
|
||||
pad->SetDrillSize( wxSize( 0, 0 ) );
|
||||
|
@ -2667,6 +2672,13 @@ ZONE_CONTAINER* PCB_PARSER::parseZONE_CONTAINER() throw( IO_ERROR, PARSE_ERROR )
|
|||
if( pts.size() )
|
||||
zone->AddFilledPolysList( pts );
|
||||
|
||||
// Ensure keepout does not have a net (which have no sense for a keepout zone)
|
||||
if( zone->GetIsKeepout() )
|
||||
{
|
||||
zone->SetNet(0);
|
||||
zone->SetNetName( wxEmptyString );
|
||||
}
|
||||
|
||||
return zone.release();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue