Re: gEDA-user: Soft and Hard symbols

2011-01-18 Thread al davis

 On Fri, 2011-01-14 at 21:14 -0500, al davis wrote:
I don't know where that is done, or if it is done 
  in a form that would be useful here, or whether there
  exists the  code to go the other way (generate a schematic
  given a netlist and rendering info) which is equally
  needed.

On Saturday 15 January 2011, Peter Clifton wrote:
 Not done. Would be nice though - but I'd rate it of similar
 complexity to a board auto-router. (Not as rigidly
 constrained topologically, but to do well would require a
 decent auto-place, and a decent auto-router - even if the
 rules are different to that used with a PCB).

Ah .. but I said and rendering info.

Generating a schematic from a netlist without the rendering 
info, you are absolutely correct.

But that's where the rendering info comes in.  It tells where 
to place and route in a portable way.

Where does the rendering info come from?

Mostly, it would be saved when you convert a schematic to a 
netlist.  That way it is available when you convert it back, so 
when you make a round trip you get the same schematic you had 
before.  Or, if you made some changes in the netlist you get the 
schematic with the changes.  You might need to move the new 
stuff for looks, but it would at least be functional.

Or, convert one kind of schematic, saving the rendering info in 
a portable way, and write it out as another kind of schematic.  
That's the translation facility.


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: gschem: How to set the margin for printing?

2011-01-18 Thread Colin D Bennett
On Mon, 17 Jan 2011 17:43:13 -0600
John Griessen j...@ecosensory.com wrote:

 On 01/17/2011 12:47 AM, Colin D Bennett wrote:
  It seems bad to force the drawing to be designed for a specific
  printer and page (thus margin in paper space units) size.
 
 It also seems bad for printers to not print all they are given,
 when they are given a standard page size they are advertised
 to print on.

You are right; it's unfortunate that printers are usually not
physically capable of printing on the entire page for the intended
paper size. However, given that this is a widespread restriction, there
are really only two options for the printer when you ask it to print a
document on a particular size page - it has to scale the image or it
has to crop it to the printable area.  I think that scaling the
document without asking the user's permission first is the worst
possible option since many documents must be printed at the scale that
the application generates them, and a user might not notice a slightly
altered scale until too late (i.e., a PCB layout printed with scale off
by 5%... it would be bad to find this out after fabricating the boards
and applying solder paste...).

 So that is my work around.

Sorry, I do appreciate you sharing your workaround.  I just wanted to
point out that this is a serious bug and tailoring drawings to
particular paper/margin sizes isn't something that we should have to
use long-term.

Regards,
Colin


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: .sch primitive ordering [was: Collaborative Development of Boards]

2011-01-18 Thread Peter TB Brett
On Tuesday 18 January 2011 01:00:32 John Doty wrote:

  Example: Create square with solid background. Create smaller circle
  with hashed background, set to a different colour.  Move circle on
  top of square. Obviously, if z-order is not preserved through save
  and load, this will be rendered incorrectly. See attached
  schematic.
 
 OK, that's a good point. But there's no easy way to control this in
 gschem. Is it a feature, or merely accident? Should there be pull
 forward and push backward commands?

Yes, along with to back and to front commands.  These are missing 
features, just like path drawing commands.

To me, this is one of those capabilities that's totally utterly useless 
99.9% of the time, but can't-finish-drawing-without-it the other 0.1%.  
If an alternative and obviously-superior algorithm for choosing drawing 
order was suggested, it wouldn't be a big deal to me.

 Peter


-- 
Peter Brett pe...@peter-b.co.uk
Remote Sensing Research Group
Surrey Space Centre


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: .sch primitive ordering [was: Collaborative Development of Boards]

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 10:00 +0900, John Doty wrote:

 OK, that's a good point. But there's no easy way to control this in
 gschem. Is it a feature, or merely accident? Should there be pull
 forward and push backward commands?

It is half and half. It became more useful with the addition of filled
paths, and as you suggest - we ought to introduce some user control over
the z-order.

(Goes to file a feature request about that now).

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: .sch primitive ordering [was: Collaborative Development of Boards]

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 13:03 +, Peter Clifton wrote:
 On Tue, 2011-01-18 at 10:00 +0900, John Doty wrote:

 (Goes to file a feature request about that now).

https://bugs.launchpad.net/geda/+bug/704407

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 00:41 -0500, George M. Gallant, Jr. wrote:
 The git/compile went fine. Using the newly built pcb gets a segfault
[ggallant@firefly pcb]$ pcb phm.pcb
Something strange here
Segmentation fault (core dumped)
Some other pcb projects were able to get loaded but their existing
polygons
did not display. Creating a new rectangle on the empty ground layer
segfaults.
System is up to date 64-bit Fedora 13.
George
On 01/17/2011 03:19 PM, Kai-Martin Knaak wrote:
 
 George M. Gallant, Jr. wrote:

Is phm.pcb a file you can send me off list?

cd into the pcb checkout you made, and type:

git rev-parse HEAD

Please past\e the returned string, so I know exactly what version you're
trying with.

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Collaborative Development of Boards

2011-01-18 Thread Peter Clifton
On Mon, 2011-01-17 at 18:56 -0600, John Griessen wrote:

 I thought about this some more after sleeping last night, and what Markus
 is probably asking for is a position range sensitive diff or auto-merge.
 
 When people make changes in PCB that can be merged, it means they are
 working in different places, zones, quadrants...  IOW if you could
 say easily *where* you were working was different and not overlapping
 another's work, an auto-merge would work -- if it only over-rode layout
 traces and footprints in the limited zone of the change made...
 
 tag for this concept:  zone-diff

That is a good idea indeed. Could you file a feature request for it
please?

https://launchpad.net/pcb/+filebug

I would have called it spatial-merge ;)

 John

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Soft and Hard symbols

2011-01-18 Thread Stephan Boettcher
Peter Clifton pc...@cam.ac.uk writes:

 On Tue, 2011-01-18 at 16:05 +0900, John Doty wrote:

 Note that there's a bit of terminology confusion. gschem actually
 manipulates segments of nets (other tools sometimes call these
 wires), while net in EE theory is usually a topological whole,
 where the connection is assumed to be structureless.

 wires is a useful distinction here, although it sounds like it implies
 something physical. I'll try to call them net segments from now on.

 Sometimes a gnetlist backend might wish to request the connectivity of a
 net (the topological whole). IMO libgeda should be able to provide that.
 (A library or convenience function if you will).

It does not happen very often, but in this point my opinion disagrees
with John's, I think.  The whole point of libgeda and gnetlist is to
express connectivity between pins.  Machine-interpreting meaning into
the details of the individual net segments is a confusing concept, that
should not be encouraged by the tools.  If such things need to be
expressed, I'd introduce a new type of symbol, and teach the gnetlist
backend that needs those semantics to treat both/all connections to that
symbol as the same net, but with different attributes.

-- 
Stephan



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 09:32 -0500, George M. Gallant, Jr. wrote:
 Peter,
 
 I started to remove items until it succeeded. Removed all trace  vias.
 Deleted various components. Attached version segfaults. Remove
 one more item and it does not segfault but reports:
 
 Error while clipping PBO_SUB: 3
 
 [ggallant@firefly ~]$ git rev-parse HEAD
 fatal: Not a git repository (or any parent up to mount parent )
 Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

You would need to change into the directory where the PCB sources were
git clone'd. I got the impression this was the latest development
version which was failing for you.


-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread George M. Gallant, Jr.

Peter,

I got the git development version about 12 hours ago. I would like the
embedded polygons.

George

On 01/18/2011 10:47 AM, Peter Clifton wrote:

On Tue, 2011-01-18 at 09:32 -0500, George M. Gallant, Jr. wrote:

Peter,

I started to remove items until it succeeded. Removed all trace  vias.
Deleted various components. Attached version segfaults. Remove
one more item and it does not segfault but reports:

Error while clipping PBO_SUB: 3

[ggallant@firefly ~]$ git rev-parse HEAD
fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

You would need to change into the directory where the PCB sources were
git clone'd. I got the impression this was the latest development
version which was failing for you.






___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 10:56 -0500, George M. Gallant, Jr. wrote:
 Peter,
 
 I got the git development version about 12 hours ago.

Could you cd into the directory where you checked that out and try the
git rev-parse HEAD command again please.

 I would like the
 embedded polygons.

The branch I run doesn't segfault, but I can reproduce the fact that
something odd is going on. I'll get back to you if I discover any
short-term fix.

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 10:56 -0500, George M. Gallant, Jr. wrote:
 Peter,
 
 I got the git development version about 12 hours ago. I would like the
 embedded polygons.

I've attached a more minimal test-case, and I suspect it relates to bad
clearances / thermals on the headers in that file.

If you wish, I could try to reconstruct your design in a way which
doesn't break PCB. I also need to file the minimal test-case in order to
solve the underlying bug. (PCB should never segfault).


-- 
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)


pcb_polygon_crash.pcb
Description: application/pcb-layout


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread George M. Gallant, Jr.

Peter,

I just redid the git, rebuilt pcb, same results.

[ggallant@firefly pcb]$ git rev-parse HEAD
13de8601a39f2ed2a18aca814598f3ebe17ff506

George


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 11:17 -0500, George M. Gallant, Jr. wrote:
 Peter,
 
 I just redid the git, rebuilt pcb, same results.

I wasn't expecting the result to change (I'm not running git HEAD here,
I'm running my OpenGL port, which has different drawing code for
polygons, and hence doesn't crash).

 [ggallant@firefly pcb]$ git rev-parse HEAD
 13de8601a39f2ed2a18aca814598f3ebe17ff506

Thanks.

I've identified the problem. Basically, the thermal shape around some of
your through-hole pins is causing it to crash. PCB's themal shape is
producing some horrible illegal geometry for the clearance you have set
around the pins.

As a quick hack to get you up and running again, search for lines with
thermal([0-9]X) in the flags. Make an edit similar to the one here:

-   Pin[1 0 6000 3000 6600 3800 2 2 edge2,thermal(1X)]
+   Pin[1 0 6000 2000 6600 3800 2 2 edge2,thermal(1X)]

  ^__ clearance I think.

The problem is that the thermal shape becomes broken for certain large
clearance sizes, and that caused PCB to explode.

Make a backup of your original work before attempting this!

Once you've got it loading correctly, you can determine what sort of
clearance you need to give an appropriate looking thermal relief.


Notes for developers (should go into a launchpad bug if I can't fix this
soon).

A fix for this belongs:

1. In src/thermal.c (to avoid producing BROKEN polygons)
2. Wherever the clearance modified - to avoid choosing a bad clearance.
3. Possibly some warning function to note the mistake when loading a PCB
with bad clearances.

4. Longer term - do we need to revisit the maths used to create thermal
shapes? How do we fix this without risking breaking old designs?

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread George M. Gallant, Jr.

Peter,

A clearance of 2731 passes, 2732 crashes. Attached is a more minimalist
file.

What is required to run the OpenGL port?

George

On 01/18/2011 11:31 AM, Peter Clifton wrote:

On Tue, 2011-01-18 at 11:17 -0500, George M. Gallant, Jr. wrote:

Peter,

I just redid the git, rebuilt pcb, same results.

I wasn't expecting the result to change (I'm not running git HEAD here,
I'm running my OpenGL port, which has different drawing code for
polygons, and hence doesn't crash).


[ggallant@firefly pcb]$ git rev-parse HEAD
13de8601a39f2ed2a18aca814598f3ebe17ff506

Thanks.

I've identified the problem. Basically, the thermal shape around some of
your through-hole pins is causing it to crash. PCB's themal shape is
producing some horrible illegal geometry for the clearance you have set
around the pins.

As a quick hack to get you up and running again, search for lines with
thermal([0-9]X) in the flags. Make an edit similar to the one here:

-   Pin[1 0 6000 3000 6600 3800 2 2 edge2,thermal(1X)]
+   Pin[1 0 6000 2000 6600 3800 2 2 edge2,thermal(1X)]

   ^__ clearance I think.

The problem is that the thermal shape becomes broken for certain large
clearance sizes, and that caused PCB to explode.

Make a backup of your original work before attempting this!

Once you've got it loading correctly, you can determine what sort of
clearance you need to give an appropriate looking thermal relief.


Notes for developers (should go into a launchpad bug if I can't fix this
soon).

A fix for this belongs:

1. In src/thermal.c (to avoid producing BROKEN polygons)
2. Wherever the clearance modified - to avoid choosing a bad clearance.
3. Possibly some warning function to note the mistake when loading a PCB
with bad clearances.

4. Longer term - do we need to revisit the maths used to create thermal
shapes? How do we fix this without risking breaking old designs?





gg2.pcb
Description: application/pcb-layout


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread George M. Gallant, Jr.
   On 01/17/2011 03:19 PM, Kai-Martin Knaak wrote:

George M. Gallant, Jr. wrote:


I would like to embed a polygon within a polygon keeping
clearance between the inner an outer. So far I have succeeded
by creating the inner shape first and then applying multiple
shapes around it.

(..snip..)

Is there a better technique that lends itself to easy adjustment?

The current development version of pcb includes a new feature
polygon holes :-)

See the attached screenshot.

To get this version of pcb you'd have to download the current source from
git and compile it locally. This page describes how to download the source
from the git repository
[1]http://geda.seul.org/wiki/geda:scm?s[]=git

Compile is straight forward:
/-
git clone git://git.gpleda.org/pcb.git
cd pcb
./autogen.sh
./configure --enable-toporouter-output
make
sudo make install
\

If you do this for the first time, you most probably have to install
some additional packages from your distro. When in doubt, also install
the package that contains the header files, too.

On debian/testing I recently needed these additional packages for pcb:
autogen
autopoint
intltool (draws autoconf, automake and autotools-dev )
libdbus-1-dev
libgtk2.0-dev (draws 15 more packagesh)
x-ttcidfont-conf
libgd2-xpm-dev

Hope, this gets you started.

---)kaimartin(---




___
geda-user mailing list
[2]geda-user@moria.seul.org
[3]http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

   How do I activate the polygon holes?
   George

References

   1. http://geda.seul.org/wiki/geda:scm?s
   2. mailto:geda-user@moria.seul.org
   3. http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 11:49 -0500, George M. Gallant, Jr. wrote:
 Peter,
 
 A clearance of 2731 passes, 2732 crashes. Attached is a more minimalist
 file.
 
 What is required to run the OpenGL port?

Just a working (and not ancient) OpenGL driver. If glxgears runs, it
will probably run.

git clone -b pcb+gl git://repo.or.cz/geda-pcb/pcjc2.git

More likely to have bugs, but faster:

git clone -b pcb+gl_experimental git://repo.or.cz/geda-pcb/pcjc2.git


NB: It doesn't crash, but it doesn't render correctly either. You still
need to fix the clearances in your design.

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 11:56 -0500, George M. Gallant, Jr. wrote:

 See the attached screenshot.

Mailing list has scrapped the attachment I think.

I don't think there is a better technique for now. Perhaps you could
explain what the polygons are to be used for?

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 16:31 +, Peter Clifton wrote:

 A fix for this belongs:
 
 1. In src/thermal.c (to avoid producing BROKEN polygons)

Actually, it seems ArcPoly () is also producing bad polygons for small
angles. (As well as thermal.c asking it to produce some negative sweep
arc segments in the extreme case).

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: OpenGL branch

2011-01-18 Thread Colin D Bennett
On Tue, 18 Jan 2011 18:10:11 +
Peter Clifton pc...@cam.ac.uk wrote:

 On Tue, 2011-01-18 at 11:49 -0500, George M. Gallant, Jr. wrote:
  What is required to run the OpenGL port?
 
 Just a working (and not ancient) OpenGL driver. If glxgears runs, it
 will probably run.
 
 git clone -b pcb+gl git://repo.or.cz/geda-pcb/pcjc2.git
 
 More likely to have bugs, but faster:
 
 git clone -b pcb+gl_experimental git://repo.or.cz/geda-pcb/pcjc2.git

How does the OpenGL branch track with mainline git HEAD?  Do you
frequently merge from mainline and keep up to date with bug fixes, etc.?

I assume if I use the GL branch pcb, any files I work on will still be
fully compatible with mainline pcb, right? (i.e., no file format
changes, only UI changes)

Regards,
Colin


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: OpenGL branch

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 10:35 -0800, Colin D Bennett wrote:
 On Tue, 18 Jan 2011 18:10:11 +
 Peter Clifton pc...@cam.ac.uk wrote:
 
  On Tue, 2011-01-18 at 11:49 -0500, George M. Gallant, Jr. wrote:
   What is required to run the OpenGL port?
  
  Just a working (and not ancient) OpenGL driver. If glxgears runs, it
  will probably run.
  
  git clone -b pcb+gl git://repo.or.cz/geda-pcb/pcjc2.git
  
  More likely to have bugs, but faster:
  
  git clone -b pcb+gl_experimental git://repo.or.cz/geda-pcb/pcjc2.git
 
 How does the OpenGL branch track with mainline git HEAD?  Do you
 frequently merge from mainline and keep up to date with bug fixes, etc.?

I rebase it fairly regularly. (Rebase, not merge - so you will have to
be careful when re-fetching it)

 I assume if I use the GL branch pcb, any files I work on will still be
 fully compatible with mainline pcb, right? (i.e., no file format
 changes, only UI changes)

Not for the pcb+gl and pcb+gl_experimental branches.

Anything with pours in the branch name is not compatible. Nice
features there, but nothing ready to land.

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread George M. Gallant, Jr.

On 01/18/2011 01:13 PM, Peter Clifton wrote:

On Tue, 2011-01-18 at 11:56 -0500, George M. Gallant, Jr. wrote:


See the attached screenshot.

Mailing list has scrapped the attachment I think.

I don't think there is a better technique for now. Perhaps you could
explain what the polygons are to be used for?


I have an analog front end and I would like to isolate the return paths.
It does need a direct connect to digital ground (min current) so I put a
10mil bridge between the 2. Also put thru holes so I can cut and repair
the bridge as necessary.

BTW, my analog design skills are poor so feel free to comment. The board
needs to be finished this week.

George



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 14:15 -0500, George M. Gallant, Jr. wrote:
 On 01/18/2011 01:13 PM, Peter Clifton wrote:
  On Tue, 2011-01-18 at 11:56 -0500, George M. Gallant, Jr. wrote:
 
  See the attached screenshot.
  Mailing list has scrapped the attachment I think.
 
  I don't think there is a better technique for now. Perhaps you could
  explain what the polygons are to be used for?
 
 I have an analog front end and I would like to isolate the return paths.
 It does need a direct connect to digital ground (min current) so I put a
 10mil bridge between the 2. Also put thru holes so I can cut and repair
 the bridge as necessary.
 
 BTW, my analog design skills are poor so feel free to comment. The board
 needs to be finished this week.

I think the way you've done it is probably the best we can do for now.

-- 
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)



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Martin Kupec
On Tue, Jan 18, 2011 at 04:31:15PM +, Peter Clifton wrote:
 A fix for this belongs:
 
 1. In src/thermal.c (to avoid producing BROKEN polygons)
 2. Wherever the clearance modified - to avoid choosing a bad clearance.
 3. Possibly some warning function to note the mistake when loading a PCB
 with bad clearances.
Actualy from my experience the OpenGL branch handles this 'correctly' as it
renders something and doesn't segfault.
 
 4. Longer term - do we need to revisit the maths used to create thermal
 shapes? How do we fix this without risking breaking old designs?
IMHO there is a glitch in calculating some arcs. And also there is a
problem with calculating intersections, but it seems to be fixed in the
OpenGL branch.

Martin Kupec



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Embedded polygon

2011-01-18 Thread Peter Clifton
On Tue, 2011-01-18 at 21:19 +0100, Martin Kupec wrote:
  4. Longer term - do we need to revisit the maths used to create thermal
  shapes? How do we fix this without risking breaking old designs?
 IMHO there is a glitch in calculating some arcs. And also there is a
 problem with calculating intersections, but it seems to be fixed in the
 OpenGL branch.

Here is the crux of the problem for me.

Up until we merged Harry Eaton's clipper branch, thermals were simple
little things like + or X, with square edged fingers.

commit 38f21ae8ac1d1fc673f579f52aa2d5febfa6f9d9
Date:   Mon Oct 9 00:35:24 2006 +

The finger width was related to the width of the copper annulus by a
factor specified in the file's Thermal[0.5] directive.

That default of 0.5, sets the width of the thermal finger equal to the
copper annulus.


After the clipper branch, thermal finger width related only to the
clearance of the pin. For many cases, this causes a problem. In
addition, the rounded thermal styles appear to have computed the finger
width incorrectly.

Aside from this, there are still some problems - the ArcPoly function
doesn't appear to do very well for geometries where the hemispherical
caps around the end of the arc intersect with each other.

Also, for some geometries, the thermal cutout (for want of a better
word) ceases to be an arc wrapping around the pin or via, but should
become some radially extending shape.


Perhaps both approaches are wrong. What is the _correct_ (if there is
such a thing) calculation to determine a thermal shape for a given pin
or via?

I've attached my work in progress.

-- 
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)
From 9e7859fcb7e607602f6d015dd2333ab5ac362191 Mon Sep 17 00:00:00 2001
From: Peter Clifton pc...@cam.ac.uk
Date: Tue, 18 Jan 2011 20:35:08 +
Subject: [PATCH] Fix thermal generation

---
 src/change.c  |   17 -
 src/thermal.c |   38 ++
 2 files changed, 38 insertions(+), 17 deletions(-)

diff --git a/src/change.c b/src/change.c
index 9a2e80b..8e6ea63 100644
--- a/src/change.c
+++ b/src/change.c
@@ -440,21 +440,20 @@ ChangeVia2ndSize (PinTypePtr Via)
 {
   AddObjectTo2ndSizeUndoList (VIA_TYPE, Via, Via, Via);
   EraseVia (Via);
+  RestoreToPolygon (PCB-Data, VIA_TYPE, Via, Via);
   Via-DrillingHole = value;
   if (TEST_FLAG (HOLEFLAG, Via))
 	{
-	  RestoreToPolygon (PCB-Data, VIA_TYPE, Via, Via);
 	  AddObjectToSizeUndoList (VIA_TYPE, Via, Via, Via);
 	  Via-Thickness = value;
-	  ClearFromPolygon (PCB-Data, VIA_TYPE, Via, Via);
 	}
+  ClearFromPolygon (PCB-Data, VIA_TYPE, Via, Via);
   DrawVia (Via, 0);
   return (Via);
 }
   return (NULL);
 }
 
-
 /* ---
  * changes the clearance size of a via 
  * returns TRUE if changed
@@ -639,15 +638,15 @@ ChangeElement2ndSize (ElementTypePtr Element)
 	changed = true;
 	AddObjectTo2ndSizeUndoList (PIN_TYPE, Element, pin, pin);
 	ErasePin (pin);
+	RestoreToPolygon (PCB-Data, PIN_TYPE, Element, pin);
 	pin-DrillingHole = value;
-	DrawPin (pin, 0);
 	if (TEST_FLAG (HOLEFLAG, pin))
 	  {
-	RestoreToPolygon (PCB-Data, PIN_TYPE, Element, pin);
 	AddObjectToSizeUndoList (PIN_TYPE, Element, pin, pin);
 	pin-Thickness = value;
-	ClearFromPolygon (PCB-Data, PIN_TYPE, Element, pin);
 	  }
+	ClearFromPolygon (PCB-Data, PIN_TYPE, Element, pin);
+	DrawPin (pin, 0);
   }
   }
   END_LOOP;
@@ -676,15 +675,15 @@ ChangePin2ndSize (ElementTypePtr Element, PinTypePtr Pin)
 {
   AddObjectTo2ndSizeUndoList (PIN_TYPE, Element, Pin, Pin);
   ErasePin (Pin);
+  RestoreToPolygon (PCB-Data, PIN_TYPE, Element, Pin);
   Pin-DrillingHole = value;
-  DrawPin (Pin, 0);
   if (TEST_FLAG (HOLEFLAG, Pin))
 	{
-	  RestoreToPolygon (PCB-Data, PIN_TYPE, Element, Pin);
 	  AddObjectToSizeUndoList (PIN_TYPE, Element, Pin, Pin);
 	  Pin-Thickness = value;
-	  ClearFromPolygon (PCB-Data, PIN_TYPE, Element, Pin);
 	}
+  ClearFromPolygon (PCB-Data, PIN_TYPE, Element, Pin);
+  DrawPin (Pin, 0);
   return (Pin);
 }
   return (NULL);
diff --git a/src/thermal.c b/src/thermal.c
index f9dd369..93064f4 100644
--- a/src/thermal.c
+++ b/src/thermal.c
@@ -428,7 +428,7 @@ ThermPoly (PCBTypePtr p, PinTypePtr pin, Cardinal laynum)
   {
 POLYAREA *m;
 BDimension t = (pin-Thickness + pin-Clearance) / 2;
-BDimension w = 0.5 * pcb-ThermScale * pin-Clearance;
+BDimension w = pcb-ThermScale * (pin-Thickness - pin-DrillingHole);
 pa = CirclePoly (pin-X, pin-Y, t);
 arc = CirclePoly (pin-X, pin-Y, pin-Thickness / 2);
 /* create a thin ring */
@@ -436,15 +436,25 @@ ThermPoly (PCBTypePtr p, PinTypePtr pin, Cardinal laynum)
   

Re: gEDA-user: Embedded polygon

2011-01-18 Thread Martin Kupec
On Tue, Jan 18, 2011 at 08:35:42PM +, Peter Clifton wrote:
 Up until we merged Harry Eaton's clipper branch, thermals were simple
 little things like + or X, with square edged fingers.
I arrived after that, so I had no knowleadge about previous state.

 After the clipper branch, thermal finger width related only to the
 clearance of the pin. For many cases, this causes a problem. In
 addition, the rounded thermal styles appear to have computed the finger
 width incorrectly.
I think that the current state for non-rounded thermals is OK.
It keep the ratio between cooper and empty space the same with
growing clearance.

There is completly different story with the rounded ones..those get
worser with growing clearance. But I have no idea how to do the math
correctly(I am into discrete math, not geometry :-(( ).

 Aside from this, there are still some problems - the ArcPoly function
 doesn't appear to do very well for geometries where the hemispherical
 caps around the end of the arc intersect with each other.
I don't remember exactly, but when I was investigating the crash
I found problem in some function calculating intersections.



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user