23#include <api/board/board.pb.h>
24#include <api/board/board_rules.pb.h>
25#include <api/board/board_types.pb.h>
26#include <api/board/board_commands.pb.h>
27#include <api/board/board_jobs.pb.h>
28#include <api/common/types/enums.pb.h>
59using namespace kiapi::board::commands;
60using namespace kiapi::board::jobs;
73 wxCHECK_MSG(
false, types::PadType::PT_UNKNOWN,
74 "Unhandled case in ToProtoEnum<PAD_ATTRIB>");
84 case types::PadType::PT_UNKNOWN:
92 "Unhandled case in FromProtoEnum<types::PadType>" );
105 wxCHECK_MSG(
false, types::DrillShape::DS_UNKNOWN,
106 "Unhandled case in ToProtoEnum<PAD_DRILL_SHAPE>");
117 case types::DrillShape::DS_UNKNOWN:
121 "Unhandled case in FromProtoEnum<types::DrillShape>" );
139 wxCHECK_MSG(
false, types::PadStackShape::PSS_UNKNOWN,
140 "Unhandled case in ToProtoEnum<PAD_SHAPE>");
150 case types::PadStackShape::PSS_UNKNOWN:
161 "Unhandled case in FromProtoEnum<types::PadStackShape>" );
176 wxCHECK_MSG(
false, types::PadStackType::PST_UNKNOWN,
177 "Unhandled case in ToProtoEnum<PADSTACK::MODE>");
187 case types::PadStackType::PST_UNKNOWN:
194 "Unhandled case in FromProtoEnum<types::PadStackType>" );
204 case types::PadFabricationProperty::PFP_UNKNOWN:
205 case types::PadFabricationProperty::PFP_NONE:
return PAD_PROP::NONE;
206 case types::PadFabricationProperty::PFP_BGA:
return PAD_PROP::BGA;
217 "Unhandled case in FromProtoEnum<types::PadFabricationProperty>" );
227 case PAD_PROP::NONE:
return types::PadFabricationProperty::PFP_NONE;
228 case PAD_PROP::BGA:
return types::PadFabricationProperty::PFP_BGA;
238 wxCHECK_MSG(
false, types::PadFabricationProperty::PFP_UNKNOWN,
239 "Unhandled case in ToProtoEnum<PAD_PROP>" );
255 wxCHECK_MSG(
false, types::ViaType::VT_UNKNOWN,
256 "Unhandled case in ToProtoEnum<VIATYPE>");
266 case types::ViaType::VT_UNKNOWN:
275 "Unhandled case in FromProtoEnum<types::ViaType>" );
292 wxCHECK_MSG(
false, types::ZoneConnectionStyle::ZCS_UNKNOWN,
293 "Unhandled case in ToProtoEnum<ZONE_CONNECTION>");
312 "Unhandled case in FromProtoEnum<types::ZoneConnectionStyle>" );
363 return CustomRuleConstraintType::CRCT_NET_CHAIN_STUB_LENGTH;
365 return CustomRuleConstraintType::CRCT_NET_CHAIN_RETURN_PATH;
368 wxCHECK_MSG(
false, CustomRuleConstraintType::CRCT_UNKNOWN,
369 "Unhandled case in ToProtoEnum<DRC_CONSTRAINT_T>" );
424 "Unhandled case in FromProtoEnum<CustomRuleConstraintType>" );
439 wxCHECK_MSG(
false, CustomRuleConstraintOption::CRCO_UNKNOWN,
440 "Unhandled case in ToProtoEnum<DRC_CONSTRAINT::OPTIONS>" );
450 case CustomRuleConstraintOption::CRCO_SKEW_WITHIN_DIFF_PAIRS:
453 case CustomRuleConstraintOption::CRCO_SPACE_DOMAIN:
456 case CustomRuleConstraintOption::CRCO_TIME_DOMAIN:
459 case CustomRuleConstraintOption::CRCO_UNKNOWN:
462 "Unhandled case in FromProtoEnum<CustomRuleConstraintOption>" );
485 wxCHECK_MSG(
false, CustomRuleDisallowType::CRDT_UNKNOWN,
486 "Unhandled case in ToProtoEnum<DRC_DISALLOW_T>" );
508 case CustomRuleDisallowType::CRDT_UNKNOWN:
511 "Unhandled case in FromProtoEnum<CustomRuleDisallowType>" );
522 return types::UnconnectedLayerRemoval::ULR_KEEP;
525 return types::UnconnectedLayerRemoval::ULR_REMOVE;
528 return types::UnconnectedLayerRemoval::ULR_REMOVE_EXCEPT_START_AND_END;
531 return types::UnconnectedLayerRemoval::ULR_START_END_ONLY;
534 wxCHECK_MSG(
false, types::UnconnectedLayerRemoval::ULR_UNKNOWN,
535 "Unhandled case in ToProtoEnum<PADSTACK::UNCONNECTED_LAYER_MODE>");
545 case types::UnconnectedLayerRemoval::ULR_UNKNOWN:
546 case types::UnconnectedLayerRemoval::ULR_KEEP:
549 case types::UnconnectedLayerRemoval::ULR_REMOVE:
552 case types::UnconnectedLayerRemoval::ULR_REMOVE_EXCEPT_START_AND_END:
555 case types::UnconnectedLayerRemoval::ULR_START_END_ONLY:
560 "Unhandled case in FromProtoEnum<types::UnconnectedLayerRemoval>");
575 wxCHECK_MSG(
false, types::IslandRemovalMode::IRM_UNKNOWN,
576 "Unhandled case in ToProtoEnum<ISLAND_REMOVAL_MODE>");
586 case types::IslandRemovalMode::IRM_UNKNOWN:
593 "Unhandled case in FromProtoEnum<types::IslandRemovalMode>" );
608 wxCHECK_MSG(
false, types::ZoneFillMode::ZFM_UNKNOWN,
609 "Unhandled case in ToProtoEnum<ZONE_FILL_MODE>");
619 case types::ZoneFillMode::ZFM_UNKNOWN:
626 "Unhandled case in FromProtoEnum<types::ZoneFillMode>" );
641 wxCHECK_MSG(
false, types::ZoneCornerSmoothingMode::ZCSM_UNKNOWN,
642 "Unhandled case in ToProtoEnum<ZONE_SETTINGS::CORNER_SMOOTHING>" );
652 case types::ZoneCornerSmoothingMode::ZCSM_UNKNOWN:
659 "Unhandled case in FromProtoEnum<ZoneCornerSmoothingMode>" );
674 wxCHECK_MSG(
false, types::ThievingPattern::TP_UNKNOWN,
675 "Unhandled case in ToProtoEnum<THIEVING_PATTERN>" );
685 case types::ThievingPattern::TP_UNKNOWN:
692 "Unhandled case in FromProtoEnum<types::ThievingPattern>" );
708 wxCHECK_MSG(
false, types::ZoneBorderStyle::ZBS_UNKNOWN,
709 "Unhandled case in ToProtoEnum<ZONE_BORDER_DISPLAY_STYLE>");
721 case types::ZoneBorderStyle::ZBS_UNKNOWN:
727 "Unhandled case in FromProtoEnum<types::ZoneHatchBorderMode>" );
738 return types::PlacementRuleSourceType::PRST_SHEET_NAME;
741 return types::PlacementRuleSourceType::PRST_COMPONENT_CLASS;
744 return types::PlacementRuleSourceType::PRST_GROUP;
747 return types::PlacementRuleSourceType::PRST_DESIGN_BLOCK;
750 wxCHECK_MSG(
false, types::PlacementRuleSourceType::PRST_UNKNOWN,
751 "Unhandled case in ToProtoEnum<PLACEMENT_SOURCE_T>");
761 case types::PlacementRuleSourceType::PRST_UNKNOWN:
762 case types::PlacementRuleSourceType::PRST_SHEET_NAME:
765 case types::PlacementRuleSourceType::PRST_COMPONENT_CLASS:
768 case types::PlacementRuleSourceType::PRST_GROUP:
771 case types::PlacementRuleSourceType::PRST_DESIGN_BLOCK:
776 "Unhandled case in FromProtoEnum<types::PlacementRuleSourceType>" );
792 wxCHECK_MSG(
false, types::ZoneTeardropType::ZTDT_UNKNOWN,
793 "Unhandled case in ToProtoEnum<TEARDROP_TYPE>");
803 case types::ZoneTeardropType::ZTDT_UNKNOWN:
811 "Unhandled case in FromProtoEnum<types::ZoneTeardropType>" );
821 case TARGET_ROUND:
return kiapi::board::TeardropTarget::TDT_ROUND;
822 case TARGET_RECT:
return kiapi::board::TeardropTarget::TDT_RECT;
823 case TARGET_TRACK:
return kiapi::board::TeardropTarget::TDT_TRACK;
826 wxCHECK_MSG(
false, kiapi::board::TeardropTarget::TDT_UNKNOWN,
827 "Unhandled case in ToProtoEnum<TARGET_TD>" );
837 case kiapi::board::TeardropTarget::TDT_ROUND:
return TARGET_ROUND;
838 case kiapi::board::TeardropTarget::TDT_RECT:
return TARGET_RECT;
839 case kiapi::board::TeardropTarget::TDT_TRACK:
return TARGET_TRACK;
841 case kiapi::board::TeardropTarget::TDT_UNKNOWN:
859 wxCHECK_MSG(
false, types::DimensionTextBorderStyle::DTBS_UNKNOWN,
860 "Unhandled case in ToProtoEnum<DIM_TEXT_BORDER>");
870 case types::DimensionTextBorderStyle::DTBS_UNKNOWN:
878 "Unhandled case in FromProtoEnum<types::DimensionTextBorderStyle>" );
893 wxCHECK_MSG(
false, types::DimensionUnitFormat::DUF_UNKNOWN,
894 "Unhandled case in ToProtoEnum<DIM_UNITS_FORMAT>");
904 case types::DimensionUnitFormat::DUF_UNKNOWN:
911 "Unhandled case in FromProtoEnum<types::DimensionUnitFormat>" );
925 wxCHECK_MSG(
false, types::DimensionArrowDirection::DAD_UNKNOWN,
926 "Unhandled case in ToProtoEnum<DIM_ARROW_DIRECTION>");
937 case types::DimensionArrowDirection::DAD_UNKNOWN:
942 "Unhandled case in FromProtoEnum<types::DimensionArrowDirection>" );
964 wxCHECK_MSG(
false, types::DimensionPrecision::DP_UNKNOWN,
965 "Unhandled case in ToProtoEnum<DIM_PRECISION>");
981 case types::DimensionPrecision::DP_UNKNOWN:
989 "Unhandled case in FromProtoEnum<types::DimensionPrecision>" );
1004 wxCHECK_MSG(
false, types::DimensionTextPosition::DTP_UNKNOWN,
1005 "Unhandled case in ToProtoEnum<DIM_TEXT_POSITION>");
1015 case types::DimensionTextPosition::DTP_UNKNOWN:
1022 "Unhandled case in FromProtoEnum<types::DimensionTextPosition>" );
1038 wxCHECK_MSG(
false, types::DimensionUnit::DU_UNKNOWN,
1039 "Unhandled case in ToProtoEnum<DIM_UNITS_MODE>");
1052 case types::DimensionUnit::DU_UNKNOWN:
1057 "Unhandled case in FromProtoEnum<types::DimensionUnit>" );
1072 wxCHECK_MSG(
false, commands::InactiveLayerDisplayMode::ILDM_NORMAL,
1073 "Unhandled case in ToProtoEnum<HIGH_CONTRAST_MODE>");
1085 case commands::InactiveLayerDisplayMode::ILDM_UNKNOWN:
1090 "Unhandled case in FromProtoEnum<commands::InactiveLayerDisplayMode>" );
1105 wxCHECK_MSG(
false, commands::NetColorDisplayMode::NCDM_UNKNOWN,
1106 "Unhandled case in ToProtoEnum<NET_COLOR_MODE>");
1118 case commands::NetColorDisplayMode::NCDM_UNKNOWN:
1123 "Unhandled case in FromProtoEnum<commands::NetColorDisplayMode>" );
1137 wxCHECK_MSG(
false, commands::RatsnestDisplayMode::RDM_UNKNOWN,
1138 "Unhandled case in ToProtoEnum<RATSNEST_MODE>");
1149 case commands::RatsnestDisplayMode::RDM_UNKNOWN:
1154 "Unhandled case in FromProtoEnum<commands::RatsnestDisplayMode>" );
1172 wxCHECK_MSG(
false, BoardStackupLayerType::BSLT_UNKNOWN,
1173 "Unhandled case in ToProtoEnum<BOARD_STACKUP_ITEM_TYPE>");
1192 "Unhandled case in FromProtoEnum<BoardStackupLayerType>" );
1206 wxCHECK_MSG(
false, DielectricModel::DM_UNKNOWN,
1207 "Unhandled case in ToProtoEnum<DIELECTRIC_MODEL>" );
1222 "Unhandled case in FromProtoEnum<DielectricModel>" );
1237 wxCHECK_MSG(
false, BoardEdgeConnectorType::BECT_UNKNOWN,
1238 "Unhandled case in ToProtoEnum<BS_EDGE_CONNECTOR_CONSTRAINTS>" );
1254 "Unhandled case in FromProtoEnum<BoardEdgeConnectorType>" );
1273 wxCHECK_MSG(
false, DrcSeverity::DRS_UNDEFINED,
1274 "Unhandled case in ToProtoEnum<SEVERITY>");
1291 case DrcSeverity::DRS_UNKNOWN:
1307 wxCHECK_MSG(
false, PlotDrillMarks::PDM_UNKNOWN,
1308 "Unhandled case in ToProtoEnum<DRILL_MARKS>" );
1321 case PlotDrillMarks::PDM_UNKNOWN:
1344 wxCHECK_MSG(
false, Board3DFormat::B3D_UNKNOWN,
1345 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_3D::FORMAT>" );
1365 case Board3DFormat::B3D_UNKNOWN:
1382 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
1383 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_3D::VRML_UNITS>" );
1397 case kiapi::common::types::Units::U_UNKNOWN:
1412 wxCHECK_MSG(
false, RenderFormat::RF_UNKNOWN,
1413 "Unhandled case in ToProtoEnum<JOB_PCB_RENDER::FORMAT>" );
1425 case RenderFormat::RF_UNKNOWN:
1442 wxCHECK_MSG(
false, RenderQuality::RQ_UNKNOWN,
1443 "Unhandled case in ToProtoEnum<JOB_PCB_RENDER::QUALITY>" );
1457 case RenderQuality::RQ_UNKNOWN:
1473 wxCHECK_MSG(
false, RenderBackgroundStyle::RBS_UNKNOWN,
1474 "Unhandled case in ToProtoEnum<JOB_PCB_RENDER::BG_STYLE>" );
1487 case RenderBackgroundStyle::RBS_UNKNOWN:
1506 wxCHECK_MSG(
false, RenderSide::RS_UNKNOWN,
1507 "Unhandled case in ToProtoEnum<JOB_PCB_RENDER::SIDE>" );
1523 case RenderSide::RS_UNKNOWN:
1538 wxCHECK_MSG(
false, BoardJobPaginationMode::BJPM_UNKNOWN,
1539 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_SVG::GEN_MODE>" );
1549 case BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE:
1551 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE:
1553 case BoardJobPaginationMode::BJPM_UNKNOWN:
1554 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE:
1569 wxCHECK_MSG(
false, BoardJobPaginationMode::BJPM_UNKNOWN,
1570 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DXF::GEN_MODE>" );
1580 case BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE:
1582 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE:
1584 case BoardJobPaginationMode::BJPM_UNKNOWN:
1585 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE:
1598 return BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE;
1600 return BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE;
1602 return BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE;
1604 wxCHECK_MSG(
false, BoardJobPaginationMode::BJPM_UNKNOWN,
1605 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_PDF::GEN_MODE>" );
1615 case BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE:
1617 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE:
1619 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE:
1621 case BoardJobPaginationMode::BJPM_UNKNOWN:
1636 wxCHECK_MSG(
false, BoardJobPaginationMode::BJPM_UNKNOWN,
1637 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_PS::GEN_MODE>" );
1647 case BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE:
1649 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE:
1651 case BoardJobPaginationMode::BJPM_UNKNOWN:
1652 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE:
1667 wxCHECK_MSG(
false, BoardJobPaginationMode::BJPM_UNKNOWN,
1668 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_PNG::GEN_MODE>" );
1678 case BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE:
1680 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE:
1682 case BoardJobPaginationMode::BJPM_UNKNOWN:
1683 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE:
1698 wxCHECK_MSG(
false, DrillFormat::DF_UNKNOWN,
1699 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DRILL::DRILL_FORMAT>" );
1711 case DrillFormat::DF_UNKNOWN:
1726 wxCHECK_MSG(
false, DrillOrigin::DO_UNKNOWN,
1727 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DRILL::DRILL_ORIGIN>" );
1739 case DrillOrigin::DO_UNKNOWN:
1752 return DrillZerosFormat::DZF_DECIMAL;
1754 return DrillZerosFormat::DZF_SUPPRESS_LEADING;
1756 return DrillZerosFormat::DZF_SUPPRESS_TRAILING;
1758 return DrillZerosFormat::DZF_KEEP_ZEROS;
1760 wxCHECK_MSG(
false, DrillZerosFormat::DZF_UNKNOWN,
1761 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DRILL::ZEROS_FORMAT>" );
1771 case DrillZerosFormat::DZF_DECIMAL:
1773 case DrillZerosFormat::DZF_SUPPRESS_LEADING:
1775 case DrillZerosFormat::DZF_SUPPRESS_TRAILING:
1777 case DrillZerosFormat::DZF_KEEP_ZEROS:
1779 case DrillZerosFormat::DZF_UNKNOWN:
1792 return DrillMapFormat::DMF_POSTSCRIPT;
1794 return DrillMapFormat::DMF_GERBER_X2;
1796 return DrillMapFormat::DMF_DXF;
1798 return DrillMapFormat::DMF_SVG;
1800 return DrillMapFormat::DMF_PDF;
1802 wxCHECK_MSG(
false, DrillMapFormat::DMF_UNKNOWN,
1803 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DRILL::MAP_FORMAT>" );
1813 case DrillMapFormat::DMF_POSTSCRIPT:
1815 case DrillMapFormat::DMF_GERBER_X2:
1817 case DrillMapFormat::DMF_DXF:
1819 case DrillMapFormat::DMF_SVG:
1821 case DrillMapFormat::DMF_PDF:
1823 case DrillMapFormat::DMF_UNKNOWN:
1838 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
1839 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DRILL::DRILL_UNITS>" );
1851 case kiapi::common::types::Units::U_UNKNOWN:
1852 case kiapi::common::types::Units::U_METERS:
1853 case kiapi::common::types::Units::U_TENTHS:
1869 wxCHECK_MSG(
false, PositionSide::PS_UNKNOWN,
1870 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_POS::SIDE>" );
1883 case PositionSide::PS_UNKNOWN:
1899 wxCHECK_MSG(
false, PositionFormat::PF_UNKNOWN,
1900 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_POS::FORMAT>" );
1913 case PositionFormat::PF_UNKNOWN:
1928 wxCHECK_MSG(
false, Ipc2581Version::IPC2581V_UNKNOWN,
1929 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_IPC2581::IPC2581_VERSION>" );
1941 case Ipc2581Version::IPC2581V_UNKNOWN:
1957 wxCHECK_MSG(
false, OdbCompression::ODBC_UNKNOWN,
1958 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_ODB::ODB_COMPRESSION>" );
1971 case OdbCompression::ODBC_UNKNOWN:
1986 wxCHECK_MSG(
false, StatsOutputFormat::SOF_UNKNOWN,
1987 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_STATS::OUTPUT_FORMAT>" );
1999 case StatsOutputFormat::SOF_UNKNOWN:
2014 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
2015 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DXF::DXF_UNITS>" );
2027 case kiapi::common::types::Units::U_UNKNOWN:
2028 case kiapi::common::types::Units::U_METERS:
2029 case kiapi::common::types::Units::U_TENTHS:
2044 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
2045 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_POS::UNITS>" );
2057 case kiapi::common::types::Units::U_UNKNOWN:
2058 case kiapi::common::types::Units::U_METERS:
2059 case kiapi::common::types::Units::U_TENTHS:
2074 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
2075 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_IPC2581::IPC2581_UNITS>" );
2087 case kiapi::common::types::Units::U_UNKNOWN:
2088 case kiapi::common::types::Units::U_METERS:
2089 case kiapi::common::types::Units::U_TENTHS:
2104 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
2105 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_ODB::ODB_UNITS>" );
2117 case kiapi::common::types::Units::U_UNKNOWN:
2118 case kiapi::common::types::Units::U_METERS:
2119 case kiapi::common::types::Units::U_TENTHS:
2134 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
2135 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_STATS::UNITS>" );
2147 case kiapi::common::types::Units::U_UNKNOWN:
2148 case kiapi::common::types::Units::U_METERS:
2149 case kiapi::common::types::Units::U_TENTHS:
2238 return DrcErrorType::DRCET_UNKNOWN;
2325 case DrcErrorType::DRCET_UNKNOWN:
2358 wxCHECK_MSG(
false, types::ConstraintType::CT_UNKNOWN,
2359 "Unhandled case in ToProtoEnum<PCB_CONSTRAINT_TYPE>" );
2391 "Unhandled case in FromProtoEnum<types::ConstraintType>" );
2410 wxCHECK_MSG(
false, types::ConstraintAnchor::CA_UNKNOWN,
2411 "Unhandled case in ToProtoEnum<CONSTRAINT_ANCHOR>" );
2421 case types::ConstraintAnchor::CA_UNKNOWN:
2432 "Unhandled case in FromProtoEnum<types::ConstraintAnchor>" );
types::PadType ToProtoEnum(PAD_ATTRIB aValue)
PAD_ATTRIB FromProtoEnum(types::PadType aValue)
HIGH_CONTRAST_MODE
Determine how inactive layers should be displayed.
@ NORMAL
Inactive layers are shown normally (no high-contrast mode)
@ HIDDEN
Inactive layers are hidden.
@ DIMMED
Inactive layers are dimmed (old high-contrast mode)
@ RATSNEST
Net/netclass colors are shown on ratsnest lines only.
@ ALL
Net/netclass colors are shown on all net copper.
@ OFF
Net (and netclass) colors are not shown.
@ VISIBLE
Ratsnest lines are drawn to items on visible layers only.
@ ALL
Ratsnest lines are drawn to items on all layers (default)
BS_EDGE_CONNECTOR_CONSTRAINTS
@ BS_EDGE_CONNECTOR_BEVELLED
@ BS_EDGE_CONNECTOR_IN_USE
@ BS_ITEM_TYPE_SILKSCREEN
@ BS_ITEM_TYPE_DIELECTRIC
@ BS_ITEM_TYPE_SOLDERPASTE
@ BS_ITEM_TYPE_SOLDERMASK
@ ALL_LAYERS_SEPARATE_FILE
@ ALL_LAYERS_ONE_FILE
DEPRECATED MODE.
@ ONE_PAGE_PER_LAYER_ONE_FILE
The most traditional output mode KiCad has had.
MODE
! Copper geometry mode: controls how many unique copper layer shapes this padstack has
@ NORMAL
Shape is the same on all layers.
@ CUSTOM
Shapes can be defined on arbitrary layers.
@ FRONT_INNER_BACK
Up to three shapes can be defined (F_Cu, inner copper layers, B_Cu)
@ DRCE_DISABLED_LAYER_ITEM
@ DRCE_FOOTPRINT_SCALED_WITH_PADS
@ DRCE_DP_UNCOUPLED_LENGTH_TOO_LONG
@ DRCE_TUNING_PROFILE_IMPLICIT_RULES
@ DRCE_MICROVIA_STACK_DEPTH
@ DRCE_SILK_EDGE_CLEARANCE
@ DRCE_SILK_MASK_CLEARANCE
@ DRCE_DP_GAP_OUT_OF_RANGE
@ DRCE_MIRRORED_TEXT_ON_FRONT_LAYER
@ DRCE_LIB_FOOTPRINT_ISSUES
@ DRCE_MICROVIA_CROSSES_CORE
@ DRCE_OVERLAPPING_FOOTPRINTS
@ DRCE_TRACK_ON_POST_MACHINED_LAYER
@ DRCE_NET_CHAIN_STUB_TOO_LONG
@ DRCE_MALFORMED_MICROVIA_STACK_SPAN
@ DRCE_MICROVIA_ASPECT_RATIO
@ DRCE_DRILL_OUT_OF_RANGE
@ DRCE_NET_CHAIN_RETURN_PATH_BREAK
@ DRCE_TRACK_SEGMENT_LENGTH
@ DRCE_SCHEMATIC_FIELDS_PARITY
@ DRCE_MICROVIA_STACK_NOT_FILLED
@ DRCE_TRACK_NOT_CENTERED_ON_VIA
@ DRCE_NET_CHAIN_TUNING_PROFILES
@ DRCE_MISSING_TUNING_PROFILE
@ DRCE_DRILLED_HOLES_TOO_CLOSE
@ DRCE_MICROVIA_DRILL_OUT_OF_RANGE
@ DRCE_MALFORMED_COURTYARD
@ DRCE_UNRESOLVED_VARIABLE
@ DRCE_FOOTPRINT_TYPE_MISMATCH
@ DRCE_DUPLICATE_FOOTPRINT
@ DRCE_DRILLED_HOLES_COLOCATED
@ DRCE_LENGTH_OUT_OF_RANGE
@ DRCE_LIB_FOOTPRINT_MISMATCH
@ DRCE_PAD_TH_WITH_NO_HOLE
@ DRCE_UNMIRRORED_TEXT_ON_BACK_LAYER
@ DRCE_VIA_COUNT_OUT_OF_RANGE
@ DRC_DISALLOW_BURIED_VIAS
@ DRC_DISALLOW_BLIND_VIAS
@ DRC_DISALLOW_THROUGH_VIAS
@ DRC_DISALLOW_FOOTPRINTS
@ DRC_DISALLOW_MICRO_VIAS
@ ANNULAR_WIDTH_CONSTRAINT
@ BRIDGED_MASK_CONSTRAINT
@ COURTYARD_CLEARANCE_CONSTRAINT
@ VIA_DIAMETER_CONSTRAINT
@ ZONE_CONNECTION_CONSTRAINT
@ DIFF_PAIR_GAP_CONSTRAINT
@ NET_CHAIN_LENGTH_CONSTRAINT
@ VIA_DANGLING_CONSTRAINT
@ SOLDER_MASK_SLIVER_CONSTRAINT
@ NET_CHAIN_STUB_LENGTH_CONSTRAINT
@ SILK_CLEARANCE_CONSTRAINT
@ EDGE_CLEARANCE_CONSTRAINT
@ MIN_RESOLVED_SPOKES_CONSTRAINT
@ TRACK_SEGMENT_LENGTH_CONSTRAINT
@ TEXT_THICKNESS_CONSTRAINT
@ NET_CHAIN_RETURN_PATH_CONSTRAINT
@ PHYSICAL_HOLE_CLEARANCE_CONSTRAINT
@ MICROVIA_ASPECT_RATIO_CONSTRAINT
@ THERMAL_SPOKE_WIDTH_CONSTRAINT
@ CONNECTION_WIDTH_CONSTRAINT
@ THERMAL_RELIEF_GAP_CONSTRAINT
@ MAX_UNCOUPLED_CONSTRAINT
@ MICROVIA_STACK_DEPTH_CONSTRAINT
@ HOLE_CLEARANCE_CONSTRAINT
@ SOLDER_PASTE_ABS_MARGIN_CONSTRAINT
@ SOLDER_MASK_EXPANSION_CONSTRAINT
@ DIFF_PAIR_INTRA_SKEW_CONSTRAINT
@ PHYSICAL_CLEARANCE_CONSTRAINT
@ SOLDER_PASTE_REL_MARGIN_CONSTRAINT
@ HOLE_TO_HOLE_CONSTRAINT
PAD_DRILL_SHAPE
The set of pad drill shapes, used with PAD::{Set,Get}DrillShape()
PAD_ATTRIB
The set of pad shapes, used with PAD::{Set,Get}Attribute().
@ NPTH
like PAD_PTH, but not plated mechanical use only, no connection allowed
@ SMD
Smd pad, appears on the solder paste layer (default)
@ PTH
Plated through hole pad.
@ CONN
Like smd, does not appear on the solder paste layer (default) Note: also has a special attribute in G...
PAD_SHAPE
The set of pad shapes, used with PAD::{Set,Get}Shape()
PAD_PROP
The set of pad properties used in Gerber files (Draw files, and P&P files) to define some properties ...
@ FIDUCIAL_LOCAL
a fiducial (usually a smd) local to the parent footprint
@ FIDUCIAL_GLBL
a fiducial (usually a smd) for the full board
@ MECHANICAL
a pad used for mechanical support
@ PRESSFIT
a PTH with a hole diameter with tight tolerances for press fit pin
@ HEATSINK
a pad used as heat sink, usually in SMD footprints
@ NONE
no special fabrication property
@ TESTPOINT
a test point pad
@ CASTELLATED
a pad with a castellated through hole
@ BGA
Smd pad, used in BGA footprints.
@ REMOVE_EXCEPT_START_AND_END
CONSTRAINT_ANCHOR
Which feature of a referenced board item participates in a constraint.
@ VERTEX
An indexed rectangle corner or polygon outline vertex; pairs with CONSTRAINT_MEMBER::m_index.
@ MID
Midpoint of a segment or arc.
@ RADIUS
The radius (scalar feature) of an arc or circle.
@ WHOLE
The item as a whole (a segment as a line, a circle).
@ START
First endpoint of a segment or arc.
@ END
Second endpoint of a segment or arc.
@ CENTER
Center of an arc or circle.
PCB_CONSTRAINT_TYPE
The geometric relationship a PCB_CONSTRAINT enforces between its members.
@ CONCENTRIC
Two arcs/circles share a center.
@ SYMMETRIC
Two points are mirror images about an axis.
@ FIXED_POSITION
A point is locked at its current location.
@ VERTICAL
A segment (or two points) is vertical.
@ TANGENT
A line and a curve, or two curves, touch tangentially.
@ COINCIDENT
Two points are made to coincide.
@ PERPENDICULAR
Two segments are perpendicular.
@ FIXED_RADIUS
An arc/circle has a driving radius value.
@ HORIZONTAL
A segment (or two points) is horizontal.
@ EQUAL_RADIUS
Two arcs/circles have equal radius.
@ MIDPOINT
A point is the midpoint of a segment.
@ POINT_ON_LINE
A point lies on a segment's supporting line.
@ FIXED_LENGTH
A segment has a driving length value.
@ ANGULAR_DIMENSION
An angle between members (driving or reference).
@ COLLINEAR
Two segments lie on the same line.
@ ARC_ANGLE
An arc has a driving or reference swept-angle value.
@ PARALLEL
Two segments are parallel.
@ EQUAL_LENGTH
Two segments have equal length.
DIM_TEXT_POSITION
Where to place the text on a dimension.
@ OUTSIDE
Text appears outside the dimension line (default)
@ MANUAL
Text placement is manually set by the user.
@ INLINE
Text appears in line with the dimension line.
DIM_UNITS_FORMAT
How to display the units in a dimension's text.
DIM_UNITS_MODE
Used for storing the units selection in the file because EDA_UNITS alone doesn't cut it.
DIM_ARROW_DIRECTION
Used for dimension's arrow.
DIM_TEXT_BORDER
Frame to show around dimension text.
DRILL_MARKS
Plots and prints can show holes in pads and vias 3 options are available:
TEARDROP_TYPE
define the type of a teardrop: on a via or pad, or a track end
DIELECTRIC_MODEL
Frequency-domain model used for the substrate dielectric properties.
Class ZONE_SETTINGS used to handle zones parameters in dialogs.
THIEVING_PATTERN
Shape stamped onto the grid for a copper-thieving fill.
ISLAND_REMOVAL_MODE
Whether or not to remove isolated islands from a zone.
ZONE_BORDER_DISPLAY_STYLE
Zone border styles.
ZONE_CONNECTION
How pads are covered by copper in zone.
@ THERMAL
Use thermal relief for pads.
@ THT_THERMAL
Thermal relief only for THT pads.
@ NONE
Pads are not covered.
@ FULL
pads are covered by copper