26#ifndef CADSTAR_SCH_ARCHIVE_PARSER_H_
27#define CADSTAR_SCH_ARCHIVE_PARSER_H_
445 std::map<NET_ID, NET_SCH>
Nets;
Helper functions and common defines between schematic and PCB Archive files.
Helper functions and common structures for CADSTAR PCB and Schematic archive files.
READABILITY
Sets the readability direction of text.
@ BOTTOM_TO_TOP
When text is vertical, show it rotated 90 degrees anticlockwise.
long TERMINAL_ID
Terminal is the pin identifier in the schematic.
static const long UNDEFINED_VALUE
wxString LAYER_ID
ID of a Sheet (if schematic) or board Layer (if PCB)
Represents a CADSTAR Schematic Archive (*.csa) file.
ASSIGNMENTS_SCM Assignments
CADSTAR_SCHEMATIC Schematic
@ UNDEFINED
Only used for error checking (not a real shape)
@ ROUNDED_RECT
Keyword "ROUNDED".
CADSTAR_SCH_ARCHIVE_PARSER(const wxString &aFilename)
int KiCadUnitDivider
Use this value to convert units in this CSA file to KiCad units.
PARTNAMECOL SymbolPartNameColor
virtual ~CADSTAR_SCH_ARCHIVE_PARSER()
static TERMINAL_SHAPE_TYPE ParseTermShapeType(const wxString &aShapeStr)
void Parse()
Parses the file.
Hold an XML or S-expression element.
Represents a point in x,y coordinates.
References an element from a design reuse block.
bool NetclassEditAttributeSettings
bool SpacingclassEditAttributeSettings
@ CLONE
the block is referring to the sheet it is on.
TYPE Type
Determines what the associated layer is, whether parent, child or clone.
ATTRIBUTE_LOCATION BlockLabel
LAYER_ID LayerID
The sheet block is on (TODO: verify this is true)
LAYER_ID AssocLayerID
Parent or Child linked sheet.
std::map< TERMINAL_ID, TERMINAL > Terminals
std::map< FIGURE_ID, FIGURE > Figures
LAYER_ID LayerID
Sheet on which bus is located.
std::map< SYMBOL_ID, SYMBOL > Symbols
std::map< REUSEBLOCK_ID, REUSEBLOCK > ReuseBlocks
VARIANT_HIERARCHY VariantHierarchy
std::map< DOCUMENTATION_SYMBOL_ID, DOCUMENTATION_SYMBOL > DocumentationSymbols
std::map< FIGURE_ID, FIGURE > Figures
std::map< TEXT_ID, TEXT > Texts
std::map< BLOCK_ID, BLOCK > Blocks
std::map< BUS_ID, BUS > Buses
std::map< GROUP_ID, GROUP > Groups
std::map< NET_ID, NET_SCH > Nets
std::map< ATTRIBUTE_ID, ATTRIBUTE_VALUE > AttributeValues
std::map< TERMINALCODE_ID, TERMINALCODE > TerminalCodes
ATTRIBUTE_LOCATION AttrLoc
std::map< SYMDEF_ID, SYMDEF_SCM > SymbolDefinitions
< "BLOCKTERM" nodename (represents a connection to a block)
NETELEMENT_ID ID
First four characters "BLKT".
< "BUSTERM" nodename (represents a connection to a bus)
POINT FirstPoint
Point on the bus itself.
NETELEMENT_ID ID
First two characters "BT".
POINT SecondPoint
Start point for any wires.
LAYER_ID LayerID
Sheet on which the connection is drawn.
LINECODE_ID ConnectionLineCode
std::vector< POINT > Path
REUSEBLOCKREF ReuseBlockRef
< "DANGLER" nodename (represents a dangling wire)
NETELEMENT_ID ID
First character "D".
TERMINALCODE_ID TerminalCodeID
TERMINALCODE_ID TerminalCodeID
Usually a circle, but size can be varied.
< "TERM" nodename (represents a pin in a SCH symbol)
NETELEMENT_ID ID
First character is "P".
std::map< NETELEMENT_ID, DANGLER > Danglers
std::map< NETELEMENT_ID, SYM_TERM > Terminals
std::vector< CONNECTION_SCH > Connections
std::map< NETELEMENT_ID, BUS_TERM > BusTerminals
std::map< NETELEMENT_ID, BLOCK_TERM > BlockTerminals
std::map< NETELEMENT_ID, JUNCTION_SCH > Junctions
ATTRIBUTE_LOCATION AttrLoc
std::vector< LAYER_ID > SheetOrder
A vector to also store the order in which sheets are to be displayed.
std::map< LAYER_ID, SHEET_NAME > SheetNames
Net name or bus name label.
wxString Text
This contains the numbers of the other sheets where the signal reference is present separated by comm...
ATTRIBUTE_LOCATION AttrLoc
REUSEBLOCKREF ReuseBlockRef
GROUP_ID GroupID
If not empty, this symbol is part of a group.
LAYER_ID LayerID
Sheet on which symbol is located.
SYMBOL_ID VariantParentSymbolID
std::map< ATTRIBUTE_ID, ATTRIBUTE_VALUE > AttributeValues
GATE_ID GateID
The gate this symbol represents within the associated Part.
long ScaleRatioNumerator
Symbols can be arbitrarily scaled in CADSTAR.
SIGNALREFERENCELINK SigRefLink
Signal References (a special form of global signal) have annotations showing the location of all the ...
std::map< TERMINAL_ID, SYMPINNAME_LABEL > PinNames
Identifier of the pin in the PCB Equivalent to KiCad's Pin Number.
std::map< TERMINAL_ID, SYMPINNAME_LABEL > PinLabels
Equivalent to KiCad's Pin Name.
std::map< TERMINAL_ID, PIN_NUM > PinNumbers
This seems to only appear in older designs and is similar to PinNames but only allowing numerical val...
long ScaleRatioDenominator
std::map< TERMINAL_ID, TERMATTR > TerminalAttributes
SYMBOLVARIANT SymbolVariant
std::map< TERMINAL_ID, PIN_NUM_LABEL_LOC > PinLabelLocations
std::map< TERMINAL_ID, PIN_NUM_LABEL_LOC > PinNumberLocations
std::map< TERMINAL_ID, TERMINAL > Terminals
ATTRIBUTE_LOCATION AttrLoc
std::vector< ATTRIBUTE_VALUE > Attributes
long LeftLength
Might also be total length.
long RightLength
Could be blank.
TERMINAL_SHAPE_TYPE ShapeType
long OrientAngle
1/1000 of a Degree
static bool IsTermShape(XNODE *aNode)
TERMINALCODE_ID TerminalCodeID
POINT Position
Pad position within the component's coordinate frame.