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>
63using namespace kiapi::board::commands;
64using namespace kiapi::board::jobs;
77 wxCHECK_MSG(
false, types::PadType::PT_UNKNOWN,
78 "Unhandled case in ToProtoEnum<PAD_ATTRIB>");
88 case types::PadType::PT_UNKNOWN:
96 "Unhandled case in FromProtoEnum<types::PadType>" );
109 wxCHECK_MSG(
false, types::DrillShape::DS_UNKNOWN,
110 "Unhandled case in ToProtoEnum<PAD_DRILL_SHAPE>");
121 case types::DrillShape::DS_UNKNOWN:
125 "Unhandled case in FromProtoEnum<types::DrillShape>" );
143 wxCHECK_MSG(
false, types::PadStackShape::PSS_UNKNOWN,
144 "Unhandled case in ToProtoEnum<PAD_SHAPE>");
154 case types::PadStackShape::PSS_UNKNOWN:
165 "Unhandled case in FromProtoEnum<types::PadStackShape>" );
180 wxCHECK_MSG(
false, types::PadStackType::PST_UNKNOWN,
181 "Unhandled case in ToProtoEnum<PADSTACK::MODE>");
191 case types::PadStackType::PST_UNKNOWN:
198 "Unhandled case in FromProtoEnum<types::PadStackType>" );
208 case types::PadFabricationProperty::PFP_UNKNOWN:
209 case types::PadFabricationProperty::PFP_NONE:
return PAD_PROP::NONE;
210 case types::PadFabricationProperty::PFP_BGA:
return PAD_PROP::BGA;
221 "Unhandled case in FromProtoEnum<types::PadFabricationProperty>" );
231 case PAD_PROP::NONE:
return types::PadFabricationProperty::PFP_NONE;
232 case PAD_PROP::BGA:
return types::PadFabricationProperty::PFP_BGA;
242 wxCHECK_MSG(
false, types::PadFabricationProperty::PFP_UNKNOWN,
243 "Unhandled case in ToProtoEnum<PAD_PROP>" );
259 wxCHECK_MSG(
false, types::ViaType::VT_UNKNOWN,
260 "Unhandled case in ToProtoEnum<VIATYPE>");
270 case types::ViaType::VT_UNKNOWN:
279 "Unhandled case in FromProtoEnum<types::ViaType>" );
296 wxCHECK_MSG(
false, types::ZoneConnectionStyle::ZCS_UNKNOWN,
297 "Unhandled case in ToProtoEnum<ZONE_CONNECTION>");
316 "Unhandled case in FromProtoEnum<types::ZoneConnectionStyle>" );
367 return CustomRuleConstraintType::CRCT_NET_CHAIN_STUB_LENGTH;
369 return CustomRuleConstraintType::CRCT_NET_CHAIN_RETURN_PATH;
372 wxCHECK_MSG(
false, CustomRuleConstraintType::CRCT_UNKNOWN,
373 "Unhandled case in ToProtoEnum<DRC_CONSTRAINT_T>" );
428 "Unhandled case in FromProtoEnum<CustomRuleConstraintType>" );
443 wxCHECK_MSG(
false, CustomRuleConstraintOption::CRCO_UNKNOWN,
444 "Unhandled case in ToProtoEnum<DRC_CONSTRAINT::OPTIONS>" );
454 case CustomRuleConstraintOption::CRCO_SKEW_WITHIN_DIFF_PAIRS:
457 case CustomRuleConstraintOption::CRCO_SPACE_DOMAIN:
460 case CustomRuleConstraintOption::CRCO_TIME_DOMAIN:
463 case CustomRuleConstraintOption::CRCO_UNKNOWN:
466 "Unhandled case in FromProtoEnum<CustomRuleConstraintOption>" );
489 wxCHECK_MSG(
false, CustomRuleDisallowType::CRDT_UNKNOWN,
490 "Unhandled case in ToProtoEnum<DRC_DISALLOW_T>" );
512 case CustomRuleDisallowType::CRDT_UNKNOWN:
515 "Unhandled case in FromProtoEnum<CustomRuleDisallowType>" );
526 return types::UnconnectedLayerRemoval::ULR_KEEP;
529 return types::UnconnectedLayerRemoval::ULR_REMOVE;
532 return types::UnconnectedLayerRemoval::ULR_REMOVE_EXCEPT_START_AND_END;
535 return types::UnconnectedLayerRemoval::ULR_START_END_ONLY;
538 wxCHECK_MSG(
false, types::UnconnectedLayerRemoval::ULR_UNKNOWN,
539 "Unhandled case in ToProtoEnum<PADSTACK::UNCONNECTED_LAYER_MODE>");
549 case types::UnconnectedLayerRemoval::ULR_UNKNOWN:
550 case types::UnconnectedLayerRemoval::ULR_KEEP:
553 case types::UnconnectedLayerRemoval::ULR_REMOVE:
556 case types::UnconnectedLayerRemoval::ULR_REMOVE_EXCEPT_START_AND_END:
559 case types::UnconnectedLayerRemoval::ULR_START_END_ONLY:
564 "Unhandled case in FromProtoEnum<types::UnconnectedLayerRemoval>");
579 wxCHECK_MSG(
false, types::IslandRemovalMode::IRM_UNKNOWN,
580 "Unhandled case in ToProtoEnum<ISLAND_REMOVAL_MODE>");
590 case types::IslandRemovalMode::IRM_UNKNOWN:
597 "Unhandled case in FromProtoEnum<types::IslandRemovalMode>" );
612 wxCHECK_MSG(
false, types::ZoneFillMode::ZFM_UNKNOWN,
613 "Unhandled case in ToProtoEnum<ZONE_FILL_MODE>");
623 case types::ZoneFillMode::ZFM_UNKNOWN:
630 "Unhandled case in FromProtoEnum<types::ZoneFillMode>" );
645 wxCHECK_MSG(
false, types::ZoneCornerSmoothingMode::ZCSM_UNKNOWN,
646 "Unhandled case in ToProtoEnum<ZONE_SETTINGS::CORNER_SMOOTHING>" );
656 case types::ZoneCornerSmoothingMode::ZCSM_UNKNOWN:
663 "Unhandled case in FromProtoEnum<ZoneCornerSmoothingMode>" );
678 wxCHECK_MSG(
false, types::ThievingPattern::TP_UNKNOWN,
679 "Unhandled case in ToProtoEnum<THIEVING_PATTERN>" );
689 case types::ThievingPattern::TP_UNKNOWN:
696 "Unhandled case in FromProtoEnum<types::ThievingPattern>" );
712 wxCHECK_MSG(
false, types::ZoneBorderStyle::ZBS_UNKNOWN,
713 "Unhandled case in ToProtoEnum<ZONE_BORDER_DISPLAY_STYLE>");
725 case types::ZoneBorderStyle::ZBS_UNKNOWN:
731 "Unhandled case in FromProtoEnum<types::ZoneHatchBorderMode>" );
742 return types::PlacementRuleSourceType::PRST_SHEET_NAME;
745 return types::PlacementRuleSourceType::PRST_COMPONENT_CLASS;
748 return types::PlacementRuleSourceType::PRST_GROUP;
751 return types::PlacementRuleSourceType::PRST_DESIGN_BLOCK;
754 wxCHECK_MSG(
false, types::PlacementRuleSourceType::PRST_UNKNOWN,
755 "Unhandled case in ToProtoEnum<PLACEMENT_SOURCE_T>");
765 case types::PlacementRuleSourceType::PRST_UNKNOWN:
766 case types::PlacementRuleSourceType::PRST_SHEET_NAME:
769 case types::PlacementRuleSourceType::PRST_COMPONENT_CLASS:
772 case types::PlacementRuleSourceType::PRST_GROUP:
775 case types::PlacementRuleSourceType::PRST_DESIGN_BLOCK:
780 "Unhandled case in FromProtoEnum<types::PlacementRuleSourceType>" );
796 wxCHECK_MSG(
false, types::ZoneTeardropType::ZTDT_UNKNOWN,
797 "Unhandled case in ToProtoEnum<TEARDROP_TYPE>");
807 case types::ZoneTeardropType::ZTDT_UNKNOWN:
815 "Unhandled case in FromProtoEnum<types::ZoneTeardropType>" );
825 case TARGET_ROUND:
return kiapi::board::TeardropTarget::TDT_ROUND;
826 case TARGET_RECT:
return kiapi::board::TeardropTarget::TDT_RECT;
827 case TARGET_TRACK:
return kiapi::board::TeardropTarget::TDT_TRACK;
830 wxCHECK_MSG(
false, kiapi::board::TeardropTarget::TDT_UNKNOWN,
831 "Unhandled case in ToProtoEnum<TARGET_TD>" );
841 case kiapi::board::TeardropTarget::TDT_ROUND:
return TARGET_ROUND;
842 case kiapi::board::TeardropTarget::TDT_RECT:
return TARGET_RECT;
843 case kiapi::board::TeardropTarget::TDT_TRACK:
return TARGET_TRACK;
845 case kiapi::board::TeardropTarget::TDT_UNKNOWN:
863 wxCHECK_MSG(
false, types::DimensionTextBorderStyle::DTBS_UNKNOWN,
864 "Unhandled case in ToProtoEnum<DIM_TEXT_BORDER>");
874 case types::DimensionTextBorderStyle::DTBS_UNKNOWN:
882 "Unhandled case in FromProtoEnum<types::DimensionTextBorderStyle>" );
897 wxCHECK_MSG(
false, types::DimensionUnitFormat::DUF_UNKNOWN,
898 "Unhandled case in ToProtoEnum<DIM_UNITS_FORMAT>");
908 case types::DimensionUnitFormat::DUF_UNKNOWN:
915 "Unhandled case in FromProtoEnum<types::DimensionUnitFormat>" );
929 wxCHECK_MSG(
false, types::DimensionArrowDirection::DAD_UNKNOWN,
930 "Unhandled case in ToProtoEnum<DIM_ARROW_DIRECTION>");
941 case types::DimensionArrowDirection::DAD_UNKNOWN:
946 "Unhandled case in FromProtoEnum<types::DimensionArrowDirection>" );
968 wxCHECK_MSG(
false, types::DimensionPrecision::DP_UNKNOWN,
969 "Unhandled case in ToProtoEnum<DIM_PRECISION>");
985 case types::DimensionPrecision::DP_UNKNOWN:
993 "Unhandled case in FromProtoEnum<types::DimensionPrecision>" );
1008 wxCHECK_MSG(
false, types::DimensionTextPosition::DTP_UNKNOWN,
1009 "Unhandled case in ToProtoEnum<DIM_TEXT_POSITION>");
1019 case types::DimensionTextPosition::DTP_UNKNOWN:
1026 "Unhandled case in FromProtoEnum<types::DimensionTextPosition>" );
1042 wxCHECK_MSG(
false, types::DimensionUnit::DU_UNKNOWN,
1043 "Unhandled case in ToProtoEnum<DIM_UNITS_MODE>");
1056 case types::DimensionUnit::DU_UNKNOWN:
1061 "Unhandled case in FromProtoEnum<types::DimensionUnit>" );
1076 wxCHECK_MSG(
false, commands::InactiveLayerDisplayMode::ILDM_NORMAL,
1077 "Unhandled case in ToProtoEnum<HIGH_CONTRAST_MODE>");
1089 case commands::InactiveLayerDisplayMode::ILDM_UNKNOWN:
1094 "Unhandled case in FromProtoEnum<commands::InactiveLayerDisplayMode>" );
1109 wxCHECK_MSG(
false, commands::NetColorDisplayMode::NCDM_UNKNOWN,
1110 "Unhandled case in ToProtoEnum<NET_COLOR_MODE>");
1122 case commands::NetColorDisplayMode::NCDM_UNKNOWN:
1127 "Unhandled case in FromProtoEnum<commands::NetColorDisplayMode>" );
1141 wxCHECK_MSG(
false, commands::RatsnestDisplayMode::RDM_UNKNOWN,
1142 "Unhandled case in ToProtoEnum<RATSNEST_MODE>");
1153 case commands::RatsnestDisplayMode::RDM_UNKNOWN:
1158 "Unhandled case in FromProtoEnum<commands::RatsnestDisplayMode>" );
1176 wxCHECK_MSG(
false, BoardStackupLayerType::BSLT_UNKNOWN,
1177 "Unhandled case in ToProtoEnum<BOARD_STACKUP_ITEM_TYPE>");
1196 "Unhandled case in FromProtoEnum<BoardStackupLayerType>" );
1210 wxCHECK_MSG(
false, DielectricModel::DM_UNKNOWN,
1211 "Unhandled case in ToProtoEnum<DIELECTRIC_MODEL>" );
1226 "Unhandled case in FromProtoEnum<DielectricModel>" );
1241 wxCHECK_MSG(
false, BoardEdgeConnectorType::BECT_UNKNOWN,
1242 "Unhandled case in ToProtoEnum<BS_EDGE_CONNECTOR_CONSTRAINTS>" );
1258 "Unhandled case in FromProtoEnum<BoardEdgeConnectorType>" );
1277 wxCHECK_MSG(
false, DrcSeverity::DRS_UNDEFINED,
1278 "Unhandled case in ToProtoEnum<SEVERITY>");
1295 case DrcSeverity::DRS_UNKNOWN:
1311 wxCHECK_MSG(
false, PlotDrillMarks::PDM_UNKNOWN,
1312 "Unhandled case in ToProtoEnum<DRILL_MARKS>" );
1325 case PlotDrillMarks::PDM_UNKNOWN:
1348 wxCHECK_MSG(
false, Board3DFormat::B3D_UNKNOWN,
1349 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_3D::FORMAT>" );
1369 case Board3DFormat::B3D_UNKNOWN:
1386 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
1387 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_3D::VRML_UNITS>" );
1401 case kiapi::common::types::Units::U_UNKNOWN:
1416 wxCHECK_MSG(
false, RenderFormat::RF_UNKNOWN,
1417 "Unhandled case in ToProtoEnum<JOB_PCB_RENDER::FORMAT>" );
1429 case RenderFormat::RF_UNKNOWN:
1446 wxCHECK_MSG(
false, RenderQuality::RQ_UNKNOWN,
1447 "Unhandled case in ToProtoEnum<JOB_PCB_RENDER::QUALITY>" );
1461 case RenderQuality::RQ_UNKNOWN:
1477 wxCHECK_MSG(
false, RenderBackgroundStyle::RBS_UNKNOWN,
1478 "Unhandled case in ToProtoEnum<JOB_PCB_RENDER::BG_STYLE>" );
1491 case RenderBackgroundStyle::RBS_UNKNOWN:
1510 wxCHECK_MSG(
false, RenderSide::RS_UNKNOWN,
1511 "Unhandled case in ToProtoEnum<JOB_PCB_RENDER::SIDE>" );
1527 case RenderSide::RS_UNKNOWN:
1542 wxCHECK_MSG(
false, BoardJobPaginationMode::BJPM_UNKNOWN,
1543 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_SVG::GEN_MODE>" );
1553 case BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE:
1555 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE:
1557 case BoardJobPaginationMode::BJPM_UNKNOWN:
1558 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE:
1573 wxCHECK_MSG(
false, BoardJobPaginationMode::BJPM_UNKNOWN,
1574 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DXF::GEN_MODE>" );
1584 case BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE:
1586 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE:
1588 case BoardJobPaginationMode::BJPM_UNKNOWN:
1589 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE:
1602 return BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE;
1604 return BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE;
1606 return BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE;
1608 wxCHECK_MSG(
false, BoardJobPaginationMode::BJPM_UNKNOWN,
1609 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_PDF::GEN_MODE>" );
1619 case BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE:
1621 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE:
1623 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE:
1625 case BoardJobPaginationMode::BJPM_UNKNOWN:
1640 wxCHECK_MSG(
false, BoardJobPaginationMode::BJPM_UNKNOWN,
1641 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_PS::GEN_MODE>" );
1651 case BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE:
1653 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE:
1655 case BoardJobPaginationMode::BJPM_UNKNOWN:
1656 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE:
1671 wxCHECK_MSG(
false, BoardJobPaginationMode::BJPM_UNKNOWN,
1672 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_PNG::GEN_MODE>" );
1682 case BoardJobPaginationMode::BJPM_ALL_LAYERS_ONE_PAGE:
1684 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_FILE:
1686 case BoardJobPaginationMode::BJPM_UNKNOWN:
1687 case BoardJobPaginationMode::BJPM_EACH_LAYER_OWN_PAGE:
1702 wxCHECK_MSG(
false, DrillFormat::DF_UNKNOWN,
1703 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DRILL::DRILL_FORMAT>" );
1715 case DrillFormat::DF_UNKNOWN:
1730 wxCHECK_MSG(
false, DrillOrigin::DO_UNKNOWN,
1731 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DRILL::DRILL_ORIGIN>" );
1743 case DrillOrigin::DO_UNKNOWN:
1756 return DrillZerosFormat::DZF_DECIMAL;
1758 return DrillZerosFormat::DZF_SUPPRESS_LEADING;
1760 return DrillZerosFormat::DZF_SUPPRESS_TRAILING;
1762 return DrillZerosFormat::DZF_KEEP_ZEROS;
1764 wxCHECK_MSG(
false, DrillZerosFormat::DZF_UNKNOWN,
1765 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DRILL::ZEROS_FORMAT>" );
1775 case DrillZerosFormat::DZF_DECIMAL:
1777 case DrillZerosFormat::DZF_SUPPRESS_LEADING:
1779 case DrillZerosFormat::DZF_SUPPRESS_TRAILING:
1781 case DrillZerosFormat::DZF_KEEP_ZEROS:
1783 case DrillZerosFormat::DZF_UNKNOWN:
1796 return DrillMapFormat::DMF_POSTSCRIPT;
1798 return DrillMapFormat::DMF_GERBER_X2;
1800 return DrillMapFormat::DMF_DXF;
1802 return DrillMapFormat::DMF_SVG;
1804 return DrillMapFormat::DMF_PDF;
1806 wxCHECK_MSG(
false, DrillMapFormat::DMF_UNKNOWN,
1807 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DRILL::MAP_FORMAT>" );
1817 case DrillMapFormat::DMF_POSTSCRIPT:
1819 case DrillMapFormat::DMF_GERBER_X2:
1821 case DrillMapFormat::DMF_DXF:
1823 case DrillMapFormat::DMF_SVG:
1825 case DrillMapFormat::DMF_PDF:
1827 case DrillMapFormat::DMF_UNKNOWN:
1842 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
1843 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DRILL::DRILL_UNITS>" );
1855 case kiapi::common::types::Units::U_UNKNOWN:
1856 case kiapi::common::types::Units::U_METERS:
1857 case kiapi::common::types::Units::U_TENTHS:
1873 wxCHECK_MSG(
false, PositionSide::PS_UNKNOWN,
1874 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_POS::SIDE>" );
1887 case PositionSide::PS_UNKNOWN:
1903 wxCHECK_MSG(
false, PositionFormat::PF_UNKNOWN,
1904 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_POS::FORMAT>" );
1917 case PositionFormat::PF_UNKNOWN:
1932 wxCHECK_MSG(
false, Ipc2581Version::IPC2581V_UNKNOWN,
1933 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_IPC2581::IPC2581_VERSION>" );
1945 case Ipc2581Version::IPC2581V_UNKNOWN:
1961 wxCHECK_MSG(
false, OdbCompression::ODBC_UNKNOWN,
1962 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_ODB::ODB_COMPRESSION>" );
1975 case OdbCompression::ODBC_UNKNOWN:
1990 wxCHECK_MSG(
false, OdbVariantPackaging::ODBVP_UNKNOWN,
1991 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_ODB::VARIANT_PACKAGING>" );
2004 default: wxCHECK_MSG(
false, OdbOrigin::ODBO_UNKNOWN,
"Unhandled ODB++ origin" );
2016 case OdbOrigin::ODBO_ABSOLUTE:
2017 case OdbOrigin::ODBO_UNKNOWN:
2036 default: wxCHECK_MSG(
false, FabDataSet::FDS_UNKNOWN,
"Unhandled fabrication data set" );
2053 case FabDataSet::FDS_USERDEF:
2069 default: wxCHECK_MSG(
false, FabNetNamePolicy::FNNP_UNKNOWN,
"Unhandled net name policy" );
2080 case FabNetNamePolicy::FNNP_INCLUDE:
2081 case FabNetNamePolicy::FNNP_UNKNOWN:
2094 default: wxCHECK_MSG(
false, Ipc2581RefDes::IPC2581RD_UNKNOWN,
"Unhandled reference designator policy" );
2105 case Ipc2581RefDes::IPC2581RD_INCLUDE:
2106 case Ipc2581RefDes::IPC2581RD_UNKNOWN:
2118 case OdbVariantPackaging::ODBVP_SEPARATE:
2119 case OdbVariantPackaging::ODBVP_UNKNOWN:
2134 wxCHECK_MSG(
false, StatsOutputFormat::SOF_UNKNOWN,
2135 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_STATS::OUTPUT_FORMAT>" );
2147 case StatsOutputFormat::SOF_UNKNOWN:
2162 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
2163 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_DXF::DXF_UNITS>" );
2175 case kiapi::common::types::Units::U_UNKNOWN:
2176 case kiapi::common::types::Units::U_METERS:
2177 case kiapi::common::types::Units::U_TENTHS:
2192 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
2193 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_POS::UNITS>" );
2205 case kiapi::common::types::Units::U_UNKNOWN:
2206 case kiapi::common::types::Units::U_METERS:
2207 case kiapi::common::types::Units::U_TENTHS:
2222 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
2223 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_FAB::UNITS>" );
2235 case kiapi::common::types::Units::U_UNKNOWN:
2236 case kiapi::common::types::Units::U_METERS:
2237 case kiapi::common::types::Units::U_TENTHS:
2252 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
2253 "Unhandled case in ToProtoEnum<IDF_SETTINGS::UNITS>" );
2265 case kiapi::common::types::Units::U_UNKNOWN:
2266 case kiapi::common::types::Units::U_INCH:
2267 case kiapi::common::types::Units::U_METERS:
2268 case kiapi::common::types::Units::U_TENTHS:
2285 wxCHECK_MSG(
false, IdfOriginMode::IOM_UNKNOWN,
2286 "Unhandled case in ToProtoEnum<IDF_SETTINGS::COORD_ORIGIN>" );
2300 case IdfOriginMode::IOM_UNKNOWN:
2315 wxCHECK_MSG(
false, kiapi::common::types::Units::U_UNKNOWN,
2316 "Unhandled case in ToProtoEnum<JOB_EXPORT_PCB_STATS::UNITS>" );
2328 case kiapi::common::types::Units::U_UNKNOWN:
2329 case kiapi::common::types::Units::U_METERS:
2330 case kiapi::common::types::Units::U_TENTHS:
2419 return DrcErrorType::DRCET_UNKNOWN;
2506 case DrcErrorType::DRCET_UNKNOWN:
2539 wxCHECK_MSG(
false, types::ConstraintType::CT_UNKNOWN,
2540 "Unhandled case in ToProtoEnum<PCB_CONSTRAINT_TYPE>" );
2572 "Unhandled case in FromProtoEnum<types::ConstraintType>" );
2591 wxCHECK_MSG(
false, types::ConstraintAnchor::CA_UNKNOWN,
2592 "Unhandled case in ToProtoEnum<CONSTRAINT_ANCHOR>" );
2602 case types::ConstraintAnchor::CA_UNKNOWN:
2613 "Unhandled case in FromProtoEnum<types::ConstraintAnchor>" );
2628 wxCHECK_MSG(
false, types::TuningPatternMode::TPM_UNKNOWN,
2629 "Unhandled case in ToProtoEnum<LENGTH_TUNING_MODE>" );
2648 "Unhandled case in FromProtoEnum<types::TuningPatternMode>" );
2663 wxCHECK_MSG(
false, types::TuningPatternMeanderSide::TPMS_UNKNOWN,
2664 "Unhandled case in ToProtoEnum<PNS::MEANDER_SIDE>" );
2683 "Unhandled case in FromProtoEnum<types::TuningPatternMeanderSide>" );
2695 wxCHECK_MSG(
false, types::TuningPatternCornerStyle::TPCS_UNKNOWN,
2696 "Unhandled case in ToProtoEnum<PNS::MEANDER_STYLE>" );
2714 "Unhandled case in FromProtoEnum<types::TuningPatternCornerStyle>" );
2727 wxCHECK_MSG(
false, types::TuningPatternStatus::TPS_UNKNOWN,
2728 "Unhandled case in ToProtoEnum<TUNING_STATUS>" );
2747 "Unhandled case in FromProtoEnum<types::TuningPatternStatus>" );
2761 wxCHECK_MSG(
false, types::ViaStitchLayout::VSL_UNKNOWN,
2762 "Unhandled case in ToProtoEnum<PCB_VIA_STITCH_LAYOUT>" );
2781 "Unhandled case in FromProtoEnum<types::ViaStitchLayout>" );
2794 wxCHECK_MSG(
false, types::ViaStitchMode::VSM_UNKNOWN,
2795 "Unhandled case in ToProtoEnum<PCB_VIA_STITCH_MODE>" );
2813 "Unhandled case in FromProtoEnum<types::ViaStitchMode>" );
2826 wxCHECK_MSG(
false, types::ViaStackStyle::VSK_UNKNOWN,
2827 "Unhandled case in ToProtoEnum<VIA_STACK_STYLE>" );
2845 "Unhandled case in FromProtoEnum<types::ViaStackStyle>" );
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)
NET_COLOR_MODE
Determine how net color overrides should be applied.
@ 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.
RATSNEST_MODE
Determine how ratsnest lines are drawn.
@ 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
DATA_SET
Columns of the IPC-2581C function mode table, Table 4 p 80.
NET_NAMES
An anonymous name keeps the connections.
GEN_MODE
This is a hack to deal with cli having the wrong behavior We will deprecate out the wrong behavior,...
@ ALL_LAYERS_SEPARATE_FILE
The most traditional output mode KiCad has had.
@ ALL_LAYERS_ONE_FILE
DEPRECATED MODE.
@ ONE_PAGE_PER_LAYER_ONE_FILE
"Single Document" mode
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)
TUNING_STATUS
Result of the length tuning operation.
@ 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
MEANDER_SIDE
Initial side the meander is placed on.
MEANDER_STYLE
Meander corner shape.
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.
@ STITCH
Fill the outline with vias with a pattern.
@ GUARD
Place vias to guard a net contained within.
@ POISSON
Tiled poisson distribution.
@ STAGGERED
Odd rows shifted by half the pitch.
@ PLAIN
Regular row/column grid.
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