KiCad PCB EDA Suite
CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING Struct Reference

#include <cadstar_pcb_archive_parser.h>

Inheritance diagram for CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING:

Public Types

enum  COPPER_FILL_TYPE { COPPER_FILL_TYPE::FILLED, COPPER_FILL_TYPE::HATCHED }
 
enum  RELIEF_TYPE { RELIEF_TYPE::CROSS, RELIEF_TYPE::CUTOUTS }
 From CADSTAR Help: "With this parameter you can select one of two ways in which to generate thermal reliefs. More...
 

Public Member Functions

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

Public Attributes

COPPERCODE_ID CopperCodeID
 From CADSTAR Help: "Copper Code is for selecting the width of the line used to draw the outline and filling for the copper shape. More...
 
COPPERCODE_ID ReliefCopperCodeID
 From CADSTAR Help: "Relief Copper Code is for selecting the width of line used to draw the thermal reliefs for pads connected to the power planes (created by Copper Pour) This subsequently controls the pen width (or aperture etc ...) used on a plotting machine" (param1) More...
 
long ClearanceWidth
 Specifies the space around pads when pouring (i.e. More...
 
long SliverWidth
 Minimum width of copper that may be created. More...
 
long AdditionalIsolation
 This is the gap to apply in routes and pads in addition to the existing pad-to-copper or route-to-copper spacing (see SPACINGCODE.ID) More...
 
long ThermalReliefPadsAngle
 Orientation for the thermal reliefs. More...
 
long ThermalReliefViasAngle
 Disabled when !ThermalReliefOnVias (param6) More...
 
long MinIsolatedCopper = UNDEFINED_VALUE
 The value is the length of one side of a notional square. More...
 
long MinDisjointCopper = UNDEFINED_VALUE
 The value is the length of one side of a notional square. More...
 
bool ThermalReliefOnPads = true
 false when subnode "NOPINRELIEF" is present More...
 
bool ThermalReliefOnVias = true
 false when subnode "NOVIARELIEF" is present More...
 
bool AllowInNoRouting = false
 true when subnode "IGNORETRN" is present More...
 
bool BoxIsolatedPins = false
 true when subnode "BOXPINS" is present More...
 
bool AutomaticRepour = false
 true when subnode "REGENERATE" is present More...
 
bool TargetForAutorouting = false
 true when subnode "AUTOROUTETARGET" is present More...
 
RELIEF_TYPE ReliefType = RELIEF_TYPE::CROSS
 See RELIEF_TYPE. More...
 
COPPER_FILL_TYPE FillType = COPPER_FILL_TYPE::FILLED
 Assume solid fill. More...
 
HATCHCODE_ID HatchCodeID = wxEmptyString
 Only for FillType = HATCHED. More...
 

Detailed Description

Definition at line 1033 of file cadstar_pcb_archive_parser.h.

Member Enumeration Documentation

◆ COPPER_FILL_TYPE

Enumerator
FILLED 
HATCHED 

This is a user defined HATCHCODE_ID.

Definition at line 1035 of file cadstar_pcb_archive_parser.h.

1036  {
1037  FILLED,
1038  HATCHED
1039  };

◆ RELIEF_TYPE

From CADSTAR Help: "With this parameter you can select one of two ways in which to generate thermal reliefs.

" Note: there doesn't appear to be any noticeable difference between the options.

Enumerator
CROSS 

This method applies short copper stubs to form a cross. (default)

CUTOUTS 

This method uses four cutouts in the copper to leave the reliefs required.

Note: The disadvantage of using cutouts is that they can be slower to generate.

Definition at line 1046 of file cadstar_pcb_archive_parser.h.

1047  {
1048  CROSS,
1049  CUTOUTS
1050  };

Member Function Documentation

◆ Parse()

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

Definition at line 2172 of file cadstar_pcb_archive_parser.cpp.

2173 {
2174  wxASSERT( aNode->GetName() == wxT( "POURING" ) );
2175 
2176  CopperCodeID = GetXmlAttributeIDString( aNode, 0 );
2178  ClearanceWidth = GetXmlAttributeIDLong( aNode, 2 );
2179  SliverWidth = GetXmlAttributeIDLong( aNode, 3 );
2183 
2184  wxString MinIsolCopStr = GetXmlAttributeIDString( aNode, 7 );
2185 
2186  if( MinIsolCopStr == wxT( "NONE" ) )
2188  else
2190 
2191  wxString MinDisjCopStr = GetXmlAttributeIDString( aNode, 8 );
2192 
2193  if( MinDisjCopStr == wxT( "NONE" ) )
2195  else
2197 
2198  XNODE* cNode = aNode->GetChildren();
2199 
2200  for( ; cNode; cNode = cNode->GetNext() )
2201  {
2202  wxString cNodeName = cNode->GetName();
2203 
2204  if( cNodeName == wxT( "NOPINRELIEF" ) )
2205  {
2206  ThermalReliefOnPads = false;
2207  }
2208  else if( cNodeName == wxT( "NOVIARELIEF" ) )
2209  {
2210  ThermalReliefOnVias = false;
2211  }
2212  else if( cNodeName == wxT( "IGNORETRN" ) )
2213  {
2214  AllowInNoRouting = true;
2215  }
2216  else if( cNodeName == wxT( "BOXPINS" ) )
2217  {
2218  BoxIsolatedPins = true;
2219  }
2220  else if( cNodeName == wxT( "REGENERATE" ) )
2221  {
2222  AutomaticRepour = true;
2223  }
2224  else if( cNodeName == wxT( "AUTOROUTETARGET" ) )
2225  {
2226  TargetForAutorouting = true;
2227  }
2228  else if( cNodeName == wxT( "THERMALCUTOUT" ) )
2229  {
2231  }
2232  else if( cNodeName == wxT( "FILLED" ) )
2233  {
2235  }
2236  else if( cNodeName == wxT( "HATCHCODEREF" ) )
2237  {
2239  HatchCodeID = GetXmlAttributeIDString( cNode, 0 );
2240  }
2241  else
2242  {
2243  THROW_UNKNOWN_NODE_IO_ERROR( cNodeName, wxT( "POURING" ) );
2244  }
2245  }
2246 }
bool ThermalReliefOnVias
false when subnode "NOVIARELIEF" is present
COPPERCODE_ID CopperCodeID
From CADSTAR Help: "Copper Code is for selecting the width of the line used to draw the outline and f...
bool BoxIsolatedPins
true when subnode "BOXPINS" is present
long MinIsolatedCopper
The value is the length of one side of a notional square.
XNODE * GetChildren() const
Definition: xnode.h:62
long ThermalReliefPadsAngle
Orientation for the thermal reliefs.
bool AllowInNoRouting
true when subnode "IGNORETRN" is present
HATCHCODE_ID HatchCodeID
Only for FillType = HATCHED.
bool ThermalReliefOnPads
false when subnode "NOPINRELIEF" is present
bool AutomaticRepour
true when subnode "REGENERATE" is present
static const long UNDEFINED_VALUE
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
long SliverWidth
Minimum width of copper that may be created.
COPPERCODE_ID ReliefCopperCodeID
From CADSTAR Help: "Relief Copper Code is for selecting the width of line used to draw the thermal re...
long MinDisjointCopper
The value is the length of one side of a notional square.
bool TargetForAutorouting
true when subnode "AUTOROUTETARGET" is present
long ClearanceWidth
Specifies the space around pads when pouring (i.e.
#define THROW_UNKNOWN_NODE_IO_ERROR(nodename, location)
long ThermalReliefViasAngle
Disabled when !ThermalReliefOnVias (param6)
long AdditionalIsolation
This is the gap to apply in routes and pads in addition to the existing pad-to-copper or route-to-cop...
static wxString GetXmlAttributeIDString(XNODE *aNode, unsigned int aID, bool aIsRequired=true)
This method uses four cutouts in the copper to leave the reliefs required.

References FILLED, XNODE::GetChildren(), XNODE::GetNext(), CADSTAR_ARCHIVE_PARSER::GetXmlAttributeIDLong(), CADSTAR_ARCHIVE_PARSER::GetXmlAttributeIDString(), THROW_UNKNOWN_NODE_IO_ERROR, and CADSTAR_ARCHIVE_PARSER::UNDEFINED_VALUE.

Member Data Documentation

◆ AdditionalIsolation

long CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::AdditionalIsolation

This is the gap to apply in routes and pads in addition to the existing pad-to-copper or route-to-copper spacing (see SPACINGCODE.ID)

Definition at line 1072 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ AllowInNoRouting

bool CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::AllowInNoRouting = false

true when subnode "IGNORETRN" is present

Definition at line 1087 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ AutomaticRepour

bool CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::AutomaticRepour = false

true when subnode "REGENERATE" is present

Definition at line 1089 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ BoxIsolatedPins

bool CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::BoxIsolatedPins = false

true when subnode "BOXPINS" is present

Definition at line 1088 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ ClearanceWidth

long CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::ClearanceWidth

Specifies the space around pads when pouring (i.e.

Thermal relief clearance)

Definition at line 1069 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ CopperCodeID

COPPERCODE_ID CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::CopperCodeID

From CADSTAR Help: "Copper Code is for selecting the width of the line used to draw the outline and filling for the copper shape.

This subsequently controls the pen width (or aperture etc ...) used on a plotting machine." (param0)

Definition at line 1055 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ FillType

COPPER_FILL_TYPE CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::FillType = COPPER_FILL_TYPE::FILLED

Assume solid fill.

Definition at line 1093 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ HatchCodeID

HATCHCODE_ID CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::HatchCodeID = wxEmptyString

Only for FillType = HATCHED.

Definition at line 1094 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ MinDisjointCopper

long CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::MinDisjointCopper = UNDEFINED_VALUE

The value is the length of one side of a notional square.

Disabled when UNDEFINED_VALUE

Definition at line 1081 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ MinIsolatedCopper

long CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::MinIsolatedCopper = UNDEFINED_VALUE

The value is the length of one side of a notional square.

Disabled when UNDEFINED_VALUE

Definition at line 1078 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ ReliefCopperCodeID

COPPERCODE_ID CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::ReliefCopperCodeID

From CADSTAR Help: "Relief Copper Code is for selecting the width of line used to draw the thermal reliefs for pads connected to the power planes (created by Copper Pour) This subsequently controls the pen width (or aperture etc ...) used on a plotting machine" (param1)

Definition at line 1061 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ ReliefType

RELIEF_TYPE CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::ReliefType = RELIEF_TYPE::CROSS

See RELIEF_TYPE.

Definition at line 1092 of file cadstar_pcb_archive_parser.h.

◆ SliverWidth

long CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::SliverWidth

Minimum width of copper that may be created.

Definition at line 1071 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ TargetForAutorouting

bool CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::TargetForAutorouting = false

true when subnode "AUTOROUTETARGET" is present

Definition at line 1090 of file cadstar_pcb_archive_parser.h.

◆ ThermalReliefOnPads

bool CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::ThermalReliefOnPads = true

false when subnode "NOPINRELIEF" is present

Definition at line 1085 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ ThermalReliefOnVias

bool CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::ThermalReliefOnVias = true

false when subnode "NOVIARELIEF" is present

Definition at line 1086 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ ThermalReliefPadsAngle

long CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::ThermalReliefPadsAngle

Orientation for the thermal reliefs.

Disabled when !ThermalReliefOnPads (param5)

Definition at line 1075 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().

◆ ThermalReliefViasAngle

long CADSTAR_PCB_ARCHIVE_PARSER::TEMPLATE::POURING::ThermalReliefViasAngle

Disabled when !ThermalReliefOnVias (param6)

Definition at line 1077 of file cadstar_pcb_archive_parser.h.

Referenced by CADSTAR_PCB_ARCHIVE_LOADER::loadTemplates().


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