KiCad PCB EDA Suite
CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION Struct Reference

#include <cadstar_pcb_archive_parser.h>

Inheritance diagram for CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION:
CADSTAR_ARCHIVE_PARSER::SETTINGS CADSTAR_ARCHIVE_PARSER::PARSER

Public Member Functions

void Parse (XNODE *aNode, PARSER_CONTEXT *aContext) override
 
bool ParseSubNode (XNODE *aChildNode, PARSER_CONTEXT *aContext)
 

Public Attributes

long MinRouteWidth
 Manufacturing Design Rule. Corresponds to "Thin Route Width". More...
 
long MinNeckedLength
 Manufacturing Design Rule. More...
 
long MinUnneckedLength
 Manufacturing Design Rule. More...
 
long MinMitre
 Manufacturing Design Rule. Corresponds to "Minimum Mitre". More...
 
long MaxMitre
 Manufacturing Design Rule. Corresponds to "Maximum Mitre". More...
 
long MaxPhysicalLayer
 Should equal number of copper layers. More...
 
long TrackGrid
 Grid for Routes (equal X and Y steps) More...
 
long ViaGrid
 Grid for Vias (equal X and Y steps) More...
 
bool BackOffJunctions = false
 
bool BackOffWidthChange = false
 
UNITS Units
 Units to display for linear dimensions. More...
 
long UnitDisplPrecision
 Number of decimal points to display for linear dimensions. More...
 
long InterlineGap
 For CADSTAR font only, distance between lines of text, expressed as a percentage of the text height (accepted values are 0-100) More...
 
long BarlineGap
 For CADSTAR font only, distance between top bar and character, expressed as a percentage of the text height (accepted values are 0-100) More...
 
bool AllowBarredText = false
 Specifies if barring is allowed in the design. More...
 
long AngularPrecision
 Number of decimal points to display for angular dimensions. More...
 
LONGPOINT DesignOrigin
 
std::pair< POINT, POINTDesignArea
 
LONGPOINT DesignRef
 Appears to be 0,0 always. More...
 
LONGPOINT DesignLimit
 

Detailed Description

Definition at line 399 of file cadstar_pcb_archive_parser.h.

Member Function Documentation

◆ Parse()

void CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::Parse ( XNODE aNode,
PARSER_CONTEXT aContext 
)
overridevirtual

Reimplemented from CADSTAR_ARCHIVE_PARSER::SETTINGS.

Definition at line 920 of file cadstar_pcb_archive_parser.cpp.

921 {
922  wxASSERT( aNode->GetName() == wxT( "TECHNOLOGY" ) );
923 
924  XNODE* cNode = aNode->GetChildren();
925 
926  for( ; cNode; cNode = cNode->GetNext() )
927  {
928  wxString cNodeName = cNode->GetName();
929 
930  if( ParseSubNode( cNode, aContext ) ) //CADSTAR_ARCHIVE_PARSER::SETTINGS
931  {
932  }
933  else if( cNodeName == wxT( "MINROUTEWIDTH" ) )
934  {
935  MinRouteWidth = GetXmlAttributeIDLong( cNode, 0 );
936  }
937  else if( cNodeName == wxT( "MINNECKED" ) )
938  {
940  }
941  else if( cNodeName == wxT( "MINUNNECKED" ) )
942  {
944  }
945  else if( cNodeName == wxT( "MINMITER" ) )
946  {
947  MinMitre = GetXmlAttributeIDLong( cNode, 0 );
948  }
949  else if( cNodeName == wxT( "MAXMITER" ) )
950  {
951  MaxMitre = GetXmlAttributeIDLong( cNode, 0 );
952  }
953  else if( cNodeName == wxT( "MAXPHYSLAYER" ) )
954  {
956  }
957  else if( cNodeName == wxT( "TRACKGRID" ) )
958  {
959  TrackGrid = GetXmlAttributeIDLong( cNode, 0 );
960  }
961  else if( cNodeName == wxT( "VIAGRID" ) )
962  {
963  ViaGrid = GetXmlAttributeIDLong( cNode, 0 );
964  }
965  else if( cNodeName == wxT( "BACKOFFJCTS" ) )
966  {
967  BackOffJunctions = true;
968  }
969  else if( cNodeName == wxT( "BCKOFFWIDCHANGE" ) )
970  {
971  BackOffWidthChange = true;
972  }
973  else
974  {
975  THROW_UNKNOWN_NODE_IO_ERROR( cNodeName, wxT( "TECHNOLOGY" ) );
976  }
977  }
978 }
long ViaGrid
Grid for Vias (equal X and Y steps)
long MaxPhysicalLayer
Should equal number of copper layers.
XNODE * GetChildren() const
Definition: xnode.h:62
bool ParseSubNode(XNODE *aChildNode, PARSER_CONTEXT *aContext)
long TrackGrid
Grid for Routes (equal X and Y steps)
static long GetXmlAttributeIDLong(XNODE *aNode, unsigned int aID, bool aIsRequired=true)
Hold an XML or S-expression element.
Definition: xnode.h:43
long MinMitre
Manufacturing Design Rule. Corresponds to "Minimum Mitre".
#define THROW_UNKNOWN_NODE_IO_ERROR(nodename, location)
long MinRouteWidth
Manufacturing Design Rule. Corresponds to "Thin Route Width".
long MaxMitre
Manufacturing Design Rule. Corresponds to "Maximum Mitre".

References XNODE::GetChildren(), CADSTAR_ARCHIVE_PARSER::GetXmlAttributeIDLong(), and THROW_UNKNOWN_NODE_IO_ERROR.

Referenced by CADSTAR_PCB_ARCHIVE_PARSER::ASSIGNMENTS::Parse().

◆ ParseSubNode()

bool CADSTAR_ARCHIVE_PARSER::SETTINGS::ParseSubNode ( XNODE aChildNode,
PARSER_CONTEXT aContext 
)
inherited

Definition at line 669 of file cadstar_archive_parser.cpp.

670 {
671  wxString cNodeName = aChildNode->GetName();
672 
673  if( cNodeName == wxT( "UNITS" ) )
674  {
675  Units = ParseUnits( aChildNode );
676  }
677  else if( cNodeName == wxT( "UNITSPRECISION" ) )
678  {
679  UnitDisplPrecision = GetXmlAttributeIDLong( aChildNode, 0 );
680  }
681  else if( cNodeName == wxT( "INTERLINEGAP" ) )
682  {
683  InterlineGap = GetXmlAttributeIDLong( aChildNode, 0 );
684  }
685  else if( cNodeName == wxT( "BARLINEGAP" ) )
686  {
687  BarlineGap = GetXmlAttributeIDLong( aChildNode, 0 );
688  }
689  else if( cNodeName == wxT( "ALLOWBARTEXT" ) )
690  {
691  AllowBarredText = true;
692  }
693  else if( cNodeName == wxT( "ANGULARPRECISION" ) )
694  {
695  AngularPrecision = GetXmlAttributeIDLong( aChildNode, 0 );
696  }
697  else if( cNodeName == wxT( "DESIGNORIGIN" ) )
698  {
699  DesignOrigin.Parse( aChildNode->GetChildren(), aContext );
700  }
701  else if( cNodeName == wxT( "DESIGNAREA" ) )
702  {
703  std::vector<POINT> pts = ParseAllChildPoints( aChildNode, aContext, true, 2 );
704  DesignArea = std::make_pair( pts[0], pts[1] );
705  }
706  else if( cNodeName == wxT( "DESIGNREF" ) )
707  {
708  DesignOrigin.Parse( aChildNode->GetChildren(), aContext );
709  }
710  else if( cNodeName == wxT( "DESIGNLIMIT" ) )
711  {
712  DesignLimit.Parse( aChildNode->GetChildren(), aContext );
713  }
714  else
715  {
716  return false;
717  }
718 
719  return true;
720 }
std::pair< POINT, POINT > DesignArea
long AngularPrecision
Number of decimal points to display for angular dimensions.
UNITS Units
Units to display for linear dimensions.
long UnitDisplPrecision
Number of decimal points to display for linear dimensions.
XNODE * GetChildren() const
Definition: xnode.h:62
bool AllowBarredText
Specifies if barring is allowed in the design.
long InterlineGap
For CADSTAR font only, distance between lines of text, expressed as a percentage of the text height (...
long BarlineGap
For CADSTAR font only, distance between top bar and character, expressed as a percentage of the text ...
static long GetXmlAttributeIDLong(XNODE *aNode, unsigned int aID, bool aIsRequired=true)
static UNITS ParseUnits(XNODE *aNode)
void Parse(XNODE *aNode, PARSER_CONTEXT *aContext) override
static std::vector< POINT > ParseAllChildPoints(XNODE *aNode, PARSER_CONTEXT *aContext, bool aTestAllChildNodes=false, int aExpectedNumPoints=UNDEFINED_VALUE)
if no children are present, it just returns an empty vector (without throwing an exception)

References XNODE::GetChildren(), CADSTAR_ARCHIVE_PARSER::GetXmlAttributeIDLong(), CADSTAR_ARCHIVE_PARSER::ParseAllChildPoints(), and CADSTAR_ARCHIVE_PARSER::ParseUnits().

Member Data Documentation

◆ AllowBarredText

bool CADSTAR_ARCHIVE_PARSER::SETTINGS::AllowBarredText = false
inherited

Specifies if barring is allowed in the design.

Definition at line 535 of file cadstar_archive_parser.h.

◆ AngularPrecision

long CADSTAR_ARCHIVE_PARSER::SETTINGS::AngularPrecision
inherited

Number of decimal points to display for angular dimensions.

Definition at line 536 of file cadstar_archive_parser.h.

◆ BackOffJunctions

bool CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::BackOffJunctions = false

Definition at line 415 of file cadstar_pcb_archive_parser.h.

◆ BackOffWidthChange

bool CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::BackOffWidthChange = false

Definition at line 416 of file cadstar_pcb_archive_parser.h.

◆ BarlineGap

long CADSTAR_ARCHIVE_PARSER::SETTINGS::BarlineGap
inherited

For CADSTAR font only, distance between top bar and character, expressed as a percentage of the text height (accepted values are 0-100)

Definition at line 532 of file cadstar_archive_parser.h.

◆ DesignArea

std::pair<POINT, POINT> CADSTAR_ARCHIVE_PARSER::SETTINGS::DesignArea
inherited

Definition at line 539 of file cadstar_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::Load().

◆ DesignLimit

LONGPOINT CADSTAR_ARCHIVE_PARSER::SETTINGS::DesignLimit
inherited

◆ DesignOrigin

LONGPOINT CADSTAR_ARCHIVE_PARSER::SETTINGS::DesignOrigin
inherited

Definition at line 538 of file cadstar_archive_parser.h.

◆ DesignRef

LONGPOINT CADSTAR_ARCHIVE_PARSER::SETTINGS::DesignRef
inherited

Appears to be 0,0 always.

Definition at line 540 of file cadstar_archive_parser.h.

◆ InterlineGap

long CADSTAR_ARCHIVE_PARSER::SETTINGS::InterlineGap
inherited

For CADSTAR font only, distance between lines of text, expressed as a percentage of the text height (accepted values are 0-100)

Definition at line 529 of file cadstar_archive_parser.h.

◆ MaxMitre

long CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::MaxMitre

Manufacturing Design Rule. Corresponds to "Maximum Mitre".

Definition at line 407 of file cadstar_pcb_archive_parser.h.

◆ MaxPhysicalLayer

long CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::MaxPhysicalLayer

Should equal number of copper layers.

However, it seems this can be set to any arbitrarily high number as long as it is greater or equal to the number of copper layers. Also the last copper layer (bottom) must have this set as its value.

Definition at line 408 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::getKiCadCopperLayerID(), and CADSTAR_PCB_ARCHIVE_LOADER::loadNetVia().

◆ MinMitre

long CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::MinMitre

Manufacturing Design Rule. Corresponds to "Minimum Mitre".

Definition at line 406 of file cadstar_pcb_archive_parser.h.

◆ MinNeckedLength

long CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::MinNeckedLength

Manufacturing Design Rule.

Corresponds to "Minimum Thinner Track Length"

Definition at line 402 of file cadstar_pcb_archive_parser.h.

◆ MinRouteWidth

long CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::MinRouteWidth

Manufacturing Design Rule. Corresponds to "Thin Route Width".

Definition at line 401 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadDesignRules().

◆ MinUnneckedLength

long CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::MinUnneckedLength

Manufacturing Design Rule.

Corresponds to "Minimum Thicker Track Length"

Definition at line 404 of file cadstar_pcb_archive_parser.h.

◆ TrackGrid

long CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::TrackGrid

Grid for Routes (equal X and Y steps)

Definition at line 412 of file cadstar_pcb_archive_parser.h.

◆ UnitDisplPrecision

long CADSTAR_ARCHIVE_PARSER::SETTINGS::UnitDisplPrecision
inherited

Number of decimal points to display for linear dimensions.

Definition at line 528 of file cadstar_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::applyDimensionSettings().

◆ Units

UNITS CADSTAR_ARCHIVE_PARSER::SETTINGS::Units
inherited

Units to display for linear dimensions.

Definition at line 527 of file cadstar_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::applyDimensionSettings().

◆ ViaGrid

long CADSTAR_PCB_ARCHIVE_PARSER::TECHNOLOGY_SECTION::ViaGrid

Grid for Vias (equal X and Y steps)

Definition at line 413 of file cadstar_pcb_archive_parser.h.


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