[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Ground Flooding
On Nov 5, 2008, at 1:34 PM, Levente Kovacs wrote:
> On Wed, 1 Oct 2008 23:17:20 +0000 (UTC)
> Kai-Martin Knaak <kmk@xxxxxxxxxxxxxxx> wrote:
>
>> On Wed, 01 Oct 2008 17:35:28 +0100, Peter Clifton wrote:
>>
>>>> You have a common problem. You need to clear the "join flag" for
>>>> all those lines.
>>>
>>> Can we get this crappy default changed?
>>
>> IMHO the join flag mess is a real pain and needs a more general fix.
>> How about resetting the join flag setting when the user quits the
>> line tool? This would avoid placing loads of tracks with accidental
>> join flag.
>>
>> A different approach would be to make the default setting of the join
>> flag a property of individual layers. This would come handy with
>> ground planes.
>
> Or let each copper object have a netname attribute, and if two of
> the same are met
> then they could be connected (joined), if not, then not. And forget
> about the
> join flag. Let the computer think! :-)
>
if this is put into place, it would be nice to allow a copper object
have multiple nets attach to it.
example
i have 2 polygons, net A and Net B, i want to short these together,
you use a piece of copper to short them, and it has all the attributes
of a real part, but is multi ported, allowing for a short of two nets
with out a DRC violation.
an attribure attached to the peice of copper, that specifies the
netname attached, with an optional max net connections.
CopperNet Netname[:number of connections]
CopperNet Netname2[:number of connections]
CopperNet Netname3[:number of connections]
cont.....
real example
# release: pcb 1.99w
# date: Wed Nov 5 19:37:07 2008
# user: hardkrash (Steven Michalske)
# host: xxx
# To read pcb files, the pcb version (or the cvs source date) must be
>= the file version
FileVersion[20070407]
PCB["" 200000 200000]
Grid[1000.000000 0 0 0]
Cursor[0 0 0.000000]
PolyArea[200000000.000000]
Thermal[0.500000]
DRC[699 400 800 800 1500 1000]
Flags("nameonpcb,uniquename,clearnew,snappin")
Groups("1,c:2,s:3:4:5:6:7:8")
Styles["Signal,1000,3600,2000,1000:Power,2500,6000,3500,1000:Fat,
4000,6000,3500,1000:Skinny,600,2402,1181,600"]
Layer(1 "component")
(
# The easy way, a single copper feature is specially taged to have
polynet connections, and it shorts them
# the polynet flag tells the DRC checker that it has special net
requirements. (optional)
Line[57000 51000 80000 51000 1000 2000 ""]
# Line[57000 51000 80000 51000 1000 2000 "polynet"]
# (
# CopperNet netA:1 #one connection from each net on that segment.
# CopperNet netB:1
# )
Polygon("clearpoly")
(
[19000 41000] [60000 41000] [60000 64000] [19000 64000]
)
Polygon("clearpoly")
(
[72000 41000] [97000 41000] [97000 119000] [72000 119000]
)
)
# a harder rule but useful for
Layer(2 "solder")
(
Polygon("clearpoly")
(
[40000 115000] [57000 115000] [57000 135000] [40000 135000]
# CopperNet netB # many connections from netB, only one from netC
# CopperNet netC:1
)
Polygon("clearpoly")
(
[55000 121000] [60000 121000] [60000 128000] [55000 128000]
# # no net names, so it gets to discover what net is it connected
to, if it spans nets, it has to consume the other nets inter net
connections.
)
Polygon("clearpoly")
(
[59000 116000] [71000 116000] [71000 132000] [59000 132000]
# CopperNet netB # many connections from netC, only one from netB
# CopperNet netC:1
)
)
Layer(3 "GND")
(
Arc[72000 69000 10000 10000 1000 2000 -90 90 ""]
Arc[72000 69000 10000 10000 1000 2000 -180 90 ""]
# How to join multiple line/arc segments to allow for this as well....
# Maybe copperNet should encapsulate the objects...... like
layers.....
#
# CopperNet
# (
# NetA:0 # 0 or no :number for infinite connections.
# NetB:1
# Arc[72000 69000 10000 10000 1000 2000 -90 90 ""]
# Arc[72000 69000 10000 10000 1000 2000 -180 90 ""]
# )
Polygon("clearpoly")
(
[50000 67000] [69000 67000] [69000 88000] [50000 88000]
# CopperNet netA
)
Polygon("clearpoly")
(
[75000 67000] [88000 67000] [88000 88000] [75000 88000]
# CopperNet netB
)
)
Layer(4 "power")
(
Still Legal, although wraps around corners, shorts can have one
"Coastline"
Polygon("clearpoly")
(
[59000 158000] [76000 158000] [76000 172000] [59000 172000]
)
Polygon("clearpoly")
(
[94000 158000] [107000 158000] [107000 172000] [94000 172000]
)
Polygon("clearpoly")
(
[98000 156000] [73000 156000] [73000 162000] [98000 162000]
)
)
Layer(5 "signal1")
#breaks the rules.
(
Line[153000 101000 136000 118000 1000 2000 ""]
Line[155000 101000 131000 101000 1000 2000 ""]
Polygon("clearpoly")
(
[120000 97000] [137000 97000] [137000 131000] [120000 131000]
# CopperNet netB # many connections from netB, only one from netC
# CopperNet netC:1
)
Polygon("clearpoly")
(
[149000 97000] [164000 97000] [164000 130000] [149000 130000]
# CopperNet netB:1 # many connections from netB, only one from netC
# CopperNet netC
)
)
Layer(6 "signal2")
(
)
Layer(7 "unused")
(
)
Layer(8 "unused")
(
)
Layer(9 "silk")
(
)
Layer(10 "silk")
(
Line[73000 158000 76000 158000 1000 2000 "clearline"]
Line[76000 158000 76000 162000 1000 2000 "clearline"]
Line[94000 162000 94000 158000 1000 2000 "clearline"]
Line[94000 158000 98000 158000 1000 2000 "clearline"]
Line[57000 121000 57000 128000 1000 2000 "clearline"]
Line[59000 121000 59000 128000 1000 2000 "clearline"]
Line[137000 116000 137000 119000 1000 2000 "clearline"]
Line[137000 104000 137000 106000 1000 2000 "clearline"]
Text[113000 92000 0 56 "Breaks the rules, to many connections" ""]
Text[81000 168000 0 100 "AOK" ""]
Text[67000 175000 0 100 "one coastline" ""]
)
#END PCB FILE
>> ---<(kaimartin)>---
>> --
>> Kai-Martin Knaak
>> http://lilalaser.de/blog
>>
>>
>>
>> _______________________________________________
>> geda-user mailing list
>> geda-user@xxxxxxxxxxxxxx
>> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
>>
>
>
> --
> Levente Kovacs
> http://logonex.eu
>
>
>
> _______________________________________________
> geda-user mailing list
> geda-user@xxxxxxxxxxxxxx
> http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user