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:
CADSTAR_ARCHIVE_PARSER::PARSER

Public Types

enum class  COPPER_FILL_TYPE { FILLED , HATCHED }
 
enum class  RELIEF_TYPE { CROSS , 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 1037 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 1039 of file cadstar_pcb_archive_parser.h.

1040 {
1041 FILLED,
1042 HATCHED
1043 };
@ FILLED
Definition: outline_mode.h:27

◆ 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 1050 of file cadstar_pcb_archive_parser.h.

1051 {
1052 CROSS,
1053 CUTOUTS
1056 };

Member Function Documentation

◆ Parse()

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

Implements CADSTAR_ARCHIVE_PARSER::PARSER.

Definition at line 2196 of file cadstar_pcb_archive_parser.cpp.

2197{
2198 wxASSERT( aNode->GetName() == wxT( "POURING" ) );
2199
2203 SliverWidth = GetXmlAttributeIDLong( aNode, 3 );
2207
2208 wxString MinIsolCopStr = GetXmlAttributeIDString( aNode, 7 );
2209
2210 if( MinIsolCopStr == wxT( "NONE" ) )
2212 else
2214
2215 wxString MinDisjCopStr = GetXmlAttributeIDString( aNode, 8 );
2216
2217 if( MinDisjCopStr == wxT( "NONE" ) )
2219 else
2221
2222 XNODE* cNode = aNode->GetChildren();
2223
2224 for( ; cNode; cNode = cNode->GetNext() )
2225 {
2226 wxString cNodeName = cNode->GetName();
2227
2228 if( cNodeName == wxT( "NOPINRELIEF" ) )
2229 {
2230 ThermalReliefOnPads = false;
2231 }
2232 else if( cNodeName == wxT( "NOVIARELIEF" ) )
2233 {
2234 ThermalReliefOnVias = false;
2235 }
2236 else if( cNodeName == wxT( "IGNORETRN" ) )
2237 {
2238 AllowInNoRouting = true;
2239 }
2240 else if( cNodeName == wxT( "BOXPINS" ) )
2241 {
2242 BoxIsolatedPins = true;
2243 }
2244 else if( cNodeName == wxT( "REGENERATE" ) )
2245 {
2246 AutomaticRepour = true;
2247 }
2248 else if( cNodeName == wxT( "AUTOROUTETARGET" ) )
2249 {
2250 TargetForAutorouting = true;
2251 }
2252 else if( cNodeName == wxT( "THERMALCUTOUT" ) )
2253 {
2255 }
2256 else if( cNodeName == wxT( "FILLED" ) )
2257 {
2259 }
2260 else if( cNodeName == wxT( "HATCHCODEREF" ) )
2261 {
2264 }
2265 else
2266 {
2267 THROW_UNKNOWN_NODE_IO_ERROR( cNodeName, wxT( "POURING" ) );
2268 }
2269 }
2270}
#define THROW_UNKNOWN_NODE_IO_ERROR(nodename, location)
static const long UNDEFINED_VALUE
static wxString GetXmlAttributeIDString(XNODE *aNode, unsigned int aID, bool aIsRequired=true)
static long GetXmlAttributeIDLong(XNODE *aNode, unsigned int aID, bool aIsRequired=true)
Hold an XML or S-expression element.
Definition: xnode.h:44
XNODE * GetChildren() const
Definition: xnode.h:62
XNODE * GetNext() const
Definition: xnode.h:67
long AdditionalIsolation
This is the gap to apply in routes and pads in addition to the existing pad-to-copper or route-to-cop...
bool TargetForAutorouting
true when subnode "AUTOROUTETARGET" is present
bool ThermalReliefOnVias
false when subnode "NOVIARELIEF" is present
@ CUTOUTS
This method uses four cutouts in the copper to leave the reliefs required.
HATCHCODE_ID HatchCodeID
Only for FillType = HATCHED.
bool ThermalReliefOnPads
false when subnode "NOPINRELIEF" is present
long ThermalReliefPadsAngle
Orientation for the thermal reliefs.
long MinDisjointCopper
The value is the length of one side of a notional square.
bool AutomaticRepour
true when subnode "REGENERATE" is present
bool AllowInNoRouting
true when subnode "IGNORETRN" is present
bool BoxIsolatedPins
true when subnode "BOXPINS" is present
long ClearanceWidth
Specifies the space around pads when pouring (i.e.
COPPERCODE_ID ReliefCopperCodeID
From CADSTAR Help: "Relief Copper Code is for selecting the width of line used to draw the thermal re...
COPPERCODE_ID CopperCodeID
From CADSTAR Help: "Copper Code is for selecting the width of the line used to draw the outline and f...
long ThermalReliefViasAngle
Disabled when !ThermalReliefOnVias (param6)
long MinIsolatedCopper
The value is the length of one side of a notional square.
long SliverWidth
Minimum width of copper that may be created.

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 1076 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 1091 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 1093 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 1092 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 1073 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 1059 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 1097 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 1098 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 1085 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 1082 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 1065 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 1096 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 1075 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 1094 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 1089 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 1090 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 1079 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 1081 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: