← Back to team overview

kicad-developers team mailing list archive

Fwd: About DRC from the plot dialog

 

Hi

I forgot to add the kicad list to this thread so I am forwarding it
here for info and if others want to participate in the discussion.

Nick

2016-07-28 13:24 GMT+02:00 jp charras <jp.charras@xxxxxxxxxx>:
> Le 28/07/2016 à 12:12, Nick Østergaard a écrit :
>> Hello Jean-Pierre,
>>
>> I see you have recently [1] made a commit to add a shortcut to run the
>> DRC from the plot dialog in pcbnew. I suspect this is a proposal for a
>> fix to [2]. Thanks.
>>
>> Is this true?
>
> Yes.
> Since a long time, there are a few bug reports about this topic.
>
> The bug happens only on Linux, and it is fixed on my working branch (will be committed very soon)
>
>
>>
>> Either way, I think the current implementation is not ideal and have
>> another proposal.
>>
>> Currently it works like a shortcut to the DRC dialog, but with the bug
>> that it can not jump to the locations of for example unconnected
>> traces.
>>
>> There is a problem with running DRC from the plot dialog, it is that
>> it will modify the board when plotting, like refilling zones and
>> removing "orphaned" vias for example.
>
> It is not specific of "running DRC from the plot dialog".
>
> It rebuild all data related to the netlist info, and rebuild the zones.
> Because a good practice is to run DRC before plotting the board, the fact the DRC is run from the
> plot dialog has no matter.

Yes, but the problem is that it still modifies the board in contrast
to what it was before the user made the plot.

>
>>
>> I would like to see it as a checker only. I propose to not have it as
>> a "Run DRC" button, but have a checkbox to enabled DRC on plotting or
>> not. And in this case it should not refill zones nor remove orphaned
>> vias, it should only be used to warn the user that there might still
>> be problems with the board.
>>
>> If there are not errors, it should just plot like normal.
>
> Unfortunately, it is no possible.
>
> The DRC function  which calculates unconnected and clearance issues imply a few requirement in Kicad
> code:
>
> * the connectivity info is good
> It means orphan vias have no net, becuase they are not really connected.
> Orphan stitching vias are not yet supported because until now I never see a working patch, and even
> see a working solution.
> Moreover, when reloading the board, the connectivity info will be rebuilt.
> Therefore running DRC before plotting fixes this potential issue.

What is the reason that we can't update the file format to include net
info for vias then? This would solve the problem as I see it. (unless
there is some detail I forgot)

>
> * the copper areas are good. Especially isolated islands are removed, and the shapes are good:
> It means they meet their setup (for instance clearance and pad connection options)
>
> For instance:
> - Fill a zone having pads connected by thermal stubs.
> Change the  thermal stubs option by no thermal.
> The DRC is still perfectly good. But the shape is not good.
> - Create and fill a zone with a given clearance.
> Change with a smaller clearance.
> The DRC is still perfectly good. But the shape is not good.
>
> Be sure there are a lot of other similar cases.

But if this is the reasoning, why shouldn't the DRC be run
automatically every time? It could optinally warn the user that
orphaned board objects have been removed if that is really the case.

I know some people say it is bad to have it automatically change the
board on plot, but if that change is the same as when reloading the
board I am ok with that. The same people also say that they want to
know if the board has DRC errors before plotting. Hence I think my
proposal with that option to auto run the DRC would be helpful to the
user.

>
>>
>> If there are errors it should probably present the user with a dialog
>> telling that there are issues with the board and allow the user to
>> plot anyway or cancel such that the user can go back and fix the
>> issues.
>
> For me, it does not fix all issues, only some of them.
>
> To tell the true, I do not understand what is the real issue to run the DRC from plot dialog.
>
> All changes the DRC can make will be made when reloading the board, or the next time a DRC will be
> run from the board editor.

Sorry if my reply sounds a bit grumpy, I don't mean to at least. I
just want to understand the issue better, and why we can't have a
better way to handle this issue, such that it is not a manual step to
assure that the plot is a valid board.

>
>>
>> Regards
>> Nick Østergaard
>
> Regards,
>
> --
> Jean-Pierre CHARRAS