Ik heb het beste deel van de zondag doorgebracht met in KiCad een footprint bij te maken (voor (een houder van) een standaard automotive relais).

Twee dingen vielen me op:

1/ ik had me natuurlijk gebaseerd op een bestaand iets, om dat stapsgewijs te tweaken tot het gewenste. In het origineel waarop ik me baseerde had elke entiteit een soort van hash, gelabeld met "tstamp". Experimenterenderwijs heb ik deze systematisch weggelaten, en het werkt nog steeds. Wat is de functie of meerwaarde van deze hashes?

2/ bij het vastleggen van de simpele vierkante outline van mijn relais in de lagen o.a. in de silkscreen-laag, deed ik de indruk op dat het enkel werkte als ik de vier lijnstukken in volgorde in het bestand zette.

Ja, ik gebruik liever geen interactieve gui-speeltjes, ik editeer recht in de basisbestanden. Goed of slecht, deze werkwijze bevalt mij best. Trouwens erg mooi voor lieden als ik dat KiCad helemaal gebouwd is op leesbare en editeerbare ascii-tekstbestanden, in de beste Unixtraditie.

Welke versie van KiCad?

Want de kicad_mod files van mijn (KiCad 9.0) library hebben geen "tstamp"'s.

Wel heeft ieder items een UUID, maar dat is gewoon een ID nummertje dat uniek is. Er staat me iets van bij dat KiCad dat vroeger (4.0?) een timstamp-has noemde.

Verder staat in de eerste footprint die ik bekeek de 4 lijnen van de Courtyard niet op "volgorde".

Waarbij ik moet toegeven wel gewoon het "gui-speeltje" (namelijk pcb-new) gebruik om footprints (en layouts) te maken.

[Bericht gewijzigd door blurp op (14%)]

Hacken in tekst bestanden deed men vroeger in het MS-DOS tijdperk bij bijv. Orcad en Ulitboard.
Vandaag de dag niet meer gebruikelijk en misschien zelfs sterk af te raden vanwege de mogelijke complexiteit van zo'n tekst bestand (bijv XML bestanden).

Euhhh..
Orcad onder DOS gebruikte een proprietary binair bestand, daar viel weinig in te hacken.
:+ Ulitboard ken ik niet, Ultiboard wel maar daar heb ik nooit mee gewerkt en kan ik je dus weinig over vertellen.

Bedoel inderdaad Ultiboard. :)

Er staat me nog iets bij dat Orcad bestanden van libraries of symbolen in ASCII formaat waren bij de oudere versies.

Je kon wel libraries maken in ASCII, maar die moesten dan eerst geconverteerd worden naar het binaire formaat met composer.exe: OrCAD zelf kon niets met ASCII files.
De binaire libraries kon je wel editen met libedit.exe, maar dat programma was een regelrechte draak om mee te werken...

Indirect kun je zeggen dat Orcad (draft.exe) ASCII bestanden kan inlezen. In het plain MS-DOS tijdperk was men beperkt hoe groot (kB's) een programma kon / mocht zijn en men toevlucht moest zoeken in meerdere losse kleinere qua aantal kB's (tool) programma's (alles onder een dak ging toen niet).

Ik vond dat ge-edit in die ASCII bestanden een regelrechte ramp en nooit gedaan.

Op maandag 22 juni 2026 00:22:11 schreef Paulinha_B:
...
Ja, ik gebruik liever geen interactieve gui-speeltjes, ik editeer recht in de basisbestanden.

Dan ben je dus wel heel intensief bezig het resultaat van je tekstwerk in je hoofd te visualiseren, dunkt me. Of ben je constant aan het checken in KiCad wat het resultaat is van je werk?
Een relais-voet is dan misschien nog wel te doen, maar met een switching regulator van Alpha&Omega in een soort gemodificeerde QFN package gaat toch wel een uitdaging worden, denk ik.

Nu ben ik wel verwend met de library editor van Altium en heb ik eerlijk gezegd geen idee hoe werkbaar die editor voor KiCad is.

[Bericht gewijzigd door MNM(tm) op (10%)]

Indirect kun je zeggen dat Orcad (draft.exe) ASCII bestanden kan inlezen.

Nope, dat was een geheel zelfstandig programmaatje wat apart moest worden opgeroepen. "Alles onder 1 dak" was toen al wel mogelijk, daar waren verschillende technieken voor: batchfiles, overlays, terminate-and-stay-resident, .exe; of een combinatie daarvan (al is de combinatie .exe met overlays niet erg gangbaar).

De grootte-limiet (64k) gold alleen voor .com programa's; .exe was -dacht ik- alleen gelimiteerd door het fysiek aanwezige geheugen.
Draft (de 'core' van OrCAD) was een .com, geen .exe. Tenminste, in versie 3.20a...

Ter leeringh ende vermaeck een klein stukje van zo'n ASCII 'library':

{De-Compiled Library}

PREFIX
END

'HMC1022'
{X Size =}  15      {Y Size =}  12      1
L1   '3'             PAS 'VB(A)'
L2   '7'             PAS 'GND(A)'
R1   '2'             PAS 'OUT+(A)'
L4   '16'            PAS 'OS+(A)'
L5   '1'             PAS 'OS-(A)'
L7   '6'             PAS 'VB(B)'
L8   '13'            PAS 'GND(B)'
L10  '10'            PAS 'OS+(B)'
L11  '11'            PAS 'OS-(B)'
R3   '4'             PAS 'OUT-(A)'
R4   '14'            PAS 'S/R+(A)'
R5   '15'            PAS 'S/R-(A)'
R7   '12'            PAS 'OUT+(B)'
R9   '5'             PAS 'OUT-(B)'
R10  '8'             PAS 'S/R+(B)'
R11  '9'             PAS 'S/R-(B)'

'SI3850DV'
REFERENCE  'U'
{X Size =}   3      {Y Size =}   7     {Parts per Package =}   1
T2      4    SHORT   pas  'SP'
L1      3    SHORT   pas  'GP'
L6      1    SHORT   PAS  'GN'
B2      6    SHORT   PAS  'SN'
R3      2    SHORT   PAS  'D'
R4      5    SHORT   PAS  'D'
      {0000000000111111111122222222223}
      {...............................}
      {0123456789012345678901234567890}
{  0.0}....................#..........
{  0.1}....................#..........
{  0.2}....................#..........
{  0.3}....................#..........
{  0.4}....................#..........
{  0.5}....................#..........
{  0.6}....................#..........
{  0.7}....................#..........
{  0.8}.......##...........#..........
{  0.9}.......##...........#..........
{  1.0}#####..##..........###.........
{  1.1}....#..####################....
{  1.2}....#..##..........###....#....
{  1.3}....#..##.................#....
{  1.4}....#..##.................#....
{  1.5}....#.......#.............#....
{  1.6}....#..##...##........#########
{  1.7}....#..##...###...........#....
{  1.8}....#..##...####.........###...
{  1.9}....#..##############...#####..
{  2.0}....#..##...####....#..#######.
{  2.1}....#..##...###.....#.#########
{  2.2}....#..##...##......#.....#....
{  2.3}....#.......#.......#.....#....
{  2.4}....#..##...........#.....#....
{  2.5}....#..##...........#.....#....
{  2.6}....#..##..........###...###...
{  2.7}....#..#####################...
{  2.8}....#..##..........###...###...
{  2.9}.......##...........#.....#....
{  3.0}.......##...........#.....#####
{  3.1}....................#..........
{  3.2}....................#..........
{  3.3}....................#..........
{  3.4}....................#..........
{  3.5}....................#..........
{  3.6}....................#..........
{  3.7}....................#..........
{  3.8}....................#..........
{  3.9}....................#..........
{  4.0}.......##...........#.....#####
{  4.1}.......##...........#.....#....
{  4.2}....#..##..........###...###...
{  4.3}....#..#####################...
{  4.4}....#..##..........###...###...
{  4.5}....#..##.................#....
{  4.6}....#..##.................#....
{  4.7}....#.........#...........#....
{  4.8}....#..##....##.......#########
{  4.9}....#..##...###...........#....
{  5.0}....#..##..####..........###...
{  5.1}....#..##############...#####..
{  5.2}....#..##..####.....#..#######.
{  5.3}....#..##...###.....#.#########
{  5.4}....#..##....##.....#.....#....
{  5.5}....#.........#.....#.....#....
{  5.6}....#..##...........#.....#....
{  5.7}....#..##...........#.....#....
{  5.8}....#..##..........###....#....
{  5.9}....#..####################....
{  6.0}#####..##..........###.........
{  6.1}.......##...........#..........
{  6.2}.......##...........#..........
{  6.3}....................#..........
{  6.4}....................#..........
{  6.5}....................#..........
{  6.6}....................#..........
{  6.7}....................#..........
{  6.8}....................#..........
{  6.9}....................#..........
{  7.0}....................#..........

'AD7896'
{X Size =}  11      {Y Size =}   8      1
L1   '1'             IN  'AIN'
L3   '2'             PAS 'VDD'
L5   '3'             PAS 'AGND'
L7   '6'             PAS 'DGND'
R1   '5'             OUT 'SDA'
R3   '4'         CLK IN  'SCLK'
R5   '7'         dot IN  'C\O\N\V\S\T\'
R7   '8'             OUT 'BUSY'

[Bericht gewijzigd door fatbeard op (78%)]

Ultiboard en Ulticap waren tot Versie 5 ook in ascii, daarna niet meer.
Dit is Ulticap 4.60:


*P CAP
4 60 00048975
-5300, -2050, 2967, 3796, 50;
*R 143301
*S11AA02      
500 325
1,5,150,250,400,250,1,5,100,250,150,250,
1,5,400,250,400,50,100,50,100,250;
0,2,100,200,
0,0,400,200,
0,0,400,100;
;
225 275 250 162 35 14 132 REFDES=IC?
250 25 250 162 35 14 132 DEVICE=11AA02
250 -25 250 162 35 12 4 PKG_TYPE=$SOT23S
0 200 0 200 35 4 128 #=3
100 200 0 200 35 2 131 LABEL=VSS
0 200 0 200 35 1 5 PINTYPE=PAS
500 200 500 200 35 4 130 #=2
400 200 500 200 35 2 133 LABEL=VCC
500 200 500 200 35 1 3 PINTYPE=PAS
500 100 500 100 35 4 130 #=1
400 100 500 100 35 2 133 LABEL=SCIO
500 100 500 100 35 1 3 PINTYPE=PAS
;
*S16F1938     
750 900

Ik denk dat footprints maken toch net iets handiger is met de bijgeleverde gui-tool.

Net even gekeken naar het footprint bestand van een simpel Finder relais...

Veel plezier met je schrijftekenen :)

(footprint "Relay_DPDT_Finder_40.52"
	(version 20260206)
	(generator "pcbnew")
	(generator_version "10.0")
	(layer "F.Cu")
	(descr "DPDT relay, Finder 40.52, 8A, 250V, body size 29x12.4mm, height 25mm, pitch 5x7.5mm, https://cdn.findernet.com/app/uploads/S40EN.pdf")
	(tags "2-Form-C")
	(property "Reference" "REF**"
		(at 12 -3.5 0)
		(layer "F.SilkS")
		(uuid "c27b8354-74d4-4af2-8a25-a69f37d7d2f9")
		(effects
			(font
				(size 1 1)
				(thickness 0.15)
			)
		)
	)
	(property "Value" "Relay_DPDT_Finder_40.52"
		(at 12 11.5 0)
		(layer "F.Fab")
		(uuid "701abbdf-19d7-4404-b593-91615e6e1771")
		(effects
			(font
				(size 1 1)
				(thickness 0.15)
			)
		)
	)
	(property "Datasheet" ""
		(at 0 0 0)
		(unlocked yes)
		(layer "F.Fab")
		(hide yes)
		(uuid "5be4effa-e864-408a-a6fb-3129be9b7be5")
		(effects
			(font
				(size 1.27 1.27)
				(thickness 0.15)
			)
		)
	)
	(property "Description" ""
		(at 0 0 0)
		(unlocked yes)
		(layer "F.Fab")
		(hide yes)
		(uuid "7d7b3e7e-d2da-42a3-9846-d88840133fec")
		(effects
			(font
				(size 1.27 1.27)
				(thickness 0.15)
			)
		)
	)
	(attr through_hole)
	(duplicate_pad_numbers_are_jumpers no)
	(fp_line
		(start -2.62 -2.57)
		(end 26.62 -2.57)
		(stroke
			(width 0.12)
			(type solid)
		)
		(layer "F.SilkS")
		(uuid "3c36c775-c084-4295-934a-edbc070eec5d")
	)
	(fp_line
		(start -2.62 3.35)
		(end -2.62 -2.57)
		(stroke
			(width 0.12)
			(type solid)
		)
		(layer "F.SilkS")
		(uuid "2ad24060-daab-4eec-8ede-478de9642fcc")
	
######### KNIP ##########
en nog veel meer van dat, scrollen zonder eind.

[Bericht gewijzigd door Sine op (64%)]

Op maandag 22 juni 2026 11:04:35 schreef fatbeard:
Nope, dat was een geheel zelfstandig programmaatje wat apart moest worden opgeroepen. "Alles onder 1 dak" was toen al wel mogelijk, daar waren verschillende technieken voor: batchfiles, overlays, terminate-and-stay-resident, .exe; of een combinatie daarvan (al is de combinatie .exe met overlays niet erg gangbaar).

De grootte-limiet (64k) gold alleen voor .com programa's; .exe was -dacht ik- alleen gelimiteerd door het fysiek aanwezige geheugen.
Draft (de 'core' van OrCAD) was een .com, geen .exe. Tenminste, in versie 3.20a...

De main draft.exe en de tools kun je allemaal beschouwen als zelfstandige .exe programma's.
PC's toen der tijd hadden in het begin slechts 640kB aan geheugen en .exe programma's kon men daardoor niet te groot maken (of laten worden) omdat men anders geen geheugen meer overhield om er mee te kunnen werken, met alles onder een dak bedoel ik slechts 1 exe bestand dat alle functionaliteit heeft van draft.exe en de losse tools daaromheen.
Dat men toen trucken moest gaan uithalen om toch, zogezegd, grotere programma's te kunnen draaien (met alle haken en ogen) is vers twee.

Op maandag 22 juni 2026 11:57:27 schreef eSe:
Ik denk dat footprints maken toch net iets handiger is met de bijgeleverde gui-tool.

Net even gekeken naar het footprint bestand van een simpel Finder relais...

Veel plezier met je schrijftekenen :)

Zo te zien eerst maar een cursus volgen om alle structures te leren en hoe ze te gebruiken.

Op maandag 22 juni 2026 09:44:32 schreef MNM(tm):
Nu ben ik wel verwend met de library editor van Altium en heb ik eerlijk gezegd geen idee hoe werkbaar die editor voor KiCad is.

Ik gebruik ze alletwee (Altium en Kicad) en hoewel de Altium footprint wizard beter is, vind ik Kicad i.h.a. fijner werken.

De gui-tools dus, want rechtstreeks de bestanden wijzigen is bij Kicad veruit het makkelijkst; met een beetje moeite is het gewoon leesbaar wat alles is en betekend.

Op maandag 22 juni 2026 00:22:11 schreef Paulinha_B:
[...]Trouwens erg mooi voor lieden als ik dat KiCad helemaal gebouwd is op leesbare en editeerbare ascii-tekstbestanden, in de beste Unixtraditie.

De bestanden volgen een formaat dat S-expression genoem wordt. Er zijn ook tools om dit te schrijven vanuit bijv. Python. Zelf heb ik ooit een tooltje gemaakt om absolute rotary-encoders te tekenen vanuit een set hoek beschrijvingen naar Kicad symbolen. Werkte best aardig.

Op maandag 22 juni 2026 13:50:52 schreef roadrunner84:
[...]
De bestanden volgen een formaat dat S-expression genoem wordt...

Niet zo verwonderlijk, gezien de betrokkenheid van de bedenker van KiCAD met LISP.

Iets meer on topic: ik vond deze YT serie altijd wel verhelderend (hoewel we inmiddels een aantal versies verder zijn): https://www.youtube.com/watch?v=vaCVh2SAZY4&list=PL3bNyZYHcRSUhUXU…

[Bericht gewijzigd door picsels op (28%)]