KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ORCAD_SYMBOL_DEF Struct Reference

A symbol definition from the design Cache (LibraryPart / GlobalSymbol / PortSymbol / OffPageSymbol / TitleBlockSymbol / ERCSymbol / ...), or the nested SthInPages0 body of a page graphic. More...

#include <orcad_records.h>

Public Attributes

int typeId = 0
 ORCAD_ST value.
 
std::string name
 cache name, e.g. "C.Normal"
 
std::string sourceLib
 
int color = 0
 
std::vector< ORCAD_PRIMITIVEprimitives
 
std::vector< ORCAD_SYMBOL_PINpins
 
std::optional< ORCAD_BBOXbbox
 symbol-space body box
 
std::map< std::string, std::string > props
 
std::vector< ORCAD_SYMBOL_DEFvariants
 Stale same-name cache entries (older library versions), in cache order, EXCLUDING this entry itself.
 
int generalFlags = -1
 LibraryPart GeneralProperties flags (-1 = absent); bit0 = pin numbers visible, bit2 = pin names hidden.
 
bool synthesized = false
 placeholder built from T0x10 data
 

Detailed Description

A symbol definition from the design Cache (LibraryPart / GlobalSymbol / PortSymbol / OffPageSymbol / TitleBlockSymbol / ERCSymbol / ...), or the nested SthInPages0 body of a page graphic.

Body layout: lzt name, lzt sourceLib, u32 color, u16 primitive count (with an occasional 8 zero bytes between primitives, detected by the next 2 bytes not forming a valid doubled primitive type pair), then the bounding box stored as the LAST 8 bytes before the next prefix stop offset (the gap is 8, or 16 with 8 unknown/legacy-trailer bytes first) as 4 x i16 (x1, y1, x2, y2), accepted only when x1 <= x2, y1 <= y2 and each span <= 4000 DBU. Library symbols then carry u16 pin count (pin structures) and u16 property count (framed, skipped); SthInPages0 bodies have no pin/property lists.

Definition at line 417 of file orcad_records.h.

Member Data Documentation

◆ bbox

◆ color

◆ generalFlags

int ORCAD_SYMBOL_DEF::generalFlags = -1

LibraryPart GeneralProperties flags (-1 = absent); bit0 = pin numbers visible, bit2 = pin names hidden.

Definition at line 439 of file orcad_records.h.

Referenced by ORCAD_CONVERTER::kicadSymbolFor(), OrcadReadSymbolDef(), and v2PartCell().

◆ name

◆ pins

◆ primitives

◆ props

std::map<std::string, std::string> ORCAD_SYMBOL_DEF::props

Definition at line 426 of file orcad_records.h.

Referenced by OrcadReadSymbolDef().

◆ sourceLib

std::string ORCAD_SYMBOL_DEF::sourceLib

Definition at line 421 of file orcad_records.h.

Referenced by OrcadReadSymbolDef(), v2LibSymbolDef(), and v2SymbolDef().

◆ synthesized

bool ORCAD_SYMBOL_DEF::synthesized = false

placeholder built from T0x10 data

Definition at line 441 of file orcad_records.h.

Referenced by ORCAD_CONVERTER::placeInstance(), and ORCAD_CONVERTER::synthesizeSymbol().

◆ typeId

◆ variants

std::vector<ORCAD_SYMBOL_DEF> ORCAD_SYMBOL_DEF::variants

Stale same-name cache entries (older library versions), in cache order, EXCLUDING this entry itself.

Variant index 0 designates this (the first seen, default) definition; index i >= 1 designates variants[i - 1]. Per-instance selection matches transformed pin hot points against the instance's T0x10 absolute positions; first entry wins by default.

Definition at line 435 of file orcad_records.h.

Referenced by ORCAD_CONVERTER::pickVariant().


The documentation for this struct was generated from the following file: