System variables for symbol text: REFERENCE VALUE FOOTPRINT FOOTPRINT_LIBRARY FOOTPRINT_NAME DATASHEET SYMBOL_LIBRARY SYMBOL_NAME SYMBOL_DESCRIPTION SYMBOL_KEYWORDS UNIT EXCLUDED_FROM_BOM EXCLUDED_FROM_BOARD OP[:<pin name>|<pin number>|power][.<format specifier>]
user-defined fields by name
System variables for label text: CONNECTION_TYPE (global labels, hierarchical labels and sheet pins only) SHORT_NET_NAME NET_NAME NET_CLASS INTERSHEET_REFS (global labels only) OP[.<format specifier>]
user-defined fields by name
System variables for sheet text: # (sheet number) ## (sheet count) SHEETPATH SHEETNAME SHEETFILENAME
user-defined fields by name
System variables for schematic text: # (sheet number) ## (sheet count) SHEETPATH SHEETNAME FILENAME PROJECTNAME
System variables for footprint text: REFERENCE VALUE LAYER FOOTPRINT_LIBRARY FOOTPRINT_NAME NET_NAME(<pad number>) NET_CLASS(<pad number>) PIN_NAME(<pad number>)
associated symbol’s fields by name
System variables for PCB text: LAYER
System variables for worksheet text: KICAD_VERSION # (sheet number) ## (sheet count) SHEETNAME FILENAME PAPER LAYER ISSUE_DATE REVISION TITLE COMPANY COMMENT0, COMMENT1 … COMMENT9
You can also search the code for ::ResolveTextVar.
Operating point format-specifiers contain a digit specifying the number of significant digits, followed by the units. A ~ can be substituted for the digit to specify auto-ranging. Examples: ${OP.~mV}, ${OP:d.3A}, ${OP:power.3W}.
${OP:\<pin name>|\<pin number> is currently broken in 8.0 (it expects a SPICE port name, and doesn’t convert the syntax correctly). That should be fixed in 8.0.2 or there-abouts…
Perfect. But I think it makes sense to update only this list for the nightlies, and then copy it back to the FAQ when we reach RC or sometime there-abouts.
(No doubt I’ll forget to do that (again) when the time comes, and @jmk will ably step in. )
I use the comments to specify what has changed going from Rev A ->B, from B->C etc.
I use an added TEXT variable; DRAWN currently and have this added to my sheet template.
Of course, thinking about it, it’s not just a case of creating the new Text Variables they also have to be exposed in some way so the user can make use of them.
I don’t think it makes sense to add a ton of hard-coded variables for various use cases like this. It’s a better fit for custom variables in my opinion
In general terms I would agree . . . I just don’t see Drawn By and Checked By (or similar) as a non standard use case, I think they should be very standard.