Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
Kai-Martin Knaak writes: > Stephan Boettcher wrote: > >> For example the outline of the board on the attached picture > > This looks nice. > How about a Ben mode rendered image of this layout on the gallery > of gpleda.org? (Ideally augmented with the shadow effect of image > magick) Since you asked: All six boards for the sensor head of MSL RAD were done with gEDA/PCB: http://www.ieap.uni-kiel.de/et/msl/pictures/photos/rsh/PF/pcbs/TFlex/IMG_1285_800x600.html http://www.ieap.uni-kiel.de/et/msl/pictures/photos/rsh/FM/D/IMG_0208_800x600.html http://www.ieap.uni-kiel.de/et/msl/pictures/photos/rsh/FM/DE/IMG_0368_800x600.html http://www.ieap.uni-kiel.de/et/msl/pictures/photos/rsh/FM/F/IMG_0586_800x600.html http://www.ieap.uni-kiel.de/et/msl/pictures/photos/rsh/FM/ABCDEF/IMG_0811_800x600.html http://www.ieap.uni-kiel.de/et/msl/pictures/photos/rsh/FM/ABCDEF/IMG_0812_800x600.html http://en.wikipedia.org/wiki/Mars_Science_Laboratory#Radiation_Assessment_Detector_.28RAD.29 > >> (which will launch into space later this year to land on Mars) > > Hey, this increasingly becomes a flock of rocket scientists! > John Doty does space projects. Yours is going to mars. And my > current project will enjoy a short flight in an ESA rocket. > > ---<)kaimartin(>--- -- Stephan Böttcher FAX: +49-431-85660 Extraterrestrische PhysikTel: +49-431-880-2508 I.f.Exp.u.Angew.Physik mailto:boettc...@physik.uni-kiel.de Leibnizstr. 11, 24118 Kiel, Germany ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
On 02/23/2011 03:49 PM, Stephan Boettcher wrote: For example the outline of the board on the attached picture Looks like a sea urchin! Yay non-GUI! JG ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
Stephan Boettcher wrote: > For example the outline of the board on the attached picture This looks nice. How about a Ben mode rendered image of this layout on the gallery of gpleda.org? (Ideally augmented with the shadow effect of image magick) > (which will launch into space later this year to land on Mars) Hey, this increasingly becomes a flock of rocket scientists! John Doty does space projects. Yours is going to mars. And my current project will enjoy a short flight in an ESA rocket. ---<)kaimartin(>--- -- Kai-Martin Knaak Email: k...@familieknaak.de Öffentlicher PGP-Schlüssel: http://pool.sks-keyservers.net:11371/pks/lookup?search=0x6C0B9F53 ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
On Wed, Feb 23, 2011 at 3:49 PM, Stephan Boettcher wrote: > Mark Rages writes: > >> You would be wise to avoid PCB for anything non-rectangular. It is >> exceedingly painful. > > I do recommend pcb for anything non-rectangular. The arcs can be nicely > done in gnumeric, python, awk, whatever. With a gui this will be > difficult. > > For example the outline of the board on the attached picture (which will > launch into space later this year to land on Mars) > It looks nice. I notice you did not use any curved traces, and except for outline and three components (hall sensors?) everything is rectilinear. A GUI can easily accomodate arcs if we teach it about concepts from mechanical 2D CAD: trim, extend, offset. I first learned this way of drawing twenty years ago in AutoCAD, but they are ink-and-paper concepts. I don't think their application to PCB would be hard to do. I got started in on it, but I got stuck on a trivial problem and can't get anyone's attention who might help me.[1] Anyway, other tools are not much better. When it became clear that PCB wasn't going to work out, I switched to a Windows program called "Altium." Altium's pcb layout is only slightly better, but not worth the thousands of dollars we paid for it. Regards, Mark markrages@gmail [1] http://permalink.gmane.org/gmane.comp.cad.geda.user/35369 -- Mark Rages, Engineer Midwest Telecine LLC markra...@midwesttelecine.com ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
On Wed, 2011-02-23 at 13:20 -0800, Colin D Bennett wrote: > On Wed, 23 Feb 2011 22:14:49 +0100 > Kai-Martin Knaak wrote: > > > DJ Delorie wrote: > > > > > Or write a plugin that does a MoveComponent() > > > > A MoveComponent() action would be a major step toward general > > scriptability. IMHO, this should be part of the core, not as a > > volatile plugin. > > Is there some dbus support for controlling pcb? I noticed the > following entry in the output of pcb's 'configure --help': > > --enable-dbus Enable DBUS IPC > > It would be neat if one could use Python or Perl another similar > language to script pcb through IPC. See xgsch2pcb sourcecode for how to do this. It currently just exports a couple of methods for querying what PCB instances have which board files open (so you can pick the right one to talk to), and to execute action strings. You could be able to script PCB using the command line tool dbus-send -- Peter Clifton Electrical Engineering Division, Engineering Department, University of Cambridge, 9, JJ Thomson Avenue, Cambridge CB3 0FA Tel: +44 (0)7729 980173 - (No signal in the lab!) Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me) signature.asc Description: This is a digitally signed message part ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
Mark Rages writes: > You would be wise to avoid PCB for anything non-rectangular. It is > exceedingly painful. I do recommend pcb for anything non-rectangular. The arcs can be nicely done in gnumeric, python, awk, whatever. With a gui this will be difficult. For example the outline of the board on the attached picture (which will launch into space later this year to land on Mars) RADE_front.pdf Description: Adobe PDF document -- Stephan ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
On Wed, 23 Feb 2011 16:18:48 -0500 DJ Delorie wrote: > > A MoveComponent() action would be a major step toward general > > scriptability. IMHO, this should be part of the core, not as a > > volatile plugin. > > If you'd like to do the patch, go for it. Otherwise, a plugin gets > him a solution faster, and it can be merged into the core later. For now, the partially manual process of 1. Click center of element 2. Press Ctrl+X 3. Press ":" and then paste the proper rotate/paste-at command string generated by the spreadsheet is satisfactory for me, so don't go out of your way to implement this for me right now. I just got excited when I thought I could completely automate the whole process, but practically speaking, the partial automation makes the job 90% perfect. Regards, Colin ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
On Wed, Feb 23, 2011 at 04:18:48PM -0500, DJ Delorie wrote: > > > A MoveComponent() action would be a major step toward general > > scriptability. IMHO, this should be part of the core, not as a > > volatile plugin. > > If you'd like to do the patch, go for it. Otherwise, a plugin gets > him a solution faster, and it can be merged into the core later. The bulk of the solution may be in my autocrop plugin: It knows how to move everything. -- Ben Jackson AD7GD http://www.ben.com/ ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
On Wed, 23 Feb 2011 22:14:49 +0100 Kai-Martin Knaak wrote: > DJ Delorie wrote: > > > Or write a plugin that does a MoveComponent() > > A MoveComponent() action would be a major step toward general > scriptability. IMHO, this should be part of the core, not as a > volatile plugin. Is there some dbus support for controlling pcb? I noticed the following entry in the output of pcb's 'configure --help': --enable-dbus Enable DBUS IPC It would be neat if one could use Python or Perl another similar language to script pcb through IPC. Regards, Colin ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
> How exactly does one put them on the board in the right place without > doing it manually for each element? Like this... LoadFrom(Layout,powermeter-blank.pcb) LoadFrom(LayoutToBuffer,channel1.pcb) . . . PasteBuffer(ToLayout,0,3) RenumberBuffer(0,10) PasteBuffer(ToLayout,0,8) RenumberBuffer(0,10) PasteBuffer(ToLayout,0,13) . . . SaveTo(LayoutAs,djtest.pcb) Quit() There's a way to load footprints too, and the importer uses actions to give them names and stuff using ElementSetAttr(). ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
On Wed, Feb 23, 2011 at 2:24 PM, Colin D Bennett wrote: > I'm trying to make a board with a moderate number of LEDs arranged in > concentric circles. To do this, I am trying to formulate a pcb command > script that will perform all the necessary operations to do this. > > The basics are working, but I cannot figure out how to indicate the > "reference point" when I'm cutting an element to the paste buffer. I > think the script commands are using my mouse position as the reference > point... ? > > Here's the basic sequence of commands I have generated (through a > spreadsheet) to place each LED. Initially, the LEDs are just dispersed > randomly on the layout. Then the script will find and properly place > each LED based on its refdes. > > - > Select(ElementByName, D202) > PasteBuffer(Clear) > PasteBuffer(AddSelected) > RemoveSelected() > FreeRotateBuffer(330.00) > PasteBuffer(ToLayout, 5059, 2600, mil) What you're trying to do will be very hard to do with pcb commands. The commands are only good for doing certain preordained actions. Not for general things like placing components. Another trap: You might want to connect your circles of LEDs with arcs. Be advised that pcb affers no facilities for editing arcs. You would be wise to avoid PCB for anything non-rectangular. It is exceedingly painful. Regards, Mark markrages@gmail -- Mark Rages, Engineer Midwest Telecine LLC markra...@midwesttelecine.com ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
On Wed, 23 Feb 2011 15:36:58 -0500 DJ Delorie wrote: > > If you know where each LED goes, why not put them on the board in the > right place, instead of dispersing them then moving them? Then you > know where the Paste() reference is. How exactly does one put them on the board in the right place without doing it manually for each element? At this point I don't have time to write an enhancement to pcb for this, so I might just have to manually select and cut each part; maybe if I do that I can still use the rotate/paste commands to automate part of the process. I guess the alternative would be to write a Perl or Python program to manipulate the .pcb-file contents itself as text to arrange the elements as required. Unfortunately, after looking at a test .pcb file with rotated elements, it appears that pcb does not simply store the rotation angle of an element, but instead stores the element's pads and silk lines with completely transformed coordinates... that means I can't just change the coordinates and rotation value in the .pcb file text as I had hoped. Regards, Colin ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
> A MoveComponent() action would be a major step toward general > scriptability. IMHO, this should be part of the core, not as a > volatile plugin. If you'd like to do the patch, go for it. Otherwise, a plugin gets him a solution faster, and it can be merged into the core later. ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
DJ Delorie wrote: > Or write a plugin that does a MoveComponent() A MoveComponent() action would be a major step toward general scriptability. IMHO, this should be part of the core, not as a volatile plugin. ---<)kaimartin(>--- -- Kai-Martin Knaak Email: k...@familieknaak.de Öffentlicher PGP-Schlüssel: http://pool.sks-keyservers.net:11371/pks/lookup?search=0x6C0B9F53 ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
If you know where each LED goes, why not put them on the board in the right place, instead of dispersing them then moving them? Then you know where the Paste() reference is. Or write a plugin that does a MoveComponent() :-) ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements
I'm trying to make a board with a moderate number of LEDs arranged in concentric circles. To do this, I am trying to formulate a pcb command script that will perform all the necessary operations to do this. The basics are working, but I cannot figure out how to indicate the "reference point" when I'm cutting an element to the paste buffer. I think the script commands are using my mouse position as the reference point... ? Here's the basic sequence of commands I have generated (through a spreadsheet) to place each LED. Initially, the LEDs are just dispersed randomly on the layout. Then the script will find and properly place each LED based on its refdes. - Select(ElementByName, D202) PasteBuffer(Clear) PasteBuffer(AddSelected) RemoveSelected() FreeRotateBuffer(330.00) PasteBuffer(ToLayout, 5059, 2600, mil) - What I can't figure out is how to cause the "PasteBuffer(AddSelected)" command to use the center of the component that was found by "Select(...)" as the reference point that will be used to allow it to be pasted at exactly the point (5059 mil, 2600 mil). You can see the problem if you manually execute the commands before PasteBuffer(ToLayout,...) and then choose the Buffer tool, the element is way far away from where you place the mouse cursor. The closest thing I've found in the pcb manual to what I need is the gtk HID command "Cursor" but I see no way to have it put the cursor at the position of Select()'ed element. Thanks! Regards, Colin ___ geda-user mailing list geda-user@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user