DRC shows clearance violations after group rotation


I made custom clearance in Board Setup>Design Rules> Netclasses> Clearance of 0.2mm for Default. I used it successfully until I needed to rotate everything. If someone asked, my board is round, but that rotation eases orientation of that board to housing etc. I made that rotation by defining 1° and grouping everything because there is no other way to do this. After that I ran DRC, and in some places I had a clearance of 0,1995mm that gave errors. These places are : parallel lines, like square pad to track next to it, in new layout they have certain angle, or tracks that bend , few of them in parallel. I use latest Kicad 6.0.5 . I can just ignore it because board is finished, or reroute these tracks, but it clearly says us that some distance rounding is not accurate.

I see that all of this messed up massively track routing that are routed after this, now with strange angles , that make it useless. The best it would be if default angle was also changed when the whole board was rotated like in this case.

Did you define a 1 degree rotation angle, and then did multiple rotations to get to some final value?

There is just no way such a thing can be done accurately in KiCad. KiCad uses 32 bit integers for it’s coordinates (interpreted as nanometers), and that’s a high enough resolution for any PCB, but each time you do a rotation the X and Y coordinates become irrational numbers which get rounded / truncated to integers again and each rotation results in more rounding errors. Rounding errors are probably a lot smaller if you do the full rotation in one step.

KiCad likes to draw all tracks at multiples of 45 degree angles, and if you rotate the PCB halfway the design process, you get mixed results for track orientation, although this is not inherently

It’s just routed at different angles :slight_smile:

Yes, I did multiple rotations by 1 degree :slight_smile: You are right, when I did two rotations by 90 degrees and then slightly less 1 degree ones, then it didn’t round it so much and there was no error. Actually I wouldn’t need to rotate anything, but there are very limited tools to draw. I have only to position board by some means to other device, but rectangles can be drawn only at even angles like 0,90 etc. That is why I needed that rotation. I hope Kicad gets some more options for positioning board.

KiCad’s mechanical CAD capabilities are indeed very limited, but they are “adequate” for simple rectangular PCB’s with some rounded corners and/or cutouts. If more “advanced” CAD is needed, then it usually is best to draw the PCB outline in some external CAD program, save as a .DXF and import that into KiCad.

Maybe yes, but what if you don’t know what will be the target yet? You discover this and that and then you decide where what will be. Then you shell begin from scratch?

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