X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Cam-AntiVirus: no malware found X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/ Message-ID: <1431386490.2980.28.camel@cam.ac.uk> Subject: [geda-user] Using gerbv for assisting manual placement tasks From: Peter Clifton To: geda-user AT delorie DOT com Date: Tue, 12 May 2015 00:21:30 +0100 Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.11-0ubuntu3 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Reply-To: geda-user AT delorie DOT com Hi All, Had an interesting day playing with manual SMD placement. In this case, I was working from Gerber data, and not gEDA files, so did not have particularly good tools to help figure out what parts to place next.. or where exactly R223 is, on a board where most of the components have poor silk-screen legibility due to vias etc.. SO, I spent a couple of hours bashing out some proof of concept (get me working ASAP) code that extends gerbv to manage lists of parts for placement. The results were very gratifying, and I think it is worth cleaning this feature up to make it more polished. As gerbv already understands PCB's XY files, I munged the SMT placement data I had (from OrCAD) into that format, and loaded the result into gerbv. From this point, I populated a 3-layer deep tree-view grouped by "footprint -> value -> refdes", and displayed this in a tab in the left-hand side-bar of gerbv. The basic functionality is then: "select component in list" -> Crosshair indicates its position on top of any gerber files loaded. "double click", or press "enter" on a component (or group tree item), it is struck through to indicate I've placed it. I'm planning (with time), to extend functionality to allow saving out of the placed/unplaced status, and perhaps adding comments fields to document the "stuffed 100K || 100K in place of called out 50k" etc... With the initial kludge code, my SMT placement productivity jumped from ~0, to fairly high. Anyone else think this might be useful to them... Anyone already have a better solution? FWIW, I also wrote some simple kludge "need it now" code, to spit out info to drive a CNC solder-paste dispenser based upon a solder-mask gerber layer. I'm considering adding a tool in gerbv to read/write these files directly (current code is just a hacked together exporter for the RS274-X gerber layer). To do this properly would need a tool adding to allow defining of the fiducual positions required to train its X-Y axis offsets and calibrations and place paste accurately. (Initial data for paste placement would be converted from the solderpaste layer, as I did in my hack). Kind regards, -- Peter Clifton Clifton Electronics