Commit b9f9d539 authored by dickelbeck's avatar dickelbeck

more amazing free specctra software

parent 4a0b5607
...@@ -5,6 +5,21 @@ Started 2007-June-11 ...@@ -5,6 +5,21 @@ Started 2007-June-11
Please add newer entries at the top, list the date and your name with Please add newer entries at the top, list the date and your name with
email address. email address.
2008-Jan-29 UPDATE Dick Hollenbeck <dick@softplc.com>
================================================================================
+pcbnew:
SPECCTRA export now exports pads with offset OK, exports oval pads OK,
and tries to do less with pcb edges that are not a connected set of lines,
putting the burden back on the PCBNEW user to have clean perimeter lines.
Discovered that freerouter does not support oval pads yet, asked
for enhancement. Discovered a small problem if you modify a PAD in
the MODULE editor but do not replicate that change throughout all module
instances in the board. Is on my @todo list. Otherwise it is getting pretty
good now. Most boards load into freerouter, except mine, which if exported
with part numbers, hangs the freerouter! I may be away for a few days doing
billable work, after which I will begin the 2 imports, *.dsn and *.ses.
2008-Jan-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> 2008-Jan-31 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr>
================================================================================ ================================================================================
+pcbnew: +pcbnew:
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
Wide use is made of boost::ptr_vector<> and std::vector<> template classes. Wide use is made of boost::ptr_vector<> and std::vector<> template classes.
If the contained object is small, then std::vector tends to be used. If the contained object is small, then std::vector tends to be used.
If the contained object is large, variable size, or would require writing If the contained object is large, variable size, or would require writing
an assignment operator() or copy constructore, then boost::ptr_vector an assignment operator() or copy constructor, then boost::ptr_vector
cannot be beat. cannot be beat.
*/ */
......
...@@ -695,19 +695,19 @@ public: ...@@ -695,19 +695,19 @@ public:
const char* quote = out->GetQuoteChar( layer_id.c_str() ); const char* quote = out->GetQuoteChar( layer_id.c_str() );
const int RIGHTMARGIN = 80; const int RIGHTMARGIN = 70;
int perLine = out->Print( nestLevel, "(%s %s%s%s %.6g", int perLine = out->Print( nestLevel, "(%s %s%s%s %.6g",
LEXER::GetTokenText( Type() ), LEXER::GetTokenText( Type() ),
quote, layer_id.c_str(), quote, quote, layer_id.c_str(), quote,
aperture_width ); aperture_width );
int wrapNest = MAX( nestLevel+1, 6 );
for( unsigned i=0; i<points.size(); ++i ) for( unsigned i=0; i<points.size(); ++i )
{ {
if( perLine > RIGHTMARGIN ) if( perLine > RIGHTMARGIN )
{ {
out->Print( 0, "\n" ); out->Print( 0, "\n" );
perLine = out->Print( nestLevel+1, "%s", "" ); perLine = out->Print( wrapNest, "%s", "" );
newline = "\n";
} }
else else
perLine += out->Print( 0, " " ); perLine += out->Print( 0, " " );
...@@ -717,11 +717,10 @@ public: ...@@ -717,11 +717,10 @@ public:
if( aperture_type == T_square ) if( aperture_type == T_square )
{ {
out->Print( 0, "\n" ); out->Print( 0, "(aperture_type square)" );
out->Print( nestLevel+1, "(aperture_type square))\n" );
} }
else
out->Print( 0, ")%s", newline ); out->Print( 0, ")%s", newline );
} }
}; };
typedef boost::ptr_vector<PATH> PATHS; typedef boost::ptr_vector<PATH> PATHS;
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment