Main | Doc & FAQ & Knowledge pool & Tutorial | Current state | Events & timeline | sch-rnd ![]() |
---|
Note: in sch-rnd hotkeys are typically multi-stroke: you need to press multiple keys one after another, in a sequence. Sch-rnd document 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".
gEDA | sch-rnd |
---|---|
gschem | sch-rnd |
gnetlist | sch-rnd -x |
gattrib | sch-rnd's attribute table export-edit-import |
gschlas, garchive | not needed: sch-rnd sheets are always self-contained, without external references; just pack up and distribute your project directory |
gxyrs | not needed: both sch-rnd and pcb-rnd has configurable templates for BoM format export so they can produce your preferred format without external tools having to edit/transform the files |
gsch2pcb, gschem2pcb |
|
gschupdate, gsymupdate | none: used only for ancient schematics from before 20020527; if you have such files and you are using geda-gaf from before 2003, use the original gschupdate utility from gEDA to convert the sheets first |
gsymfix, gsymcheck | none: eventually sch-rnd DRC will handle these |
pcb_backannotate | [tutorial video] use pcb-rnd back annotatable design modifications, export a back annotation pack (bap); in sch-rnd import the bap (file menu, import, load back annotation file) |
refdes_renum, grenum | sch-rnd: edit menu, Change multiple objects, Renumber symbols |
schdiff | none; easy to replace with 3 shell commands, assuming you have sheet1.rs and sheet2.rs to compare:
sch-rnd -x png sheet1.rs --outfile left.png sch-rnd -x png sheet2.rs --outfile right.png composite -stereo 0 left.png right.png diff.pngoutput is in diff.png, use your favorite picture viewer to view. If you need higher resolution add --dpi 300 or --dpi 600 after -x png. |
tragesym, djboxsym, gmk_sym | boxsym-rnd (in util/ of the sch-rnd distribution); examples included in the same dir |
project local gafrc | project.lht |
http://gedasymbols.org | edakrill |
scheme/python scripting | user scripting on a dozen different languages |
*sarlacc*, olib | sch-rnd has native load support for OrCAD files, no external utilities needed |
Yes: gschem sheets are loaded the same way as native sheets.
Sch-rnd native file format differs from gEDA; the gEDA format is considered an alien format, with the usual limitations - do not assume lossless conversion. The meaning of some attributes differ (e.g. slotting, hierarchy, spice sim) so manual tuning of attributes is needed after the load.
Yes: gschem symbols are loaded the same way as native symbols; gschem symbols can be added in sch-rnd symbol libraries directly, without conversion and sch-rnd will load them transparently (from the library window, placing them on sheets, etc).
Loading a gEDA symbol directly into the symbol editor mode is not supported because of a gEDA file format limitation (no header).
Sch-rnd native file format differs from gEDA; the gEDA format is considered an alien format, with the usual limitations - do not assume lossless conversion. The meaning of some attributes differ (e.g. slotting, hierarchy, spice sim) so manual tuning of attributes is needed after the load.
No and there's no plan to support that. Reason: it would require sch-rnd to depend on guile because gschem config files are scheme scripts that need to be executed.
Yes. See 3.3 below.
io_geda (the plugin that loads gEDA file formats) has a separate symbol search path, obtained from the plugins/io_geda/library-search_paths conf node of the runtime config. Symbols are searched using this list instead of the standard sch-rnd library list when loading gschem sheets, to make sure gschem format symbols are loaded in case the gschem sheet uses external symbol references.
Before loading gEDA sheets, make sure plugins/io_geda/library-search_paths contains paths (to any level parent directory) of all external symbol references. This typically includes:
Note: no paths are picked up from any gafrc.
While the sch-rnd alien I/O infrastructure generally allows saving data in alien file formats, for gEDA format the answer is: not at the moment and there are no plans for implementing it.
sch-rnd is not a fork of gschem, it's a clean rewrite from scratch. A few of the main goals of the clean rewrite:
Totally different because sch-rnd resolves a wider set of problems using portmaps and devmaps, see in 3.3.
Sch-rnd provides a solution, usually referred to as devmap, to a wide range of symbol mapping problems:
This differs from gschem's approach on every level, both in syntax and concepts. There's no automatic conversion between gschem's and sch-rnd's model.
Rationale for this design is also available.
Hierarchic design is supported in sch-rnd, but it differs from gschem's approach, both in syntax and concepts. There's no automatic conversion between gschem's and sch-rnd's model.
The reason for the difference is the different data model.
The term gEDA has multiple different meanings, including a narrower "gschem and tightly coupled tools around it" (also often referred to as gaf, "gschem-and-friends") and a broader meaning of a collection of software, including gaf, pcb, gerbv, maybe gtkwave, icarus-verilog, etc. A third, even more generic meaning is any GPL'd EDA software [at the time], including projects that did not really regard themselves as part of the other two gEDA definitions, but typically not including KiCAD.
gschem is rarely used alone: it's installed as part of gEDA/gaf and some other parts of gaf, such as gnetlist, is almost always used when gschem is used.
The sch-rnd project is similar to gaf: it means sch-rnd executable (the GUI/CLI editor) and some utilities (such as boxsym-rnd). But a lot of functionality that are individual executables in gaf (such as gnetlist) are part of the sch-rnd executable. So it's more common that the sch-rnd executable is used without any utility shipped with the project.
Ringdove EDA has only one definition: it's an EDA suite with an explicit (but growing) list of member projects (including sch-rnd, pcb-rnd, camv-rnd).
Unlike gschem which comes with a lot of symbols, sch-rnd has a four-level approach to libraries:
Sch-rnd can optionally coordinate calls to external software, being the coordinator of a workflow, providing an IDE for:
These all can be done manually in atomic actions as well, typically both from GUI and from the command line.
gschem sheets refer to external symbols by default, with an option to embed symbols. Using external symbols a sheet can be loaded only if the relevant symbol library is also provided and configured.
Sch-rnd does not have external symbol references: all relevant symbols are always included in the sheet file and sheet files are always self-contained and portable. There are two ways sch-rnd can include a symbol in a sheet: