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?
@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.
@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.
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)
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.