Sch-rnd is built up from scratch with modularity in mind.
| module | size [sloc] | status | configure default
 | class | description | 
|---|
| act_draw | 278 | works | buildin | feature | Actions for drawing objects on a graphical sheet or symbol | 
|---|
| act_read | 333 | works | buildin | feature | Data access related API as actions | 
|---|
| backann | 1128 | works | buildin | feature | interactive back annotation | 
|---|
| construct | 465 | works | buildin | feature | construct complex objects from atoms, break up groups | 
|---|
| diag | 71 | works | buildin | feature | Actions for sch-rnd core diagnostics, intended for developers. These are not in core because end users normally don't need these. As a plugin, due to dynamic loading, it can be dropped on an existing sch-rnd installation with minimal risk of scaring away a reproducible bug. | 
|---|
| export_abst | 194 | works | buildin | export | export project's abstract model to text | 
|---|
| export_bom | 254 | works | buildin | export | export a BoM based on the components of the abstract model, using configurable templates | 
|---|
| export_lpr | 14 | works | buildin | export | Export to lpr (using export_ps to generate postscript) | 
|---|
| export_png | 267 | works | buildin | export | png, jpeg and gif render | 
|---|
| export_ps | 576 | works | buildin | export | PostScript, Encapsulated PostScript exporter | 
|---|
| export_spice | 474 | works | buildin | export | SPICE netlist exporter for circuit simulation | 
|---|
| export_svg | 219 | works | buildin | export | Scalable Vector Graphics exporter | 
|---|
| export_tedax | 259 | works | buildin | export | export netlist as a tEDAx netlist block | 
|---|
| gui | 1415 | works | buildin | gui | sch-rnd-specific GUI elements | 
|---|
| io_altium | 2444 | works | buildin | io | Load schematics from altium schdoc | 
|---|
| io_geda | 1236 | works | buildin | io | Load schematics and symbols from gEDA format. | 
|---|
| io_lihata | 1576 | works | buildin | io | Load and save the schematics and symbols in the native lihata format. | 
|---|
| io_ngrp_fawk | 259 | works | buildin | io | non-graphical schematic sheets in form of fawk scripts. | 
|---|
| io_ngrp_tedax | 393 | works | buildin | io | Load non-graphical schematic sheets in tEDAx format. | 
|---|
| io_tinycad | 1511 | works | buildin | io | Load schematics from TinyCAD .dsn xml format. | 
|---|
| lib_alien | 623 | works | buildin | io | Format-independent helper functions for reading alien files | 
|---|
| lib_netlist_exp | 62 | works | buildin | export | Helper functions for exporting netlists | 
|---|
| lib_ngrp | 241 | works | buildin | io | Helper functions for handling non-graphical sheets | 
|---|
| lib_plot | 639 | works | disable-all | gui | subdialog for plotting and navigating graphs | 
|---|
| lib_target | 133 | works | buildin | export | Helper functions for implementing target plugins | 
|---|
| place | 137 | works | buildin | feature | place complex objects such as terminals from template | 
|---|
| propedit | 2203 | works | buildin | feature | List and edit properties of a group of objects. | 
|---|
| query | 4245 | works | buildin | feature | sch-rnd query language: execute expressions on objects and rules for the programmed drc. | 
|---|
| renumber | 333 | works | buildin | feature | Systematically change the name of selected symbols | 
|---|
| sch_dialogs | 6545 | works | buildin | gui | Standard schematics editor dialog boxes | 
|---|
| sim | 1695 | works | buildin | feature | abstract differences of circuit simiulation implementations, provide an unified interface (infrastructure, CLI and actions) | 
|---|
| sim_gui | 2138 | works | buildin | feature | GUI for the the a unified high level simulation interface | 
|---|
| sim_ngspice | 438 | works | buildin | feature | ngspice specific execution glue (for the GUI) | 
|---|
| std_cschem | 342 | works | buildin | engine | Handles: component connect | 
|---|
| std_devmap | 1007 | works | buildin | engine | Handles slotting, device mapping and port mapping | 
|---|
| std_forge | 2088 | works | buildin | engine | Handles: attribute forging | 
|---|
| std_tools | 1461 | works | buildin | feature | Tools for drawing standard cschem concrete primitives | 
|---|
| symlib_fs | 119 | works | buildin | symlib | access symbol libraries stored on the local file system | 
|---|
| symlib_local | 696 | works | buildin | symlib | access symbol library stored within the sheet | 
|---|
| target_none | 46 | works | buildin | engine | Display original names | 
|---|
| target_pcb | 176 | works | buildin | engine | Attribute transformations for the PCB workflow | 
|---|
| target_spice | 1096 | works | buildin | engine | Attribute transformations for the SPICE workflow | 
|---|
Each plugin implements a class (rarely a set of classes). Classes are: