Re: gEDA-user: pcb commands to automatically select, cut, rotate, and paste elements

2011-02-25 Thread Stephan Boettcher
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

2011-02-23 Thread John Griessen

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

2011-02-23 Thread Kai-Martin Knaak
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

2011-02-23 Thread Mark Rages
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

2011-02-23 Thread Peter Clifton
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

2011-02-23 Thread Stephan Boettcher
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

2011-02-23 Thread Colin D Bennett
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

2011-02-23 Thread Ben Jackson
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

2011-02-23 Thread Colin D Bennett
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

2011-02-23 Thread DJ Delorie

> 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

2011-02-23 Thread Mark Rages
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

2011-02-23 Thread Colin D Bennett
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

2011-02-23 Thread DJ Delorie

> 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

2011-02-23 Thread Kai-Martin Knaak
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

2011-02-23 Thread DJ Delorie

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

2011-02-23 Thread Colin D Bennett
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