DRC to not reset current focused view

How can I change that If I have the view focus on an area of the pcb, when I run the DRC it doesn’t reset the view to somewhere else ?

Kicad version : 6.0.2-378541a8eb~116~ubuntu20.04.1, release build

I would also like this feature, but I’m afraid it’s not in KiCad.

I also often run DRC halfway through the design, and often really don’t care at all if there are DRC violations outside of the area of interest.

And example is moving some IC. Before I continue on the rest of the PCB, I first want to make sure there are no DRC issues related to the copper tracks around that IC.

I see a few possible solutions for this.

  1. A button to run DRC on only the current viewing area of the PCB. This may confuse people who may think it does DRC on the whole PCB.
  2. A checkbox, whether to warp and zoom to (some random?) DRC issue.
  3. Just never warp / zoom cursor on DRC, or put this setting in Preferences in the file menu.
  4. A “smart” solution. If there is any DRC violation in the current viewing area, then KiCad just highlights that, and it only pans if there are no on-screen DRC issues. Disadvantage of this method is that KiCad will pan away from the IC in the example above when it’s fixed, but that is all the feedback you get.

I did a small search on Gitlab, as this seems worthy of a feature request:

I glanced through the 82 search results and did not see a match, but I’m having trouble focusing again, and can’t be sure.

I’m willing to file a feature request for this on Gitlab, but before I do so I’ll first wait what others have to say.


Those are some interesting suggestions there. From my point of view I think it makes more sense to leave the DRC check to run all over the design, so you can see the error counter decrement ( or increment :stuck_out_tongue: ) while you are doing fixes as per layout area but there is no wrap or change in zoom area when DRC finishes. And as you say, a tick box in the DRC Control window “Reset layout view [ ]”

Total DRC violation count is completely irrelevant during most of the design process. I often want to know that some section is (almost) good, while the rest of the PCB may not even have been designed yet.

Being able to run DRC checks on a part of the PCB could also make it a lot quicker, and that may be a big issue for very complex PCB’s.

Maybe someone here has an even better Idea, but in the end some of the developers has to implement it, and that is a combination of personal interest, usefulness, ease of implementation and the relative position of the planets and other cog wheels.

1 Like

Would be really useful. Maybe the implementation is not that complicated as there are already rule areas. So the basic mechanism is there.
But: beware of the planets and cogs :slight_smile:

@paulvdh What’s your opinion about how the area should be defined, UI-wise? Viewport? Rectangular selection? Rule area (named ‘DRC’ )?

My only real goal is that when I’m concentrating on layout of a particular area and run DRC, it does not do zooming / warping, so I don’t loose focus on my area of interest on the PCB. Everything else is just a bonus for me, unless when it’s complicated or time consuming to setup. I don’t want to go define a rule area to set up this limit, but creating such an area ad-hoc by dragging the mouse a bit around, or just using the currently visible area on the monitor is just fine with me.

Performance is not an issue for me. DRC on the video card takes 4 seconds on my quite new Ryzen 5600G.

If some “viewport” is defined however, you can also track the number of DRC errors in that area, which is what picatostas likes.

I had not thought of re-using the rule area for this. Maybe others have better idea’s and/or use- cases. Before making an issue for this on gitlab, it would be nice what sort of behavior (not implementation) would be useful to a big number of KiCad users.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.