PCB-Editor, performance with large files

Hi, I started using kicad a few years ago in Win10 and when 5.99 was out I switched to Ubuntu 22.04 full time on my rig I specifically built just to run kicad.
AMD 5900X
MSI B550
32 Gigs of 3600mhz Ram
1Tb SSD Samsung 980
Radeon 6700XT
Great so we now I have a capable rig why am I here?
The project I’m working on involves coils. I have been using the Joan Spark python script to generate the pancake coils. At 1070 turns .127 track width x .127 track spacing IDEL gererates about 2.8 million lines of code that I copy and paste into the kicad pcb file. The file itself is about 236 MB. However when loading the file it is painfully slow and almost , I’ll say damn near unusable. I spent 8 hours yesterday trying to put 4 mounting holes in. I had my system monitors up to see where I was bottle necking and I’ll be damned…Not my 550 dollar AMD Ryzen 5900X CPU!! It can’t be but it sure is.
Now at this point it should be noted that I am by no means an expert. I’m fairly proficient in Kicad but python is brand new me but more than that I’m a noob in Ubuntu. The only reason I tried it out was so I could play with the nightly build early and turns out Ubuntu is pretty great. Accept for in this instance of course… I have the same pc at home but with win 10 and a bit better graphics card but virtually identical. I’ll try it on windows later today but I think the problem is Kicad only using 1 core. Does anyone know a way to make this work better or perhaps another program that can make coils or a settings in Ubuntu or extra software maybe that’ll help this situation? Appreciate anyone who takes any time to shoot me some advice.
Sincerely,
AngryPenguin763

I stopped reading there.
There are limits with what you can do with a PC, and you can’t compensate a script that generates such garbage by throwing a faster CPU at it.

I once wrote a script that generates G-code for a CNC machine which generates 180 degree arcs (with two alternating center points) to approximate a spiral and this worked quite nice. (Yes, I know, KiCad is not particularly good with arcs either).

Another issue is the copying and pasting into the PCB file. A more appropriate way to do such a thing is to have the script generate a footprint which can then be included in your PCB.

I’ve seen about 5 or more scripts to generate inductor footprints for KiCad, but I have not looked deep into them and don’t know much more about them, but they do exist.

2 Likes

This script is most likely generating straight segments approximating the curves given the huge size you mention. You would have better luck if you create a script that generates arcs now that they are natively supported.

2 Likes

Yup. Or just decrease the quantization size in the current python script. Sounds like it might be set to small

1 Like

How well does this Radeon work under Ubuntu? :smiley:

550 USD would pay for enough time of a pro Python dev to implement proper (=native) arc support in the script. I’ve been happily using KiCad with a trash, 10 year-old i7-4970x, for pretty complex PCBs.

As for the number of cores of the CPU, if you employ 9 women, you won’t get a baby in one month :slight_smile: Besides, even in the ideal world, 8 hours of workload distributed on 16 cores makes 30 mins. Still a lot of time… Seriously, consider fixing this script…

Tom

2 Likes

Running your RAM with some MHz instead of mhz may also help a lot. there is a 9 order of magitude of difference between M and m.

4 Likes

Thanks for all the responses. For those who skipped most of it and answered anyways.(no judgment) I can’t write scripts.

What I gathered:
The script is trash.
Faster ram might help.
Write my own script…
I could have paid to have a script written with the money I wasted on my cpu…
A guy talking about me using a small m in Mhz Something about 9 pregnant women and 30 mins. .
:laughing:

The larger increment values in the script helped which produced less lines…Combined with some overclocking got it working good enough to finish it.
Thanks

Ill agree the proper way is captial M but there is no other m in the list of frequecies. Unless you’re confused with micro maybe but that’s with a u and the lowest frequency would be zero hertz as in zero times per second. “u” or micro would be ^-6 times per second which isn’t possible as far as I know but thanks for responding.

Thanks. That actually helped. Appreciate it.

m is the prefix for milli.

I don’t do code stuff as of now. Cad and kicad are what I do with my work pc. Didn’t think it was vital information. but thanks for your time

ohh that’s why I didn’t get it because those are 2 different things and 2 completely different forms of measuring. My bad. I’m not the sharpest knive in the drawer. Thanks for your response!

Now it’s becoming silly:

Are you aware of standard SI prefixes?

There have been a few occurrences where mixing up M and m have lead to real confusion on (another) forum. You could blame it on the SI committee which made case sensitive prefixes, but that is an unfortunate fact and unlikely to change no matter how many people start complaining. You have proven you can use the shift key, so use it when appropriate. It shows you are doing your best. Trying to defend your own ignorance does not make a good impression on me.

Can we get this thread back on topic please.

2 Likes

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