Traces in a 0/30/60/90 degrees orientation

Hello,

I am new to KiCad, and for my project I would like to route my tracks in angles of 0/30/60/90 degrees instead of 0/45/90, basically incrementing 30 degrees between tracks instead of 45 degrees. Is there a setting which can be changed to make such tracks?

Thanks in advance!

1 Like

Kicad has “wires” in its Schematic and “tracks” in its PCB.
What are traces?

Excuse me, I edited the original post replacing ‘traces’ with ‘tracks’.

@jmk I know you’re interested in precise language here, but attacking a new user for imprecise use of terminology is unkind and unnecessary. I think it was clear from context that PCB traces are intended and trace/space is standard terminology in the industry. Can we try to be kinder to new users when talking about this stuff?

@JeffreyU Hi! KiCad doesn’t currently support changing the increment and it’s really messy to implement something like that (I’ve asked the people who poke at that part of the code because I had a similar need). If you’re doing something like what I was and making a hexagon with lots of parts at 30 degree angle multiples, the only way to do it is to either switch off angle constraining entirely, or route at 0/45/90 and rotate parts of an already routed section. It’s really annoying to do. Can I ask what exactly you’re trying to achieve? There might be an easier way.

1 Like

Just to be more pedantic

taken directly from kicad

@kliment Thanks for the answer, unfortunate that there is no such feature. I will not disclose too much of the application, but the outline of my PCB has sides which are all oriented with increments of 30 degrees between them. I would like to route my tracks parallel to these sides, and I already tried by switching off the angle contraint entirely, but I was not entirely satisfied with the result because every track was angled slightly differently. If there is no such feature, I guess I will have to work a bit more precise and accept not everything is going to be perfectly the same angle.

You can route some tracks parallel to a segment, then rotate the entire board and its parts and tracks. Then you can continue routing, and then rotate it back. You may need to adjust your router settings to not optimize tracks, and you may need to lock some existing segments. The move function (shift-M) allows you to rotate repeatably by a specific angle around a point. If you place a drill origin in the middle of a rotationally symmetric board it’s especially convenient to rotate around that. If you have several identical segments it may be useful to use the create array function with a circular array to position components and connections with 30 degree increments.

1 Like

Video may help…

Some tools work differently depending on what’s selected and where on the item’s it’s selected… Play around and learn the Tools&Features…

Hot-Key’s have R and Shift-R setup by default to rotated per your increment setting

1 Like

Interesting question, seeing by own experimentation that the “Constrain to H, V, 45” button on the left seems to have no function at all. Neither does Shift+Space.
(8.0.7)

@JeffreyU

My apologies if my comments appeared to be harsh, sorry.

Unfortunately, I cannot think of any better solutions to your problem than others have already mentioned.

@hackman

I created a bug report for the terminology inconsistency, which may lead to some user confusion, in the Calculator Tool.
https://gitlab.com/kicad/code/kicad/-/issues/19329

1 Like

Hmm interesting problem.
Perhaps the simplest way to implement this, for the devs, is to make minimum angles any factor of 360.

Resulting possibilities: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 18, 20, 24, 30, 36, 40, 45, 72, 90, 120, 180, 360

Obviously many of those are impractical, but hey, if someone wants it, why shouldn’t they be able to use 1* increments?

A “parallel to” constraint could be more useful

If only one user needs it you wouldn’t suggest many months of development work to satisfy that one users need . . . . would you ?

Submit a feature request via GitLab (you can do it from KiCad Help > Report Bug) and if there are a significant number of votes for the feature it may well get added in a future version

If this is to be developed, it would be good to do it in a way that an arbitrary number of arbitrary angles can be defined and the different sets of angles saved as presets, similarly to the net class lists.

I suspect it would be a lot of work . . . it seems like quite a simple thing, simply draw the track at X degrees instead of 45, it’s all the other things that happen to tracks that have to allowed for in code that can take an age to do, e.g. shoving tracks in the interactive router, fills around weirdly angled tracks, differential pair stuff for these tracks, DRC, etc, etc. and it’s not just coding this stuff, it all has to be tested.