KiCad PCB EDA Suite
zones.h File Reference
#include <wx/translation.h>

Go to the source code of this file.

Macros

#define ZONE_THERMAL_RELIEF_GAP_MIL   20
 
#define ZONE_THERMAL_RELIEF_COPPER_WIDTH_MIL   20
 
#define ZONE_THICKNESS_MIL   10
 
#define ZONE_THICKNESS_MIN_VALUE_MIL   1
 
#define ZONE_CLEARANCE_MIL   20
 
#define ZONE_CLEARANCE_MAX_VALUE_MIL   500
 
#define ZONE_BORDER_HATCH_DIST_MIL   20
 
#define ZONE_BORDER_HATCH_MINDIST_MM   0.1
 
#define ZONE_BORDER_HATCH_MAXDIST_MM   2.0
 
#define ZONE_EXPORT_VALUES   1004
 

Enumerations

enum class  ZONE_CONNECTION {
  INHERITED = -1 , NONE , THERMAL , FULL ,
  THT_THERMAL
}
 How pads are covered by copper in zone. More...
 

Functions

wxString PrintZoneConnection (ZONE_CONNECTION aConnection)
 
int InvokeNonCopperZonesEditor (PCB_BASE_FRAME *aParent, ZONE_SETTINGS *aSettings, CONVERT_SETTINGS *aConvertSettings=nullptr)
 Function InvokeNonCopperZonesEditor invokes up a modal dialog window for non-copper zone editing. More...
 
int InvokeCopperZonesEditor (PCB_BASE_FRAME *aCaller, ZONE_SETTINGS *aSettings, CONVERT_SETTINGS *aConvertSettings=nullptr)
 Function InvokeCopperZonesEditor invokes up a modal dialog window for copper zone editing. More...
 
int InvokeRuleAreaEditor (PCB_BASE_FRAME *aCaller, ZONE_SETTINGS *aSettings, CONVERT_SETTINGS *aConvertSettings=nullptr)
 Function InvokeRuleAreaEditor invokes up a modal dialog window for copper zone editing. More...
 

Macro Definition Documentation

◆ ZONE_BORDER_HATCH_DIST_MIL

#define ZONE_BORDER_HATCH_DIST_MIL   20

Definition at line 39 of file zones.h.

◆ ZONE_BORDER_HATCH_MAXDIST_MM

#define ZONE_BORDER_HATCH_MAXDIST_MM   2.0

Definition at line 41 of file zones.h.

◆ ZONE_BORDER_HATCH_MINDIST_MM

#define ZONE_BORDER_HATCH_MINDIST_MM   0.1

Definition at line 40 of file zones.h.

◆ ZONE_CLEARANCE_MAX_VALUE_MIL

#define ZONE_CLEARANCE_MAX_VALUE_MIL   500

Definition at line 38 of file zones.h.

◆ ZONE_CLEARANCE_MIL

#define ZONE_CLEARANCE_MIL   20

Definition at line 37 of file zones.h.

◆ ZONE_EXPORT_VALUES

#define ZONE_EXPORT_VALUES   1004

Definition at line 44 of file zones.h.

◆ ZONE_THERMAL_RELIEF_COPPER_WIDTH_MIL

#define ZONE_THERMAL_RELIEF_COPPER_WIDTH_MIL   20

Definition at line 34 of file zones.h.

◆ ZONE_THERMAL_RELIEF_GAP_MIL

#define ZONE_THERMAL_RELIEF_GAP_MIL   20

Definition at line 33 of file zones.h.

◆ ZONE_THICKNESS_MIL

#define ZONE_THICKNESS_MIL   10

Definition at line 35 of file zones.h.

◆ ZONE_THICKNESS_MIN_VALUE_MIL

#define ZONE_THICKNESS_MIN_VALUE_MIL   1

Definition at line 36 of file zones.h.

Enumeration Type Documentation

◆ ZONE_CONNECTION

enum class ZONE_CONNECTION
strong

How pads are covered by copper in zone.

Enumerator
INHERITED 
NONE 

Pads are not covered.

THERMAL 

Use thermal relief for pads.

FULL 

pads are covered by copper

THT_THERMAL 

Thermal relief only for THT pads.

Definition at line 49 of file zones.h.

50{
51 INHERITED = -1,
52 NONE,
53 THERMAL,
54 FULL,
56};
@ NONE
Definition: kibis.h:53
@ THERMAL
Use thermal relief for pads.
@ THT_THERMAL
Thermal relief only for THT pads.

Function Documentation

◆ InvokeCopperZonesEditor()

int InvokeCopperZonesEditor ( PCB_BASE_FRAME aCaller,
ZONE_SETTINGS aSettings,
CONVERT_SETTINGS aConvertSettings = nullptr 
)

Function InvokeCopperZonesEditor invokes up a modal dialog window for copper zone editing.

Parameters
aCalleris the PCB_BASE_FRAME calling parent window for the modal dialog, and it gives access to the BOARD through PCB_BASE_FRAME::GetBoard().
aSettingspoints to the ZONE_SETTINGS to edit.
Returns
int - tells if user aborted, changed only one zone, or all of them.

Definition at line 132 of file dialog_copper_zones.cpp.

134{
135 DIALOG_COPPER_ZONE dlg( aCaller, aSettings, aConvertSettings );
136
137 return dlg.ShowQuasiModal();
138}

References DIALOG_SHIM::ShowQuasiModal().

Referenced by ZONE_CREATE_HELPER::createNewZone(), CONVERT_TOOL::CreatePolys(), PCB_EDIT_FRAME::Edit_Zone_Params(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), and BOARD_EDITOR_CONTROL::ZoneDuplicate().

◆ InvokeNonCopperZonesEditor()

int InvokeNonCopperZonesEditor ( PCB_BASE_FRAME aParent,
ZONE_SETTINGS aSettings,
CONVERT_SETTINGS aConvertSettings = nullptr 
)

Function InvokeNonCopperZonesEditor invokes up a modal dialog window for non-copper zone editing.

Parameters
aParentis the PCB_BASE_FRAME calling parent window for the modal dialog, and it gives access to the BOARD through PCB_BASE_FRAME::GetBoard().
aSettingspoints to the ZONE_SETTINGS to edit.
Returns
int - tells if user aborted, changed only one zone, or all of them.

Definition at line 69 of file dialog_non_copper_zones_properties.cpp.

71{
72 DIALOG_NON_COPPER_ZONES_EDITOR dlg( aParent, aSettings, aConvertSettings );
73
74 return dlg.ShowQuasiModal();
75}

References DIALOG_SHIM::ShowQuasiModal().

Referenced by ZONE_CREATE_HELPER::createNewZone(), CONVERT_TOOL::CreatePolys(), PCB_EDIT_FRAME::Edit_Zone_Params(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), and BOARD_EDITOR_CONTROL::ZoneDuplicate().

◆ InvokeRuleAreaEditor()

int InvokeRuleAreaEditor ( PCB_BASE_FRAME aCaller,
ZONE_SETTINGS aSettings,
CONVERT_SETTINGS aConvertSettings = nullptr 
)

Function InvokeRuleAreaEditor invokes up a modal dialog window for copper zone editing.

Parameters
aCalleris the PCB_BASE_FRAME calling parent window for the modal dialog, and it gives access to the BOARD through PCB_BASE_FRAME::GetBoard().
aSettingspoints to the ZONE_SETTINGS to edit.
Returns
int - tells if user aborted, changed only one zone, or all of them.

Definition at line 66 of file dialog_rule_area_properties.cpp.

68{
69 DIALOG_RULE_AREA_PROPERTIES dlg( aCaller, aZoneSettings, aConvertSettings );
70
71 return dlg.ShowModal();
72}

Referenced by ZONE_CREATE_HELPER::createNewZone(), CONVERT_TOOL::CreatePolys(), PCB_EDIT_FRAME::Edit_Zone_Params(), FOOTPRINT_EDIT_FRAME::OnEditItemRequest(), and BOARD_EDITOR_CONTROL::ZoneDuplicate().

◆ PrintZoneConnection()

wxString PrintZoneConnection ( ZONE_CONNECTION  aConnection)
inline

Definition at line 59 of file zones.h.

60{
61 switch( aConnection )
62 {
63 default:
64 case ZONE_CONNECTION::INHERITED: return _( "inherited" );
65 case ZONE_CONNECTION::NONE: return _( "none" );
66 case ZONE_CONNECTION::THERMAL: return _( "thermal reliefs" );
67 case ZONE_CONNECTION::FULL: return _( "solid" );
68 case ZONE_CONNECTION::THT_THERMAL: return _( "thermal reliefs for PTH" );
69 }
70}
#define _(s)
@ NONE
Pads are not covered.
@ FULL
pads are covered by copper

References _, FULL, INHERITED, NONE, THERMAL, and THT_THERMAL.

Referenced by DRC_ENGINE::EvalRules(), and DRC_ENGINE::EvalZoneConnection().