Move zone connection filler out of AC

New algorithm to prevent zone fills that are smaller than the minimum
copper width.
This commit is contained in:
Seth Hillbrand 2024-08-28 09:04:51 -07:00
parent 00f7ae2a20
commit 86c0aec468
4 changed files with 3 additions and 23 deletions

View File

@ -116,8 +116,6 @@ static const wxChar EnableAPILogging[] = wxT( "EnableAPILogging" );
static const wxChar MaxFileSystemWatchers[] = wxT( "MaxFileSystemWatchers" ); static const wxChar MaxFileSystemWatchers[] = wxT( "MaxFileSystemWatchers" );
static const wxChar MinorSchematicGraphSize[] = wxT( "MinorSchematicGraphSize" ); static const wxChar MinorSchematicGraphSize[] = wxT( "MinorSchematicGraphSize" );
static const wxChar ResolveTextRecursionDepth[] = wxT( "ResolveTextRecursionDepth" ); static const wxChar ResolveTextRecursionDepth[] = wxT( "ResolveTextRecursionDepth" );
static const wxChar ZoneConnectionFiller[] = wxT( "ZoneConnectionFiller" );
} // namespace KEYS } // namespace KEYS
@ -280,8 +278,6 @@ ADVANCED_CFG::ADVANCED_CFG()
m_ResolveTextRecursionDepth = 3; m_ResolveTextRecursionDepth = 3;
m_ZoneConnectionFiller = false;
loadFromConfigFile(); loadFromConfigFile();
} }
@ -522,9 +518,6 @@ void ADVANCED_CFG::loadSettings( wxConfigBase& aCfg )
&m_ResolveTextRecursionDepth, &m_ResolveTextRecursionDepth,
m_ResolveTextRecursionDepth, 0, 10 ) ); m_ResolveTextRecursionDepth, 0, 10 ) );
configParams.push_back( new PARAM_CFG_BOOL( true, AC_KEYS::ZoneConnectionFiller,
&m_ZoneConnectionFiller, m_ZoneConnectionFiller ) );
// Special case for trace mask setting...we just grab them and set them immediately // Special case for trace mask setting...we just grab them and set them immediately
// Because we even use wxLogTrace inside of advanced config // Because we even use wxLogTrace inside of advanced config
wxString traceMasks; wxString traceMasks;

View File

@ -635,15 +635,6 @@ public:
*/ */
int m_ResolveTextRecursionDepth; int m_ResolveTextRecursionDepth;
/**
* Use the new zone-connection fill routine
*
* Setting name: "ZoneConnectionFiller"
* Valid values: true or false
* Default value: false
*/
bool m_ZoneConnectionFiller;
///@} ///@}
private: private:

View File

@ -1819,12 +1819,8 @@ bool ZONE_FILLER::fillCopperZone( const ZONE* aZone, PCB_LAYER_ID aLayer, PCB_LA
/* ------------------------------------------------------------------------------------- /* -------------------------------------------------------------------------------------
* Connect nearby polygons * Connect nearby polygons
*/ */
aFillPolys.Fracture( SHAPE_POLY_SET::PM_FAST );
if( ADVANCED_CFG::GetCfg().m_ZoneConnectionFiller ) connect_nearby_polys( aFillPolys, aZone->GetMinThickness() );
{
aFillPolys.Fracture( SHAPE_POLY_SET::PM_FAST );
connect_nearby_polys( aFillPolys, aZone->GetMinThickness() );
}
DUMP_POLYS_TO_COPPER_LAYER( aFillPolys, In10_Cu, wxT( "connected-nearby-polys" ) ); DUMP_POLYS_TO_COPPER_LAYER( aFillPolys, In10_Cu, wxT( "connected-nearby-polys" ) );
} }

View File

@ -50,7 +50,7 @@ BOOST_FIXTURE_TEST_CASE( DRCCopperConn, DRC_REGRESSION_TEST_FIXTURE )
std::vector<std::pair<wxString, int>> tests = std::vector<std::pair<wxString, int>> tests =
{ {
{ "issue9870", 13 }, { "issue9870", 12 },
{ "connection_width_rules", 3 }, { "connection_width_rules", 3 },
{ "issue12831", 0 }, { "issue12831", 0 },
{ "issue14130", 1 } { "issue14130", 1 }