[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