Index: 06_feature/index.html =================================================================== --- 06_feature/index.html (revision 33899) +++ 06_feature/index.html (revision 33900) @@ -21,6 +21,7 @@
  • djopt: DJ's options
  • drc_query: programmable DRC
  • polystitch (pstoedit poly hole workaround) +
  • render script
  • query
  • Scripting pcb-rnd
  • smartdisperse Index: 06_feature/render_script/index.html =================================================================== --- 06_feature/render_script/index.html (nonexistent) +++ 06_feature/render_script/index.html (revision 33900) @@ -0,0 +1,64 @@ + + + + pcb-rnd user manual + + + + +

    Render script

    +

    +The core renders the board for the GUI and for graphical export plugins +(such as gerber, png, ps, etc.). In composite renders, when all layers +are combined to create a single image (e.g., GUI rendering, png export, +eps export), the order of layers matters: layers rendered later appear +being above layers rendered earlier. Furthermore some layers, like screen-only +marks, are not rendered in export targets. +

    +With pcb-rnd versions newer than 2.3.1, rendering is controlled by the +render script which is stored in the config tree as appearance/render_script. +The render script is written in a Domain Specific Language designed +exclusively for this task so that it can be quick enough not to slow down +on-screen rendering. +

    +The render script language consists of statements and comments. A comment +is anything from a hashmark (#) character to the end of the line. A statement +is a single line in one of two forms: +

    +command [arg1 arg2 ... argN]
    +if cond1 [and cond2 ... and cond3] then command
    +
    +

    +Commands can have zero or more arguments. Each argument is a single word. +Each 'if' applies only to one command, that is in the same line as +the 'if. Only the 'and' relation can be used between conditions of an 'if'. +All keywords are case sensitive. Below is the list of commands. +

    + +
    command args description +
    stop   stop executing the script (render finished early; useful with 'if') +
    silk_tune_color   change the color of far_side silk layers to the configured "invisible" color (useful in screen rendering) +
    copper_order_UI   set up copper rendering order to match UI history: drw_copper will render current group on top, and then goes in order of how recently a group was selected +
    drw_copper   render copper layers in the selected order +
    drw_invis   render the invisible layer (if the GUI or export plugin accepts it; invisible layers include the far_side silk and doc layers) +
    drw_pstk   render padstacks (without holes) +
    drw_mask   render the mask layers +
    drw_layers loc type render all layer groups that match loc:type, in order they appear in the layer stackup. Loc is one of top, bottom, intern, global, this_side, far_side. +
    drw_hole   render holes +
    drw_paste   render paste layers +
    drw_virtual   render virtual layers: auto generated assy and fab layers and cross-section +
    drw_ui_layers   render UI layers +
    drw_marks   render marks (subcircuit frames and IDs, terminal IDs, etc.) +
    drw_boundary_mech   render boundary and mech layers +
    +

    +Conditions for an 'if' are: +

    + +
    condition description +
    GUI true for on-screen (GUI) rendering, false for export +
    check_planes true if the editor/check_planes conf node is true +
    + + +