I am not very good with ngSpice in KiCad myself. I do know it is a capable simulator, but it can be a bit finicky to get a simulation started. To get started there are a bunch of completely built simulations posted on this forum on several threads. For example:
KiCad will parse both models, if done correctly. Copy either model into a file, e.g. diodes.lib. Place the symbol, attach the model, check for the pin assignment.
Btw. there is no line .model 1N4148 (Is=5.84n N=1.94 Rs=.7017 Ikf=44.17m Xti=3 Eg=1.11 Cjo=.95p M=.55 Vj=.75 Fc=.5 Isr=11.07n Nr=2.088 Bv=100 Ibv=100u Tt=11.07n)
in On_Semi.lib. What you have shown is buggy. At least the model type ‘D’ is missing.
I plan to use the real 1N4148 diodes to bias BD139/140. I could use the built-in 1N4148 but I have no idea how much it will degrade accuracy.
There is a LM317 power supply in the KiCad simulation sub-folder. It includes 1N4002.lib which protects the LM317. I added D4 which is just symbolic. That works as expected. However, I still need an accurate model for the 1N4148.
The 4148 is a very common diode and lots of vendors have published their model. I tried out the Onsemi model from their website and it works as expected.
This must be misleading since all diode modules start with the same pattern. It reads “1N4148” and does not accept it for some internal reason.
I updated the KiCad release via PPA but a few days ago Xubuntu did a special update just for KiCad. This is unusual since they rarely change such apps between Xubuntu releases. Now 25.04 “Plucky”.
Well, I am done with 4148 for now since other tasks are calling.