KiCad PCB EDA Suite
CADSTAR_PCB_ARCHIVE_PARSER::SPACINGCODE Struct Reference

#include <cadstar_pcb_archive_parser.h>

Inheritance diagram for CADSTAR_PCB_ARCHIVE_PARSER::SPACINGCODE:

Classes

struct  REASSIGN
 

Public Member Functions

void Parse (XNODE *aNode, PARSER_CONTEXT *aContext) override
 

Public Attributes

SPACINGCODE_ID ID
 Possible spacing rules: More...
 
long Spacing
 
std::vector< REASSIGNReassigns
 Can have different spacings on different layers. More...
 

Detailed Description

Definition at line 203 of file cadstar_pcb_archive_parser.h.

Member Function Documentation

◆ Parse()

void CADSTAR_PCB_ARCHIVE_PARSER::SPACINGCODE::Parse ( XNODE aNode,
PARSER_CONTEXT aContext 
)
override

Definition at line 630 of file cadstar_pcb_archive_parser.cpp.

631 {
632  wxASSERT( aNode->GetName() == wxT( "SPACINGCODE" ) );
633 
634  ID = GetXmlAttributeIDString( aNode, 0 );
635  Spacing = GetXmlAttributeIDLong( aNode, 1 );
636 
637  XNODE* cNode = aNode->GetChildren();
638 
639  for( ; cNode; cNode = cNode->GetNext() )
640  {
641  wxString cNodeName = cNode->GetName();
642 
643  if( cNodeName == wxT( "SPACEREASSIGN" ) )
644  {
645  REASSIGN reassign;
646  reassign.Parse( cNode, aContext );
647  Reassigns.push_back( reassign );
648  }
649  else
650  {
651  THROW_UNKNOWN_NODE_IO_ERROR( cNodeName, aNode->GetName() );
652  }
653  }
654 }
XNODE * GetChildren() const
Definition: xnode.h:62
static long GetXmlAttributeIDLong(XNODE *aNode, unsigned int aID, bool aIsRequired=true)
Hold an XML or S-expression element.
Definition: xnode.h:43
XNODE * GetNext() const
Definition: xnode.h:67
std::vector< REASSIGN > Reassigns
Can have different spacings on different layers.
#define THROW_UNKNOWN_NODE_IO_ERROR(nodename, location)
static wxString GetXmlAttributeIDString(XNODE *aNode, unsigned int aID, bool aIsRequired=true)
SPACINGCODE_ID ID
Possible spacing rules:

References XNODE::GetChildren(), XNODE::GetNext(), CADSTAR_ARCHIVE_PARSER::GetXmlAttributeIDLong(), CADSTAR_ARCHIVE_PARSER::GetXmlAttributeIDString(), CADSTAR_PCB_ARCHIVE_PARSER::SPACINGCODE::REASSIGN::Parse(), and THROW_UNKNOWN_NODE_IO_ERROR.

Referenced by CADSTAR_PCB_ARCHIVE_PARSER::RULESET::Parse(), and CADSTAR_PCB_ARCHIVE_PARSER::CODEDEFS_PCB::Parse().

Member Data Documentation

◆ ID

SPACINGCODE_ID CADSTAR_PCB_ARCHIVE_PARSER::SPACINGCODE::ID

Possible spacing rules:

  • A_A = Component Placement to Component Placement
  • C_B = Copper to Board
  • C_C = Copper to Copper
  • H_H = Hole to Hole
  • OT_P = Optimal Route to Pad (Optional Rule)
  • OT_T = Optimal Route to Route (Optional Rule)
  • OT_V = Optimal Route to Via (Optional Rule)
  • P_B = Pad to Board
  • P_C = Pad to Copper
  • P_P = Pad to Pad
  • P_S = Pad to SMD pad (Optional Rule)
  • P_V = Pad to Via
  • T_B = Route to Board outline
  • T_C = Route to Copper
  • T_P = Route to Pad
  • T_T = Route to Route
  • T_S = Route to SMD Pad (Optional Rule)
  • T_V = Route to Via
  • S_B = SMD Pad to Board (Optional Rule)
  • S_C = SMD Pad to Copper (Optional Rule)
  • S_S = SMD Pad to SMD Pad (Optional Rule)
  • L_B = Test Land to Board
  • L_O = Test Land to Component
  • L_L = Test Land to Test Land
  • V_B = Via to Board
  • V_C = Via to Copper
  • V_S = Via to SMD Pad (Optional Rule)
  • V_V = Via to Via

Other design rules are in: TECHNOLOGY->MAXMITER = Maximum Mitre (This parameter is not actually checked in Cadstar) TECHNOLOGY->MINMITER = Minimum Mitre (This parameter is not actually checked in Cadstar) TECHNOLOGY->MINUNNECKED = Minimum Thicker Track Length TECHNOLOGY->MINNECKED = Minimum Thinner Track Length TECHNOLOGY->MINROUTEWIDTH = Thin Route Width

Definition at line 251 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_PARSER::RULESET::Parse(), and CADSTAR_PCB_ARCHIVE_PARSER::CODEDEFS_PCB::Parse().

◆ Reassigns

std::vector<REASSIGN> CADSTAR_PCB_ARCHIVE_PARSER::SPACINGCODE::Reassigns

Can have different spacings on different layers.

Definition at line 253 of file cadstar_pcb_archive_parser.h.

◆ Spacing

long CADSTAR_PCB_ARCHIVE_PARSER::SPACINGCODE::Spacing

Definition at line 252 of file cadstar_pcb_archive_parser.h.


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