Main | Doc & FAQ & Knowledge pool & Tutorial | Current state | Events & timeline | sch-rnd

# sch-rnd FAQ

If you are coming from gEDA (gschem, Lepton-EDA), please also read the sch-rnd-from-geda FAQ

Note: in sch-rnd hotkeys are typically multi-stroke: you need to press multiple keys one after another, in a sequence. Sch-rnd documents hotkeys using the {} syntax. For example {e p} means "press e, release, then press p, release", same as if you wanted to type "ep". Rarely modifiers are also used: {t shift-p}, which means "press t, release, press shift then p, release both", like if you wanted to type "tP".

## 1. export and forward annotation

### 1.1. how to export a netlist

GUI: File menu, export project, select a netlist format on the left (e.g. tedax or spice)

CLI: sch-rnd -x format files; format is e.g. tedax or spice (use sch-rnd --help to get a list); files is either project.lht (if your project has one) or a list of paths to sheet files

## 2. editing

### 2.1. How to edit attributes of symbols and wirenets?

- use the attribute editor: right click over the object, pick edit attributes menu
- there are hotkeys to make quick edits on the object under the mouse cursor; for the full list, look in the Attributes menu; the most commonly used ones are:
  - {a a} for editing name (of a symbol or wirenet)
  - {a v} for editing value (of a symbol)
  - {a f} for editing footprint (of a symbol)
  - {a d} for editing devmap (of a symbol)
- use the property editor: right click over the object, pick edit properties menu
- select multiple objects and use hotkey {e p} to edit all them at once
- use an external editor to edit attribute tables (e.g. a spreadsheet application)

### 2.2. I get little filled rectangles insead of text...

That happens with dyntext text objects. Dyntext means the text string is rendered from attribute value(s). When this goes wrong, and the attribute value is missing the text ends up as an empty string. To avoid confusion of invisible objects, sch-rnd refuses to render empty string as invisible and draws a small filled rectangle instead.

The typical reasons for this happening:

- a perfectly good dyntext referring to a perfectly good abstract attribute but the last compilation failed (for whatever unrelated reason); see the message log for compilation error, fix up your data, compile again and the text will render correctly
- the attribute referred by the dyntext object is not available; maybe the attribute is deleted; press {e t} over the square to pop up the text edit dialog that will show which atrtibute it is trying to address; right click over the rectangle and select the tree view menu to see in which group object (e.g. symbol or wirenet) the dyntext is

## 3. data model

### 3.1. What's a concrete model?

Approximately: drawing objects and attributes on sheets. This is how the circuit looks like to the human eye. For example in a PCB workflow a quad opamp is often drawn as four separate symbols, all four having the same name ("refdes", e.g. U5) and different slot attribute to tell which one is which slot.

### 3.2. What's an abstract model?

Approximately: the meaning of a concrete model. The abstract model is what the computer thinks the schematics means. The netlist and other non-graphical output is typically derived from the abstract model. Using the above PCB workflow example of the quad opamp, the abstract model contains it as a single component called U5, without any slot attribute.

More explanation on the abstract model is available in the vs_geda pool node

### 3.3. How to set the refdes? How to set the netname?

In the cschem data model sch-rnd uses, it is called name, not refdes or netname. Set the name attribute.