This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
geda:gschem_symbol_creation [2012/11/12 13:03] vzh More links and make the links more useful |
geda:gschem_symbol_creation [2015/12/02 05:16] (current) vzh Add link to generators page |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | //Translations of this guide are also available in the following languages:// [[gschem_symbol_creation.ru|Русский]] | ||
+ | |||
====== gEDA/gaf Symbol Creation ====== | ====== gEDA/gaf Symbol Creation ====== | ||
Line 5: | Line 7: | ||
===== Overview ===== | ===== Overview ===== | ||
- | This document describes the creation of component symbols, including style conventions, and hints/tips and things to look out for when drawing symbols for the gEDA/gaf system. | + | This document describes the manual creation of component symbols, |
+ | including style conventions, and hints/tips and things to look out | ||
+ | for when drawing symbols for the gEDA/gaf system. | ||
+ | For automatic symbol creation or conversion from other formats | ||
+ | please see the [[gschem symbol generators]] page. | ||
===== Component Symbol Creation ===== | ===== Component Symbol Creation ===== | ||
Line 68: | Line 74: | ||
- A ''footprint=PACKAGENAME'' attribute should exist somewhere in the symbol which might be used with a pcb netlister. ''PACKAGENAME'' is a pcb footprint or package type like DIP14 or DIP40. Please see the [[pcb_footprint_naming_conventions | footprint naming conventions]] page for further detail. If you are using gEDA / PCB, also see the [[http://pcb.geda-project.org/manual.html|PCB documentation]] and gnetlist/docs/README.pcb for more info on this attribute and how it is used. | - A ''footprint=PACKAGENAME'' attribute should exist somewhere in the symbol which might be used with a pcb netlister. ''PACKAGENAME'' is a pcb footprint or package type like DIP14 or DIP40. Please see the [[pcb_footprint_naming_conventions | footprint naming conventions]] page for further detail. If you are using gEDA / PCB, also see the [[http://pcb.geda-project.org/manual.html|PCB documentation]] and gnetlist/docs/README.pcb for more info on this attribute and how it is used. | ||
- A ''refdes='' attribute should be placed inside all non-graphical symbols. This attribute should default to ''U?'' for integrated circuits, and 'T?' for transistors. Make only the value visible and it will be promoted (attached to the outside of the symbol (so it can be edited)) when the symbol is placed in a schematic. | - A ''refdes='' attribute should be placed inside all non-graphical symbols. This attribute should default to ''U?'' for integrated circuits, and 'T?' for transistors. Make only the value visible and it will be promoted (attached to the outside of the symbol (so it can be edited)) when the symbol is placed in a schematic. | ||
- | - A ''numslots='' attribute should be placed inside of all symbols, to prevent a warning. ''numslots=1'' works fine. | + | - A ''numslots='' attribute should be placed inside of all symbols, to prevent a warning when you will check your symbol by gsymcheck. ''numslots=1'' works fine. |
Now that those have been added, make the ''numslots'', ''footprint'', ''description'', ''graphical'' and ''device'' attributes invisible. Leave only the value of the ''refdes'' attribute visible, and place it somewhere at the top of your symbol. | Now that those have been added, make the ''numslots'', ''footprint'', ''description'', ''graphical'' and ''device'' attributes invisible. Leave only the value of the ''refdes'' attribute visible, and place it somewhere at the top of your symbol. | ||
Line 74: | Line 80: | ||
==== Finishing ==== | ==== Finishing ==== | ||
- Add a label to your symbol by selecting **Add**->**Text...** or pressing <key>a</key> <key>t</key>. Type out your label, and move it to the top of your symbol. | - Add a label to your symbol by selecting **Add**->**Text...** or pressing <key>a</key> <key>t</key>. Type out your label, and move it to the top of your symbol. | ||
- | - Translate the symbol to the origin using **Edit**->**Symbol Translate...** | + | - Translate the symbol to the origin using **Edit**->**Symbol Translate...** or press <key>e</key> <key>t</key>. |
- | - Select **Symbol Translate...** or the press equivalent hotkey. | + | |
- Enter '0' into the entry field and press **OK**. | - Enter '0' into the entry field and press **OK**. | ||
- Save the symbol using **File**->**Save** or **File**->**Save As...** | - Save the symbol using **File**->**Save** or **File**->**Save As...** | ||
- | - Place the symbol in one of the directories specified by the ''component-library'' keyword in the system-gafrc file. Once this is done, the symbol should be visible immediately and can be selected and placed with the **Add**->**Select Component...** menu item. On Debian, placing files in /usr/share/gEDA/sym/local/ works, but require permissions setup. | + | - Place the symbol in one of the directories specified as a symbol library in a suite configuration file (one of the "gafrc" files). For an explanation of how to set up symbol libraries, see the [[geda:gschem_ug:config|gEDA gschem User Guide]]. Once this is done, the symbol should be visible immediately and can be selected and placed with the **Add**->**Select Component...** menu item. On Debian, placing files in /usr/share/gEDA/sym/local/ works, but requires permissions setup. |
=== Note === | === Note === | ||
Line 134: | Line 139: | ||
==== Attributes ==== | ==== Attributes ==== | ||
* ''pinnumber'' attributes should be displayed as pin numbers for pins (not ''pinseq'') and should be 8 pt in size. | * ''pinnumber'' attributes should be displayed as pin numbers for pins (not ''pinseq'') and should be 8 pt in size. | ||
- | * Attached attributes should be yellow. The color is set automatically to yellow if the text item is attached. | + | * Attached attributes should be color number 5 (attributes | yellow). The color is set automatically to yellow if the text item is attached. |
* The only exception to this is ''pinlabel='' attributes, those should be color number 9 (text | green). If every text item within a symbol is yellow, the symbol looks too yellow. | * The only exception to this is ''pinlabel='' attributes, those should be color number 9 (text | green). If every text item within a symbol is yellow, the symbol looks too yellow. | ||
* Attributes can be attached to some part of the symbol. Toplevel attributes (like the ''device='' or ''net='' attributes) used to be required to be attached to something to be attributes, but now they just have to exist in the symbol file as ''name=value''. | * Attributes can be attached to some part of the symbol. Toplevel attributes (like the ''device='' or ''net='' attributes) used to be required to be attached to something to be attributes, but now they just have to exist in the symbol file as ''name=value''. | ||
Line 180: | Line 185: | ||
This section provides a simple example which tries to follow all of the above rules. This symbol is of a 7400 (NAND gate). | This section provides a simple example which tries to follow all of the above rules. This symbol is of a 7400 (NAND gate). | ||
- | <code>v 20031231 1 | + | <code gschem 7400-1.sym>v 20031231 1 |
L 300 200 300 800 3 0 0 0 -1 -1 | L 300 200 300 800 3 0 0 0 -1 -1 | ||
T 300 0 9 8 1 0 0 0 1 | T 300 0 9 8 1 0 0 0 1 | ||
Line 256: | Line 261: | ||
{{:geda:symbol_7400-1.png|:geda:symbol_7400-1.png}} | {{:geda:symbol_7400-1.png|:geda:symbol_7400-1.png}} | ||
+ |