X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Envelope-From: paubert AT iram DOT es Date: Sat, 7 Jul 2012 13:30:22 +0200 From: Gabriel Paubert To: geda-user AT delorie DOT com Subject: Re: [geda-user] [PATCH] Allow to create metric Gerber and drill files, hopefully final version. Message-ID: <20120707113022.GA17782@visitor2.iram.es> References: <20120703140236 DOT GA12646 AT visitor2 DOT iram DOT es> <20120705101614 DOT GA19974 AT visitor2 DOT iram DOT es> <20120706202633 DOT GA28355 AT malakian DOT lan> <20120706213340 DOT GA30622 AT visitor2 DOT iram DOT es> <20120707104156 DOT 17641 DOT qmail AT stuge DOT se> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120707104156.17641.qmail@stuge.se> User-Agent: Mutt/1.5.20 (2009-06-14) X-SPF-Received: 2 X-Spamina-Bogosity: Unsure X-Spam-Score: -4.4 (----) X-Spam-Report: Content analysis details: (-4.4 points) pts rule name description ---- ---------------------- -------------------------------------------------- -1.8 ALL_TRUSTED Passed through trusted hosts only via SMTP -2.6 BAYES_00 BODY: Bayesian spam probability is 0 to 1% [score: 0.0003] Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sat, Jul 07, 2012 at 12:41:56PM +0200, Peter Stuge wrote: > Gabriel Paubert wrote: > > @@ -668,7 +695,7 @@ gerber_set_layer (const char *name, int group, int empty) > > } > > /* Notice the last zeroes are literal zeroes here, a * > > * x10 scale factor. v v */ > > - pcb_fprintf (f, "X%06.0ml0Y%06.0ml0\r\n", > > + pcb_fprintf (f, metric ? "X%06.0muY%06.0mu\r\n" : "X%06.0ml0Y%06.0ml0\r\n", > > gerberDrX (PCB, pending_drills[i].x), > > gerberDrY (PCB, pending_drills[i].y)); > > It seems there is a whitespace error in this hunk. Surprising, but I'll check. (I'm not on the machine with the git repository right now). > > > > @@ -996,13 +1025,13 @@ gerber_draw_line (hidGC gc, Coord x1, Coord y1, Coord x2, Coord y2) > > { > > m = true; > > lastX = x1; > > - pcb_fprintf (f, "X%.0mc", gerberX (PCB, lastX)); > > + print_xcoord (f, PCB, lastX); > > } > > if (y1 != lastY) > > { > > m = true; > > lastY = y1; > > - pcb_fprintf (f, "Y%.0mc", gerberY (PCB, lastY)); > > + print_ycoord (f, PCB, lastY); > > } > > if ((x1 == x2) && (y1 == y2)) > > fprintf (f, "D03*\r\n"); > > What exactly is the relation between pcb_fprintf() -> print_*coord() > in the context of enabling the mm/imp option? > > print_*coord() don't seem to be conditional on the setting anyway, so > could that change be moved to a separate commit, preceding the one > that adds the mm option? I don't think so: when the option is parsed 3 static variables are set: metric, x_convspec, and y_convspec. print_?coord uses ?_convspec, this avoids tests of the metric boolean in the generated code, there are already enough ternary ?: operators on metric. The macro was not strictly necessary, but this limits the number of redundancies in every line ?_convspec, gerber?. These are always the source of cut and paste errors. Gabriel > > > //Peter