KiCad PCB EDA Suite
Loading...
Searching...
No Matches
fab_pin.h
Go to the documentation of this file.
1
/*
2
* This program source code file is part of KiCad, a free EDA CAD application.
3
*
4
* Copyright The KiCad Developers, see AUTHORS.txt for contributors.
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <https://www.gnu.org/licenses/>.
18
*/
19
20
#pragma once
21
22
#include <cstddef>
23
#include <wx/string.h>
24
25
class
PAD
;
26
27
enum class
FAB_PAD_ROLE
28
{
29
NONE
,
30
BGA
,
31
FIDUCIAL_GLOBAL
,
32
FIDUCIAL_LOCAL
,
33
TESTPOINT
,
34
HEATSINK
,
35
CASTELLATED
,
36
MECHANICAL
,
37
PRESSFIT
,
38
TOOLING_HOLE
39
};
40
41
enum class
FAB_MOUNT
42
{
43
SMT
,
44
THT
,
45
HOLE
,
46
OTHER
47
};
48
49
enum class
FAB_ELECTRICAL
50
{
51
ELECTRICAL
,
52
MECHANICAL
,
53
UNDEFINED
54
};
55
56
struct
FAB_PIN
57
{
58
wxString
m_name
;
59
FAB_PAD_ROLE
m_role
=
FAB_PAD_ROLE::NONE
;
60
FAB_MOUNT
m_mount
=
FAB_MOUNT::OTHER
;
61
FAB_ELECTRICAL
m_electrical
=
FAB_ELECTRICAL::UNDEFINED
;
62
};
63
65
FAB_PIN
MakeFabPin
(
const
PAD
& aPad,
size_t
aIndexInFootprint );
66
68
FAB_PAD_ROLE
GetFabPadRole
(
const
PAD
& aPad );
PAD
Definition
pad.h:61
NONE
@ NONE
Definition
eda_fill.h:42
FAB_MOUNT
FAB_MOUNT
Definition
fab_pin.h:42
FAB_MOUNT::OTHER
@ OTHER
Definition
fab_pin.h:46
FAB_MOUNT::THT
@ THT
Definition
fab_pin.h:44
FAB_MOUNT::SMT
@ SMT
Definition
fab_pin.h:43
FAB_MOUNT::HOLE
@ HOLE
Definition
fab_pin.h:45
FAB_ELECTRICAL
FAB_ELECTRICAL
Definition
fab_pin.h:50
FAB_ELECTRICAL::UNDEFINED
@ UNDEFINED
Definition
fab_pin.h:53
FAB_ELECTRICAL::ELECTRICAL
@ ELECTRICAL
Definition
fab_pin.h:51
GetFabPadRole
FAB_PAD_ROLE GetFabPadRole(const PAD &aPad)
Explicit fabrication properties take precedence over the unnumbered NPTH fallback.
Definition
fab_pin.cpp:26
FAB_PAD_ROLE
FAB_PAD_ROLE
Definition
fab_pin.h:28
FAB_PAD_ROLE::FIDUCIAL_LOCAL
@ FIDUCIAL_LOCAL
Definition
fab_pin.h:32
FAB_PAD_ROLE::FIDUCIAL_GLOBAL
@ FIDUCIAL_GLOBAL
Definition
fab_pin.h:31
FAB_PAD_ROLE::TOOLING_HOLE
@ TOOLING_HOLE
Definition
fab_pin.h:38
FAB_PAD_ROLE::MECHANICAL
@ MECHANICAL
Definition
fab_pin.h:36
FAB_PAD_ROLE::PRESSFIT
@ PRESSFIT
Definition
fab_pin.h:37
FAB_PAD_ROLE::HEATSINK
@ HEATSINK
Definition
fab_pin.h:34
FAB_PAD_ROLE::NONE
@ NONE
Definition
fab_pin.h:29
FAB_PAD_ROLE::TESTPOINT
@ TESTPOINT
Definition
fab_pin.h:33
FAB_PAD_ROLE::CASTELLATED
@ CASTELLATED
Definition
fab_pin.h:35
FAB_PAD_ROLE::BGA
@ BGA
Definition
fab_pin.h:30
MakeFabPin
FAB_PIN MakeFabPin(const PAD &aPad, size_t aIndexInFootprint)
aIndexInFootprint is the pad's position in its footprint, used to name NPTH and unnumbered pads
Definition
fab_pin.cpp:50
SHEET_SIDE::UNDEFINED
@ UNDEFINED
Definition
sch_sheet_pin.h:52
FAB_PIN
Definition
fab_pin.h:57
FAB_PIN::m_name
wxString m_name
Definition
fab_pin.h:58
FAB_PIN::m_electrical
FAB_ELECTRICAL m_electrical
Definition
fab_pin.h:61
FAB_PIN::m_mount
FAB_MOUNT m_mount
Definition
fab_pin.h:60
FAB_PIN::m_role
FAB_PAD_ROLE m_role
Definition
fab_pin.h:59
src
pcbnew
exporters
fab_model
fab_pin.h
Generated on Wed Oct 7 2026 00:06:02 for KiCad PCB EDA Suite by
1.13.2