Is it possible to set line width on the fly?

Footprint editor in KiCad 5.1.9
Line Thickness defined in Preferences - Default Values is common for “Other Layers”. I’d like to draw line with several segments with different thickness.
Is there a simple way to change line width for serie of segments in ‘current drawing’?
I am just looking for one hot-key I suppose I missed.
If not is there a way to change all of them afterwards?

Define several line widths in the drop down, not Net Classes. Then in the pcb editor, use the W key and Ctl W to increase/decrease.

I think Alt-F1 shows you the keyboard shortcuts.

I am asking how to do it in footprint editor, not pcb editor.

To me the hard part is catching the fly first. :grinning:

Seriously I just tried in my 5.99 version. I guess my only method is to edit the properties of an existing line and then copy paste. The vertices of the copies can then be moved around. IMHO this is neither difficult nor slow but is probably not what Piotr is looking for.

You can Edit the .mod footprint in a Text Editor. Just need to know what line(s) you want to edit…

You can change line width if you select a segment, hit “E” to open Properties dialog and enter your desired line thickness. You can’t do it for multiple segments at once, unfortunately, so you have to do it one by one.

OK.
From time to time I find that I am doing things not the optimal way until I ask and someone tell me how to do it.
For example I was continuously switching at schematic grid from 50 to 10 and back to place values and references until someone told me to use CTRL+SHIFT.
In my opinion such key-combinations should be listed in Hotkeys list but they are not.
It looks this time it is not such case - there is probably no better way. Fortunately I need it only in some footprints I am adding to them some drawing at Eco2.User using 0.1mm lines as normally I use 0.05mm.

I found that if I need to move some lines at footprint in most cases it is faster to delete the old drawing and draw it once more. Moving vertices is comparable (in time) with drawing as needed and then modifying width one by one using Ctri+C and Ctrl+V to do it fast.
Of course you can always modify default values and after drawing modify them back.

Yes. I am just used (in my old Protel 3) that I can always press Tab set the width and then continue drawing as many segments as I need. When I finish them and then start the new poly line it then uses the default value back.

Hi Piotr,
If you want to change the thickness of the trace while drawing it, you can use the following hotkeys:
Shift + W for decreasing thickness and only W for increasing thickness. Before doing this make sure that you have gone to “Board setup” and entered all the required trace width values as shown below:
board setup icon


Once you have entered these, you can use the above-mentioned hotkeys at your convenience. Please check the example below:

If the hotkeys are not working for you, you can check and change it at Preferences > hotkeys.

Once more.
I have asked how to change line width in footprint editor, not pcb editor.

Just for the record, there’s no way to set a line width on the fly when drawing it in PCB Editor. So it’s not an issue with Footrprint editor itself, it’s the limitation of Line object (unlike copper trace).

It may help if you put “Footprint Editor” in the title of your thread.

I don’t expect you missed things. The Footprint editor is a bit limited in this regard, there simply are not many editing options, and line width is not a priority in the footprint editor.

The easiest workaround is probably to draw a few random line segments and set their widths to your preferred values, and then make copies of them and drag the endpoints to where you want them.

A few years ago I also did an experiment to write a schematic library from Python. In an afternoon I had written a script that made a KiCad library with some 40 connector schematic symbols. |And I suspect that doing something similar for footprints would also be relatively simple.

From a python script you have of course full control to what values you set line widths.

I just changed default width, draw what I need and then changed it back. But I was wondering if next time I will have to do it the same way or there is simpler way.
I use 0.05mm as standard line width, but I decided to use 0.1mm at drawing showing PCB areas to be protected during wave soldering (I destined ECO2.User layer for it). What I need to protect are just some footprints then the simplest way is to add that drawing to those footprints.

I had never time to learn Python. May be I will find some time, but … you have always so many things to do.

For generating footprints from Python you can have a look at the footprint wizards as examples.

But those are not the simplest. Code is apparently divided into some parts specific to KiCad and the code for the wizards themself.

When not familiar with Python, it’s probably easier to start with treating a footprint library as a text file, and making some python script to write to a text file. An approach like this is only useful if you need a library with a bunch of footprints that can be translated to al loop (For example connectors, with one to 40 pins) or if you have interest in Python and looking for a project to experiment with.

If you just want one or two footprints it’s probably better to just go through the motions of using the footprint editor as is, and live with it’s limitations.

You are right.
I just had that need in footprint editor and remembered that I was changing track width ‘on the fly’ in PCB editor.
I’m all the time not used to thinking of track and line as something different. In Protel when I wonted to draw line I used P, T (place, track) hot-keys as there you don’t have lines - everything are tracks. Because of this I just thought: In PCB it is possible - why in footprint I can’t do that.

Same here.
I think I would like to see a unification.
Apparently each application in KiCad has it’s own codebase:

  • Eeschema
  • Pcbnew.
  • Footprint Editor.
  • Schematic Symbol Editor.
  • Gerbview.
  • PL Editor.

But when I look at it from a distance, they are all GUI applications that handle very similar primitives, and there are just some specific functions that are PCB specific such as ERC and DRC checks, and different menu items that trigger specific functions. A wire in Eeschema is not much different than a copper track or a silkscreen line in Pcbnew.

When designing an EDA suite from the ground up it’s probably a good Idea to write a single application, and generate executables from the same codebase depending on compiler settings.

This would keep the GUI’s of the different applications inherently similar. The ruler would work in Pcbnew exactly the same as in Gerbview without copying the code.
It would also make it possible to have ratsnest lines in Eeschema, which can be a great reverse-engineering tool. You start with Gerbers (Or a photograph as background image) in Pcbnew, extract a netlist and use the ratsnest in Eeschema to re-create the schematic.

But I’m not a real software developer. I have no insight if it was doable or feasable to merge the KiCad applications into a single codebase.
Would the long term benefits outweigh the conversion effort?
Are there enough man-hours available in the KiCad project to do such a conversion in a reasonable amount of time?

I believe there is a thorough revision for the GUI planned for KiCad V7 with dockable menus and such. Re-doing the GUI change 6 times for each application in KiCad appears a bit weird to me. But I have very little insight in the cost / benefit equations.

This is all grossly off-topic.

1 Like

control+w is crashing my nightly

Which program, what situation?
Can you report it on Gitlab?