specctra_export supports interior polygons and circles on the Edge.Cuts layer.

Interior regions on Edge.Cuts are out as keepouts for specctra DSN file
and downstream routers.  Point to point matching during polygon assembly
can have individual thresholds, one for board edge and another for interior polygons.
This is more forgiving for sloppy graphical mousers, or those that work without
grid snap on.  Currently the threshold for board edge is at zero, meaning the
board edge has to be precisely defined as a polygon, just as before.  But it
is easily tunable for experimentation.
This commit is contained in:
Dr. Thomas Spindler 2013-04-30 10:25:41 -05:00 committed by Dick Hollenbeck
parent f50f31e5a3
commit f8f35a8cd0
2 changed files with 604 additions and 288 deletions

View File

@ -3704,14 +3704,14 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
//-----<FromBOARD>-------------------------------------------------------
/**
* Function makeBOUNDARY
* makes the board perimeter for the DSN file.
* Function fillBOUNDARY
* makes the board perimeter for the DSN file by filling the BOUNDARY element
* in the specctra element tree.
* @param aBoard The BOARD to get information from in order to make the BOUNDARY.
* @param aBoundary The empty BOUNDARY to fill in.
*/
void fillBOUNDARY( BOARD* aBoard, BOUNDARY* aBoundary ) throw( IO_ERROR );
/**
* Function makeIMAGE
* allocates an IMAGE on the heap and creates all the PINs according
@ -3722,7 +3722,6 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
*/
IMAGE* makeIMAGE( BOARD* aBoard, MODULE* aModule );
/**
* Function makePADSTACK
* creates a PADSTACK which matches the given pad. Only pads which do not
@ -3755,7 +3754,6 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
*/
PADSTACK* makeVia( const SEGVIA* aVia );
/**
* Function deleteNETs
* deletes all the NETs that may be in here.
@ -3768,14 +3766,12 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
nets.clear();
}
/**
* Function exportNETCLASS
* exports \a aNetClass to the DSN file.
*/
void exportNETCLASS( NETCLASS* aNetClass, BOARD* aBoard );
//-----</FromBOARD>------------------------------------------------------
//-----<FromSESSION>-----------------------------------------------------
@ -3786,7 +3782,6 @@ class SPECCTRA_DB : public SPECCTRA_LEXER
*/
TRACK* makeTRACK( PATH* aPath, int aPointIndex, int aNetcode ) throw( IO_ERROR );
/**
* Function makeVIA
* instantiates a KiCad SEGVIA on the heap and initializes it with internal
@ -3847,7 +3842,6 @@ public:
}
SESSION* GetSESSION() { return session; }
/**
* Function LoadPCB
* is a recursive descent parser for a SPECCTRA DSN "design" file.
@ -3859,7 +3853,6 @@ public:
*/
void LoadPCB( const wxString& filename ) throw( IO_ERROR );
/**
* Function LoadSESSION
* is a recursive descent parser for a SPECCTRA DSN "session" file.
@ -3872,10 +3865,8 @@ public:
*/
void LoadSESSION( const wxString& filename ) throw( IO_ERROR );
void ThrowIOError( const wxChar* fmt, ... ) throw( IO_ERROR );
/**
* Function ExportPCB
* writes the internal PCB instance out as a SPECTRA DSN format file.
@ -3887,7 +3878,6 @@ public:
*/
void ExportPCB( wxString aFilename, bool aNameChange=false ) throw( IO_ERROR );
/**
* Function FromBOARD
* adds the entire BOARD to the PCB but does not write it out. Note that

File diff suppressed because it is too large Load Diff