Component Interchange Format (CXF): Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 23: | Zeile 23: | ||
SYMBOLS=1 how many symbols follow? (Default=0) | SYMBOLS=1 how many symbols follow? (Default=0) | ||
PACKAGE=13 how many graphical primitives has the package? (Default=0) | PACKAGE=13 how many graphical primitives has the package? (Default=0) | ||
PROPERTIES=7 how many user-defined | PROPERTIES=7 how many user-defined property lines follow? (Default=0) | ||
LAST_MODIFIED_BY=K11970 | LAST_MODIFIED_BY=K11970 | ||
Zeile 39: | Zeile 39: | ||
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. | 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 | LAYER=4 denotes the layer function. Layer functions are described later | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
Zeile 50: | Zeile 50: | ||
LAYER=2 on copper top only, SMD pad. 0 for symbols elements. 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 | 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), 4=polygonal | FORM=3 pad form, 0=round , 1=octagonal, 2=rectangular, 3=oblong (default), 4=polygonal (see POLY_PAD property below) | ||
ROUNDED=0 rounding [%]. Integer. For rectangular pad form only | ROUNDED=0 rounding [%]. Integer. For rectangular pad form only | ||
ROTATION=0 all angles 0 .. 360, floating point value, max 4. decimal digits, [,] or [.] as decimal separator possible.<br>0=right=default, 90=top, 180=left, 270=bottom | ROTATION=0 all angles 0 .. 360, floating point value, max 4. decimal digits, [,] or [.] as decimal separator possible.<br>0=right=default, 90=top, 180=left, 270=bottom | ||
Zeile 57: | Zeile 57: | ||
STOP=0 solder stop mask: 0=standard, 1=pad completly free, 2=only drill hole free, 3=pad completely covered | 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 | PASTE=0 solder paste: 0=standard, 1=pad covered with paste, 2=no paste | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
POLY_PAD=-1000000,-700000;-1000000,700000;100000,1800000;1000000,700000;1000000,-700000 polygon coords [nm]. No self-intersection. Self-touching ok for inner holes | POLY_PAD=-1000000,-700000;-1000000,700000;100000,1800000;1000000,700000;1000000,-700000 polygon coords [nm]. Property. No self-intersection. Self-touching ok for inner holes | ||
Zeile 71: | Zeile 71: | ||
DASHED=0 0=solid (default), 1=dotted, 2=dashed, 3=dashdot, 4=dashdotdot | DASHED=0 0=solid (default), 1=dotted, 2=dashed, 3=dashdot, 4=dashdotdot | ||
ROUNDED=YES round line caps, default = YES | ROUNDED=YES round line caps, default = YES | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
Zeile 93: | Zeile 93: | ||
ENGLISH=Hello for documentation in English language | ENGLISH=Hello for documentation in English language | ||
FRENCH for documentation in French language | FRENCH for documentation in French language | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
Zeile 106: | Zeile 106: | ||
INSERT=YES this symbol is always directly imported (default = YES) | 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 | 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=0 how many user-defined property lines follow? (Default=0) | ||
Zeile 127: | Zeile 127: | ||
SHOWNUMBER=YES display the small automatic pin number besides the pin, default=YES | 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 CXF, default = NO | REF=NO the pin is a special pin for a voltage or signal reference such as a GND designator, normally not used in a CXF, default = NO | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
Zeile 138: | Zeile 138: | ||
X3=0 Y3=0 coordinates of third point [nm], default = 0 | X3=0 Y3=0 coordinates of third point [nm], default = 0 | ||
LAYER=0 see above | LAYER=0 see above | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
<b>RECTANGLE</b> identifier | <b>RECTANGLE</b> identifier | ||
Zeile 146: | Zeile 146: | ||
ROTATION=0 see above | ROTATION=0 see above | ||
LAYER=0 see above | LAYER=0 see above | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
<b>ARC</b> identifier | <b>ARC</b> identifier | ||
Zeile 159: | Zeile 159: | ||
ROUNDED=YES rounded end caps, default=YES | ROUNDED=YES rounded end caps, default=YES | ||
LAYER=0 see above | LAYER=0 see above | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
<b>DISK</b> identifier | <b>DISK</b> identifier | ||
Zeile 165: | Zeile 165: | ||
RADIUS=0 radius of the disk [nm], default = 0 | RADIUS=0 radius of the disk [nm], default = 0 | ||
LAYER=0 see above | LAYER=0 see above | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
<b>FIDUCIAL</b> identifier | <b>FIDUCIAL</b> identifier | ||
Zeile 174: | Zeile 174: | ||
FORM=3 form of the fiducial: 0=target, 1=arrow, 2=two_quarters, 3=disk=default; also see here. | FORM=3 form of the fiducial: 0=target, 1=arrow, 2=two_quarters, 3=disk=default; also see here. | ||
LAYER=0 see above | LAYER=0 see above | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
<b>SPLINE</b> identifier | <b>SPLINE</b> identifier | ||
Zeile 182: | Zeile 182: | ||
WIDTH=0 line width [nm], default = 0 | WIDTH=0 line width [nm], default = 0 | ||
LAYER=0 see above | LAYER=0 see above | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
Normally the next two do not belong to a CXF. But they might appear: | Normally the next two do not belong to a CXF. But they might appear: | ||
Zeile 191: | Zeile 191: | ||
TEXT='' textual explanation of the error, default = '' | TEXT='' textual explanation of the error, default = '' | ||
LAYER=0 see above | LAYER=0 see above | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
<b>SIGNAL</b> identifier | <b>SIGNAL</b> identifier | ||
NAME='' name of the signal, default='' | NAME='' name of the signal, default='' | ||
PROPERTIES=0 how many user-defined | PROPERTIES=0 how many user-defined property lines follow? (Default=0) | ||
Finally the missing field descriptions:<br><br> | Finally the missing field descriptions:<br><br> |
Version vom 15. Juli 2015, 11:17 Uhr
Im Folgenden finden Sie die Dokumentation für das ASCII Format Component Interchange Format (CXF). Jedes elektronische Print-Bauteil, das auf gedruckten Schaltungen verwendet wird, kann damit umfassend beschrieben werden. Das Format ist leicht zu verstehen und dadurch kann es sehr leicht von jedermann verwendet werden, der die Notwendigkeit hat, Bauteil-CAD-Daten zu erzeugen oder zu portieren.
Sie finden die beiden Menüpunkte für das Lesen und Schreiben von CXF im Bauteil-Browser unter Import/Export.
Ein CXF-File kann mehrere Bauteile enthalten. Ein Bauteil kann mehrere Schaltplansymbole haben (mindestens eins) und normalerweise ein Gehäuse. Ein Widerstand hat ein Symbol, ein Logik IC Kann mehrere Symbole (Gatter) haben.
Ein Symbol und ein Gehäuse bestehen aus mehreren grafischen Grundelementen wie Linien, Texte, Rechtecke und Pins bei den Symbolen und Pads bei den Gehäusen. Jede Grundform ist in einer Zeile beschrieben, die mit einem speziellen Identifikator beginnt. Mehrere vordefinierte Felder können folgen. Jede Grundform kann auch mehrere benutzerdefinierte Eigenschaften haben, jede Eigenschaft ist in einer Zeile beschrieben. Zeilen für Eigenschaften beinhalten keine Umbrüche oder Leerzeilen. Stattdessen können sie außerordentlich lang sein (über 100.000 Bytes). Die Möglichkeit, benutzerdefinierte Eigenschaften für jede Grundform zu definieren, macht das Format besonders zukunftssicher.
Hier finden Sie ein kurzes CXF File das einige der verschiedenen Grundformen verwendet.
Die Syntax des Formats:
Die Felder jeder Zeile sind durch TABs getrennt. Die Feldinhalte selbst dürfen daher keine TABs enthalten. Entspricht ein Feld seinem Default-Wert, dann kann es einfach weggelassen werden.
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 property lines follow? (Default=0)
LAST_MODIFIED_BY=K11970 LAST_MODIFIED=2008.12.30 18:44:16 ...
These 2 lines are the first two of the 7 user-defined properties as announced in the COMPONENT line. Properties are always first, then follow the package primitives and the schematic symbols.
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 property lines 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), 4=polygonal (see POLY_PAD property below) ROUNDED=0 rounding [%]. Integer. For rectangular pad form only 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 property lines follow? (Default=0)
POLY_PAD=-1000000,-700000;-1000000,700000;100000,1800000;1000000,700000;1000000,-700000 polygon coords [nm]. Property. No self-intersection. Self-touching ok for inner holes
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 property lines 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 % ITALIC=YES italic font, if available RIGHT=YES align text right 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 property lines 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 property lines 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 CXF, default = NO PROPERTIES=0 how many user-defined property lines 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 property lines 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 property lines 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=NO ROUNDED=YES rounded end caps, default=YES LAYER=0 see above PROPERTIES=0 how many user-defined property lines 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 property lines 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 property lines 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 property lines follow? (Default=0)
Normally the next two do not belong to a CXF. But they might appear:
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 property lines follow? (Default=0)
SIGNAL identifier NAME= name of the signal, default= PROPERTIES=0 how many user-defined property lines follow? (Default=0)
Finally the missing field descriptions:
Layer functions
TARGET has up to 100 layers. Caution: The LAYER token in the CXFs does not contain the layer number but the layer-function number. 4 means "components top". TARGET does not distinguish between position print ans silkscreen. Packages are drawn for mounting on the PCB's top side. Thus SMD pads use function 2 (=Copper top) and THT pads function 100 (=All copper layers). Here is a list with layer function numbers:
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
Text functions
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)
Pin functions
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)