Documentation

Component Interchange Format (CXF)

C'est un nouveau format ASCII nommé Component Interchange Format (CXF). Chaque composant électronique utilisé avec PCBs peut être défini selon ce format. Il est facile à comprendre et, par ce moyen, il peut être facilement adopté / utilisé par toute personne ayant le besoin d'échanger des données de CAO électronique.

Une bibliothèque a des composants différents. Un composant peut avoir des symboles différents (au moins un) et normalement un boîtier. Une résistance a un symbole, un IC logique peut avoir pleusieurs symboles (portes).

Un symbole et un boîtier sont composé de plusieurs primitives graphiques telles que des lignes, des textes, des rectangles et des broches dans les symboles et des pastilles dans les boîtiers. Chaque primitive est écrit dans le texte et la ligne commence avec un identifiant. Plusieurs champs prédéfinis peuvent suivre. Chaque primitive peut également avoir plusieurs propriétés définies par l'utilisateur, chaque bien écrit dans une propre ligne. Les propriétés ne contiennent pas de CR /LFs , mais elle peut être longue extraordinaire (100000 + Octets). La possibilité de propriétés définies par l'utilisateur pour chaque primitive rend le format très avenir.



Cxf conversion1 f.png

Image 1 (Import ou export de fichier CXF)


Cxf conversion2 f.png

Image 2 (Pour utilisateurs de Version V15: Aprés un import d'un fichier cxf vous avez un bibliothèque *.sym3001.
Vous devez faire un autre conversion sur base de données.




La SYNTAXE du format: (seulement en anglais)


COMPONENT NAME=USBUF01W6 VALUE= PREFIX=IC SYMBOLS=1 PACKAGE=13 PROPERTIES=7

COMPONENT identifier
NAME=USBUF01W6 search-name of the component
VALUE= value of the component, if available
PREFIX=IC prefix for the component name (IC8, R12)
SYMBOLS=1 how many symbols follow? (Default=0)
PACKAGE=13 how many graphical primitives has the package? (Default=0)
PROPERTIES=7 how many user-defined properties follow? (Default=0)


LAST_MODIFIED_BY=K11970
LAST_MODIFIED=2008.12.30 18:44:16
...

Ces lignes sont les deux premiers des 7 propriétés définies par l'utilisateur, comme annoncé dans la ligne COMPOSANT. Les propriétés sont toujours en premier, puis suit le boîtier des primitives et les symboles du schéma.


PACKAGE NAME=SOT323-6L X1=0 Y1=0 LAYER=4

PACKAGE identifier
NAME=SOT323-6L name of the proposed package
X1=0 position of the package grip (handle)
Y1=0 all coordinates are in nm = 1/1000000 mm = 1/1000 µm. We use the normal cartesian coordinate system with the origin the in middle. Integer format.
LAYER=4 denotes the layer function. Layer functions are described later
PROPERTIES=0 how many user-defined properties follow? (Default=0)


PAD XM=-650000 YM=-950000 WIDTH=350000 HEIGHT=1000000 LAYER=2 PINNUMBER=1

PAD identifier
XM=-650000 YM=-950000 center coordinates [nm], default = 0
WIDTH=350000 pad width [nm], default = 0
HEIGHT=1000000 pad height [nm], default = 0
LAYER=2 on copper top only, SMD pad. 0 for symbols elements. Default = 0
PINNUMBER=1 number for assignment PIN to PAD, 0 = no pin for that pad = default
FORM=3 pad form, 0=round , 1=octagonal, 2=rectangular, 3=oblong (default), also see here.
ROTATION=0 all angles 0 .. 360, floating point value, max 4. decimal digits, [,] or [.] as decimal separator possible.
0=right=default, 90=top, 180=left, 270=bottom
DRILL=800000 drill hole [nm]. No drill = 0 = default
PADNAME=C23 optional for alphanumeric pad names
STOP=0 solder stop mask: 0=standard, 1=pad completly free, 2=only drill hole free, 3=pad completely covered
PASTE=0 solder paste: 0=standard, 1=pad covered with paste, 2=no paste
PROPERTIES=0 how many user-defined properties follow? (Default=0)


LINE X1=-1100000 Y1=675000 X2=1100000 Y2=675000 WIDTH=300000 LAYER=4

LINE identifier
X1=-1100000 Y1=675000 coordinates of start point [nm], default = 0
X2=1100000 Y2=675000 coordinates of end point [nm], default = 0
WIDTH=300000 line width [nm], default = 0
LAYER=4 see above
DASHED=0 0=solid (default), 1=dotted, 2=dashed, 3=dashdot, 4=dashdotdot
ROUNDED=YES round line caps, default = YES
PROPERTIES=0 how many user-defined properties follow? (Default=0)



TEXT CONTENT=!BAUTEIL X1=-1250000 Y1=2950000 WIDTH=1500000 HEIGHT=1500000 LAYER=4 WEIGHT=10 FUNCTION=1

TEXT identifier
CONTENT=!BAUTEIL current content, special, if FUNCTION is not 0
X1=-1250000 Y1=2950000 coordinates of foot point [nm], default = 0. Text is displayed in math. quadrant No 1 relative from that foot point
WIDTH=1500000 character width [nm], default = 0
HEIGHT=1500000 character height [nm], default = 0
LAYER=4 see above
WEIGHT=10 weight of the font in %
FUNCTION=1 denotes the text function. Text function are described later
HIDE=NO text is invisible (for invisible pin names)
ROTATION see above
DYN=YES text is always readable from below or from right (default).
MIRR=NO text is mirrored
GERMAN=Hallo for documentation in German language
ENGLISH=Hello for documentation in English language
FRENCH for documentation in French language
PROPERTIES=0 how many user-defined properties follow? (Default=0)


SYMBOL X1=0 Y1=0 LAYER=101 SUFFIX=a NUMBER=1 ELEMENTS=12

SYMBOL identifier
X1=0 Y1=0 coordinates of grip handle [nm], default = 0
LAYER=101 see above
SUFFIX=a suffix for the symbol name, e.g. IC1a
NUMBER=1 number of the symbol within the component normally 1, 2, 3, ...
ELEMENTS=12 how many graphical primitives are following? Caution: PROPERITES might come first! Caution: The PIN names do not count as own primitives in this case; see next section
INSERT=YES this symbol is always directly imported (default = YES)
SWAP=0 this symbol can be exchanged with symbols of the same component having the same swap level, default = 0 = no swap
PROPERTIES=0 how many user-defined properties follow? (Default=0)


PIN X1=-11430000 Y1=2540000 PINNUMBER=1 PINNAME=YES LENGTH=2540000 WIDTH=300000 LAYER=1
TEXT CONTENT=D1 X1=-8390000 Y1=1790000 WIDTH=800000 HEIGHT=1500000 LAYER=1 WEIGHT=13 FUNCTION=5

PIN identifier
X1=-11430000 Y1=2540000 coordinates of start point [nm], default = 0
PINNUMBER=1 number for assignment PAD to PIN, a number > 0 is necessary
PINNAME=YES this PIN primitive line is followed by a TEXT primitive giving the pin name. This following pin name is a sub-primitive of the PIN and does not count for the SYMBOL
LENGTH=2540000 pin length [nm], default = 0
WIDTH=300000 pin line width [nm], default = 0
LAYER=1 see above
PADNAME=C12 optional for alphanumeric pad names
ROTATION=0 see above
FUNCTION=6 electrical function of the pin, default = 6 = passive
SWAP=0 this pin can be exchanged with another pin in this symbol having the same swap level, default = 0 = no swap
INV=NO small circle to indicate an inverted pin, default = NO
CLOCK=NO small hook inside PCB to indicate a clock related pin, default = NO
SHOWNUMBER=YES display the small automatic pin number besides the pin, default=YES
REF=NO the pin is a special pin for a voltage or signal reference such as a GND designator, normally not used in a library, default = NO
PROPERTIES=0 how many user-defined properties follow? (Default=0)

These are all primitives used in the small sample. Here the missing further primitives:

TRIANGLE identifier
X1=0 Y1=0 filled triangle coordinates of first point [nm], default = 0
X2=0 Y2=0 coordinates of second point [nm], default = 0
X3=0 Y3=0 coordinates of third point [nm], default = 0
LAYER=0 see above
PROPERTIES=0 how many user-defined properties follow? (Default=0)

RECTANGLE identifier
X1=0 Y1=0 filled rectangle coordinates of left-bottom point [nm], default = 0
WIDTH=0 rectangle width [nm], default = 0
HEIGHT=0 rectangle height [nm], default = 0
ROTATION=0 see above
LAYER=0 see above
PROPERTIES=0 how many user-defined properties follow? (Default=0)

ARC identifier
XM=0 YM=0 coordinates of the arc center point [nm], default = 0
X1=0 Y1=0 coordinates of start point [nm], default = 0
X2=0 Y2=0 coordinates of end point [nm], default = 0
RADIUS=0 radius of the arc [nm], default = 0
WIDTH=0 line width [nm], default = 0
START=0 start angle (see ROTATION above)
END=0 end angle, full circle with START=0 END=360
DASHED=NO dashed line, default=0
LAYER=0 see above
PROPERTIES=0 how many user-defined properties follow? (Default=0)

DISK identifier
XM=0 YM=0 coordinates of the filled disk center point [nm], default = 0
RADIUS=0 radius of the disk [nm], default = 0
LAYER=0 see above
PROPERTIES=0 how many user-defined properties follow? (Default=0)

FIDUCIAL identifier
XM=0 YM=0 coordinates of the fiducial center point [nm], default = 0
ROTATION=0 see above
RADIUS=0 radius of the fiducial [nm], default = 0
WIDTH=0 line width [nm], default = 0
FORM=3 form of the fiducial: 0=target, 1=arrow, 2=two_quarters, 3=disk=default; also see here.
LAYER=0 see above
PROPERTIES=0 how many user-defined properties follow? (Default=0)

SPLINE identifier
X1=0 Y1=0 coordinates of spline start point [nm], default = 0
X2=0 Y2=0 coordinates of spline end point [nm], default = 0
XA=0 YA=0 coordinates of spline attraction point [nm], default = 0
WIDTH=0 line width [nm], default = 0
LAYER=0 see above
PROPERTIES=0 how many user-defined properties follow? (Default=0)

Normalement le texte deux ne fait pas partie d'une bibliothèque. Mais il peut être affiché:

ERROR identifier
XM=0 YM=0 coordinates of the DRC error marker's center point [nm], default = 0
RADIUS=0 radius of the error marker [nm], default = 0
TEXT= textual explanation of the error, default =
LAYER=0 see above
PROPERTIES=0 how many user-defined properties follow? (Default=0)

SIGNAL identifier
NAME= name of the signal, default=
PROPERTIES=0 how many user-defined properties follow? (Default=0)

Finalement les descriptions du champ absent:

Fonctions de couche

TARGET a jusqu'à 100 couches. Attention: La COUCHE pris de bibliothèque ne possède pas de numéro de couche, mais le numéro de fonction de couche. 4 veut dire "composant en haut". Ici vous trouvez une liste avec les numéros de fonction de couche:

0=Copper bottom
1=Copper inside
2=Copper top
3=Position bottom
4=Position top
5=Deletion bottom
6=Deletion inside
7=Deletion top
8=Area bottom
9=Area inside
10=Area top
11=Solder mask bottom
12=Solder mask top
13=Drill holes
14=Solder paste bottom
15=Solder Paste top
16=Gold bottom
17=Gold top
18=Glue bottom
19=Glue top
20=Dimensioning
21=PCB outline
22=Milling
23=Pad numbers
24=Air wire (ratsnest)
25=Signal names
26=Route prohibition (Copper bottom)
27=Route prohibition (Copper top)
28=Route prohibition (Copper inside)
29=Blind via prohibition top
30=Blind via prohibition bottom
31=Buried via prohibition
32=Component names top
33=Component values top
34=Component names bottom
35=Component values bottom
36=Frontpanel (milling)
37=Frontpanel (documentation)
38=Frontpanel (lettering)
39=Position inside bottom (AML)
40=Position inside top (AML)
41=Separation into single PCBs
100=appears on all copper layers
101...200=schematic pages 1..100 for normal elements, PADs have Padstack numbers 101..255 (these special values are all not really useful in libraries)


Fonctions de texte

0=Normal text
1=Component name (IC17, R3, ...)
2=Component value (10k, 20µF, 7805, NE555, 2N3055)
3=Symbol name (IC17a, IC3c)
4=Signal name (seldom used in components)
5=Pin name (CLK, RES, a "|" starts and ends a overline indicating inverse function)
11=date of project last modified
12=time of project last modified
13=date of display/print
14=time of display/print
15=output scale in %, may contain '.' or ',' as decimal separator
16=project filename without extension
100=page number (schematic only)
101=user defined property of owning Signal, component or project
102=PCB variant name
103=project filename with extension
105=page name (schematic only)


Fonctions de broche

0=NC
1=Input
2=Output
3=IO=Input/Output
4=OC=Open Collector
5=Power (power pin of a power consuming IC)
6=Passiv
7=Tristate
8=Supply (output pin of a power supply component)
9=None
10=Illegal (normally not used)