LTSpice bibliotheek subdirectories

Hallo,

Ik wilde een fatsoenlijke manier om componenten bibliotheek te beheren in LTSpice. Dit wil ik opslaan in een github repository voor het versiebeheer.

Deze heb ik geplaatst in de volgende folder:
C:\Users\Bas\Documents\LTspiceXVII\mylib

In die folder wil ik graag submappen maken, bijvoorbeeld:
- OpAmps
- NPN
- ...

In die mapjes wil ik dan de ASY en SUB bestanden plaatsen. In LTSpice heb ik bij de configuratie de 'C:\Users\Bas\Documents\LTspiceXVII\mylib' map toegevoegd bij zowel het eerste als het tweede vak. Het probleem is echter dat hij alleen bestanden vind die direct in deze directory staan. Alle componenten in de subdirectories worden niet herkend.

Iemand ideeen?

PE2BAS

De standaard componenten staan in:
%USERPROFILE%\My Documents\LTspiceXVII\lib\sym

Mijn componenten staan in:
%USERPROFILE%\My Documents\LTspiceXVII\lib\sym\_PERSONAL

in de .asy file maak je dan een verwijzing naar de .lib/.sub bestanden, op deze manier:

code:

SYMATTR ModelFile ..\sym\_PERSONAL\npn\TIP122.sub

Nadeel is dat je alle componenten (*.asy) moet aanpassen.
Voordeel is dat je bij een nieuwe versie alleen je persoonlijke directory hoeft over te zetten en niet alle componenten die verdeeld staan in de installatie van LTSpice.

Wanneer je een component in je schema wilt plaatsen dan kom je bij het klikken op de knop daarvoor standaard in de "sym" directory terecht. Als je daar je eigen subdirectory in zet en je begint met een underscore dan staat die vooraan. Hoef je niet zo vaak te klikken om bij je eigen spul te komen.

Heb ik je op een idee gebracht door de link naar mijn repository te sturen? :-)

reading can seriously damage your ignorance

Hmm, vind het allemaal niet heel erg handig eigenlijk. Ik zit nu te overwegen om gewoon de hele LTSpice lib in de git repo te zetten. Dan ignore ik alle files van LTSpice en voeg ik daarna mijn eigen componenten toe.

Dan kan ik ook gewoon de sub en libfiles in de juiste mappen plaatsen en ik verwacht dat ik ze dan ook gewoon kan selecteren. (recht op component en dan 'pick new ...')

Ja daar komt het idee wel vandaan. Ik denk dat het handig is om een goeie bibliotheek te hebben voor wat simulaties. En ik ben zelf groot fan van GIT, aangezien alle files textbased zijn is dat een no brainer.

Ik vind het wel erg vreemd dat hij de zelf toegevoegde paden niet recursief afzoekt. Dat lijkt me persoonlijk toch nog steeds de beste oplossing.

PE2BAS

Nadeel van die methode is dat je na iedere update van LTSpice opnieuw de ignore list moet bijwerken. Anders plaats je toch weer (nieuwe) standaard componenten in jouw repository.

Hier worden wat technieken beschreven.

reading can seriously damage your ignorance

Ik heb jouw methode aangehouden. Maar nu probeer ik zelf een diode toe te voegen alleen krijg ik nog een fout als ik de simulatie wil starten. Hij geeft aan dat hij de definitie niet kan vinden. Zou je willen kijken wat ik fout doe? De andere componenten die ik van jou heb geleend werken wel. :+

https://github.com/vanBassum/Spice/tree/main/Diodes

[Bericht gewijzigd door hardbass op donderdag 13 januari 2022 12:33:55 (10%)

PE2BAS

Diodes staan in %USERPROFILE%\My Documents\LTspiceXVII\lib\cmp\standard.dio
Je kunt een hele lijst downloaden van ltwiki

Daar staan naast standard.dio ook nog standard.bjt, standard.jft en standard.mos. Ik heb ze alle 4 in een excel spreadsheet gezet om te kunnen sorteren. Gesorteerd kun je ook makkelijk de dubbele regels er uit halen.
Als jij een handiger manier kunt bedenken dan hoor ik dat graag. Zie bijlage.
Ik exporteer als "tab delimited text" per tabblad. Je moet dan wel een paar waarschuwingen wegklikken.

reading can seriously damage your ignorance

Kan je diodes niet gewoon als een los .sub bestand toevoegen? Dan kan die ook gewoon in de git repository worden geplaatst.

PE2BAS

Ik heb nooit een .model aan een .asy bestand gekoppeld. Misschien kraam ik onzin uit maar ik dacht dat het niet kon.

Ik zet een enkele .subckt definitie altijd in een .sub bestand. Meerdere .subckt of .model definities in een .lib bestand.
LTSpice dwingt dat niet af, je kunt het zelfs in een .txt zetten maar ik doe het om duidelijk een verzameling aan te geven.

Je kunt natuurlijk wel een verzameling diodes (en andere componenten die met .model worden gedefinieerd) in een .lib zetten. Die library gebruik je in je schema dan met een .op regel.
Met de [.op] knop zet je dan deze tekst in je schema:

code:

.lib ..\sym\_PERSONAL\diodes\diode.lib

Dit zou bij jou dan direct moeten werken, zie bijlage
De diodes plaats ik dan gewoon met de diode knop en de "D", de standaard componentnaam, verander ik in eentje die in de lib staat.

reading can seriously damage your ignorance

Ja dat werkt, alleen moet je dan wel telkens bij nieuwe tekeningen de bibliotheken toevoegen. Ik zit nu te overwegen om een appje te maken die de _personal directory scant en nieuwe componenten gekopieerd naar de respectievelijke 'standard.xxx' bestanden. Dan kan de definitie van de diode gewoon bij de asy blijven staan. Na het toevoegen van nieuwe definities moet je de app een keertje runnen.

Daar zou ik ook wat instellingen in kunnen maken, bijvoorbeeld sorteren.
- Op naam
- Eigen componenten eerst of juist laatst

Die kan ook mooi duplicaten vinden en oplossen.

PE2BAS