← Back to team overview

kicad-developers team mailing list archive

Re: layer based constraints

 

I think I do something wrong, since my responses are only seen in the "date" view, but not in the "thread" view. Maybe it has something to do with the fact that I don't see any "response depth level" greater than "response-to-response-to-response"? So, I just once try responding at a "higher" level. Sorry for being an absolute noob in mailing lists! :)

As I said in the response that is not visible here, I made a patch which I'll attach to this mail. It's based on the stable_2013-03-31_BZR4008 release and it's far from finished (no saving of the constraints, no intializing, DRC doesn't care abot layer width constraints yet).

But it gives you a nice look-and-feel of how this helps layouting, if you have different constraints on different layers. I kinda like it, I am very sure it will save me a LOT of time layouting, because it always switches to the right width and clearance whenever I place a via to switch the layer. Therefore I will patch new versions of kicad, when they arrive, for my personal use. After I fininished the job, of course.

When finished, I would like (uhm - no, I MUST, that's GPL ;-) ) to contribute my work, although I understand that you guys don't quite like either layer based constraints at all or at least my approach to implementing them. Because I REALLY believe that it can be very helpful. But I don't wan to be importunate. So what do you suggest? I am a noob not only in mailing lists, but also in contributing to open source projects. Can/should I create a branch, send you a patch or just shut up and keep my work at my place? I seriously ask because I just don't know.

One more word about how to handle different constraint types, say: Constraints on nets, layers, (area, net-pairs....): I think it's very important to think extremely carefully about how to combine them. And I think "overriding" constraints are very dangerous and/or difficult to handle. I think Dick's Question about which constraint "overrides" which one, is not the right question to ask. At least as long as we don't have very complex constraint structures which must be coded and for which one has to really think a lot not to screw something up.

I really think, constraints should be seen as: They MUST be satisfied! Each of them. So, for width and clearance constraints, it's always the one with the highest number of all applicable constraints. No matter what type they are. I stress this again because I really think this is VERY important.

Regards
Simon



-----Ursprüngliche Nachricht----- From: Dick Hollenbeck
Sent: Friday, April 26, 2013 3:22 PM
To: kicad-developers@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Kicad-developers] layer based constraints

On 04/26/2013 03:02 AM, Dimitris Lampridis wrote:
On 04/25/2013 02:22 AM, Simon Huwyler wrote:
As some PCB manufacturers (i.e. seeedstudio) have different clearance-
an width constraints for outer- and inner layer, I had the idea to teach
Kicad to manage “layer based” constraints.
 >
Ok, for the moment, I chatted enough. What do you think about it?

Hi Simon,

We use Kicad at work and we would like to get involved in the
development process, not only as a means to return something to this
excellent community, but also to actively improve the tools we are using.

To this end, I've also just subscribed to this list (hi everyone!), and
I'm keeping a list of features/fixes that I would like to start
proposing for implementation. I'm responding to your idea because it was
already on our list.

Now, back to your suggestion, here's my two pennies' worth:

a) in my opinion, this should not be tied to layers. Instead it should
be part of a "net class" in the design rules. This would allow the user
to keep separate inner/outer constraints per net class. When
creating/modifying a net class, the user will be able to specify the
applicable layers (eg. [2-4,7,12]). This approach is also cleaner, since
all constraints will be in the same dialog window.

b) why don't you make a "blueprint" in launchpad for this? I'm no expert
in how launchpad works, but it looks like the right tool for submitting
ideas and technical details.

Cheers,
Dimitris


Hi Simon,

I was thinking what Dimitris is thinking, before I read his post. Clearly you took the path that allowed you to get it working. And usually that is the best path. But in this case I think we can all see a certain discomfort in blurring what the layer setup dialog
is for.

The first question I have is this:

*) is the benefit of using the smallest clearance and spacing on the outer copper layers worth the this trouble in general? Are your boards really that busy on these outer layers? Seeqstudio is forcing you down a path that you do not have to take. You can use them by using the wider spacing in the inner layers, on all layers. What are you gaining really? Or is it just one part with narrow pad spacing pushing you down this path?


*) next question is, who else needs this?


*) the documentation would need to be updated if we were to go down this path. Otherwise we might get bug reports when somebody sees a different spacing on a different layer for the same net. Of course this happens on spin 2 of the board, after you have forgotten about the layer specific override and cannot figure out why that layer is different.


As you can see, I am not taking a stand on need, only trying to see if it exists.


Dick




















_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp



_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~kicad-developers
More help : https://help.launchpad.net/ListHelp

Attachment: LayerConstraints_patch.rar
Description: Binary data


Follow ups

References