KiCad PCB EDA Suite
|
#include <altium_pcb.h>
Public Member Functions | |
ALTIUM_PCB (BOARD *aBoard, PROGRESS_REPORTER *aProgressReporter, const wxString &aLibrary=wxEmptyString, const wxString &aFootprintName=wxEmptyString) | |
~ALTIUM_PCB () | |
void | Parse (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const std::map< ALTIUM_PCB_DIR, std::string > &aFileMapping) |
FOOTPRINT * | ParseFootprint (ALTIUM_COMPOUND_FILE &altiumLibFile, const wxString &aFootprintName) |
Private Member Functions | |
void | checkpoint () |
PCB_LAYER_ID | GetKicadLayer (ALTIUM_LAYER aAltiumLayer) const |
std::vector< PCB_LAYER_ID > | GetKicadLayersToIterate (ALTIUM_LAYER aAltiumLayer) const |
int | GetNetCode (uint16_t aId) const |
const ARULE6 * | GetRule (ALTIUM_RULE_KIND aKind, const wxString &aName) const |
const ARULE6 * | GetRuleDefault (ALTIUM_RULE_KIND aKind) const |
void | ParseFileHeader (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseBoard6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseClasses6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseComponents6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseDimensions6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseModelsData (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry, const std::vector< std::string > &aRootDir) |
void | ParseNets6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParsePolygons6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseRules6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseArcs6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertArcs6ToPcbShape (const AARC6 &aElem, PCB_SHAPE *aShape) |
void | ConvertArcs6ToBoardItem (const AARC6 &aElem, const int aPrimitiveIndex) |
void | ConvertArcs6ToFootprintItem (FOOTPRINT *aFootprint, const AARC6 &aElem, const int aPrimitiveIndex, const bool aIsBoardImport) |
void | ConvertArcs6ToBoardItemOnLayer (const AARC6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertArcs6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const AARC6 &aElem, PCB_LAYER_ID aLayer) |
void | ParseComponentsBodies6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParsePads6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertPads6ToBoardItem (const APAD6 &aElem) |
void | ConvertPads6ToFootprintItem (FOOTPRINT *aFootprint, const APAD6 &aElem) |
void | ConvertPads6ToBoardItemOnNonCopper (const APAD6 &aElem) |
void | ConvertPads6ToFootprintItemOnCopper (FOOTPRINT *aFootprint, const APAD6 &aElem) |
void | ConvertPads6ToFootprintItemOnNonCopper (FOOTPRINT *aFootprint, const APAD6 &aElem) |
void | ParseVias6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseTracks6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertTracks6ToBoardItem (const ATRACK6 &aElem, const int aPrimitiveIndex) |
void | ConvertTracks6ToFootprintItem (FOOTPRINT *aFootprint, const ATRACK6 &aElem, const int aPrimitiveIndex, const bool aIsBoardImport) |
void | ConvertTracks6ToBoardItemOnLayer (const ATRACK6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertTracks6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const ATRACK6 &aElem, PCB_LAYER_ID aLayer) |
void | ParseTexts6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertTexts6ToBoardItem (const ATEXT6 &aElem) |
void | ConvertTexts6ToFootprintItem (FOOTPRINT *aFootprint, const ATEXT6 &aElem) |
void | ConvertTexts6ToBoardItemOnLayer (const ATEXT6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertTexts6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const ATEXT6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertTexts6ToEdaTextSettings (const ATEXT6 &aElem, EDA_TEXT &aEdaText) |
void | ParseFills6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertFills6ToBoardItem (const AFILL6 &aElem) |
void | ConvertFills6ToFootprintItem (FOOTPRINT *aFootprint, const AFILL6 &aElem, const bool aIsBoardImport) |
void | ConvertFills6ToBoardItemOnLayer (const AFILL6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertFills6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const AFILL6 &aElem, PCB_LAYER_ID aLayer) |
void | ParseBoardRegionsData (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseShapeBasedRegions6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ConvertShapeBasedRegions6ToBoardItem (const AREGION6 &aElem) |
void | ConvertShapeBasedRegions6ToFootprintItem (FOOTPRINT *aFootprint, const AREGION6 &aElem, const int aPrimitiveIndex) |
void | ConvertShapeBasedRegions6ToBoardItemOnLayer (const AREGION6 &aElem, PCB_LAYER_ID aLayer) |
void | ConvertShapeBasedRegions6ToFootprintItemOnLayer (FOOTPRINT *aFootprint, const AREGION6 &aElem, PCB_LAYER_ID aLayer, const int aPrimitiveIndex) |
void | ParseExtendedPrimitiveInformationData (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseRegions6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | ParseWideStrings6Data (const ALTIUM_COMPOUND_FILE &aAltiumPcbFile, const CFB::COMPOUND_FILE_ENTRY *aEntry) |
void | HelperParseDimensions6Linear (const ADIMENSION6 &aElem) |
void | HelperParseDimensions6Radial (const ADIMENSION6 &aElem) |
void | HelperParseDimensions6Leader (const ADIMENSION6 &aElem) |
void | HelperParseDimensions6Datum (const ADIMENSION6 &aElem) |
void | HelperParseDimensions6Center (const ADIMENSION6 &aElem) |
void | HelperParsePad6NonCopper (const APAD6 &aElem, PCB_LAYER_ID aLayer, PCB_SHAPE *aShape) |
void | HelperCreateBoardOutline (const std::vector< ALTIUM_VERTICE > &aVertices) |
void | HelperSetZoneLayers (ZONE &aZone, const ALTIUM_LAYER aAltiumLayer) |
void | HelperSetZoneKeepoutRestrictions (ZONE &aZone, const uint8_t aKeepoutRestrictions) |
void | HelperPcpShapeAsBoardKeepoutRegion (const PCB_SHAPE &aShape, const ALTIUM_LAYER aAltiumLayer, const uint8_t aKeepoutRestrictions) |
void | HelperPcpShapeAsFootprintKeepoutRegion (FOOTPRINT *aFootprint, const PCB_SHAPE &aShape, const ALTIUM_LAYER aAltiumLayer, const uint8_t aKeepoutRestrictions) |
std::vector< std::pair< PCB_LAYER_ID, int > > | HelperGetSolderAndPasteMaskExpansions (const ALTIUM_RECORD aType, const int aPrimitiveIndex, const ALTIUM_LAYER aAltiumLayer) |
FOOTPRINT * | HelperGetFootprint (uint16_t aComponent) const |
Private Attributes | |
BOARD * | m_board |
std::vector< FOOTPRINT * > | m_components |
std::vector< ZONE * > | m_polygons |
std::vector< PCB_DIM_RADIAL * > | m_radialDimensions |
std::map< wxString, wxString > | m_models |
std::map< uint32_t, wxString > | m_unicodeStrings |
std::vector< int > | m_altiumToKicadNetcodes |
std::map< ALTIUM_LAYER, PCB_LAYER_ID > | m_layermap |
std::map< ALTIUM_RULE_KIND, std::vector< ARULE6 > > | m_rules |
std::map< ALTIUM_RECORD, std::multimap< int, const AEXTENDED_PRIMITIVE_INFORMATION > > | m_extendedPrimitiveInformationMaps |
std::map< ALTIUM_LAYER, ZONE * > | m_outer_plane |
PROGRESS_REPORTER * | m_progressReporter |
optional; may be nullptr | |
unsigned | m_doneCount |
unsigned | m_lastProgressCount |
unsigned | m_totalCount |
for progress reporting | |
wxString | m_library |
for footprint library loading error reporting | |
wxString | m_footprintName |
for footprint library loading error reporting | |
int | m_highest_pour_index |
Altium stores pour order across all layers. | |
Definition at line 106 of file altium_pcb.h.
|
explicit |
Definition at line 265 of file altium_pcb.cpp.
References m_board, m_doneCount, m_footprintName, m_highest_pour_index, m_lastProgressCount, m_library, m_progressReporter, and m_totalCount.
ALTIUM_PCB::~ALTIUM_PCB | ( | ) |
Definition at line 278 of file altium_pcb.cpp.
|
private |
Definition at line 282 of file altium_pcb.cpp.
References _, PROGRESS_REPORTER::KeepRefreshing(), m_doneCount, m_lastProgressCount, m_progressReporter, m_totalCount, PROGRESS_REPORTER::SetCurrentProgress(), and THROW_IO_ERROR.
Referenced by ParseArcs6Data(), ParseBoard6Data(), ParseBoardRegionsData(), ParseClasses6Data(), ParseComponents6Data(), ParseComponentsBodies6Data(), ParseDimensions6Data(), ParseExtendedPrimitiveInformationData(), ParseFills6Data(), ParseModelsData(), ParseNets6Data(), ParsePads6Data(), ParsePolygons6Data(), ParseRegions6Data(), ParseRules6Data(), ParseShapeBasedRegions6Data(), ParseTexts6Data(), ParseTracks6Data(), and ParseVias6Data().
|
private |
Definition at line 2512 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_POLYGON_BOARD, ALTIUM_POLYGON_NONE, ARC_HIGH_DEF, ConvertArcs6ToBoardItemOnLayer(), ConvertArcs6ToPcbShape(), ERROR_INSIDE, ZONE::GetFill(), GetKicadLayer(), GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsBoardKeepoutRegion(), AARC6::is_keepout, IsAltiumLayerAPlane(), AARC6::keepoutrestrictions, AARC6::layer, m_board, m_polygons, AARC6::polygon, ZONE::SetIsFilled(), ZONE::SetNeedRefill(), PCB_SHAPE::SetStroke(), THROW_IO_ERROR, UNDEFINED_LAYER, and AARC6::width.
Referenced by ParseArcs6Data().
|
private |
Definition at line 2646 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_NET_UNCONNECTED, AARC6::center, ConvertArcs6ToPcbShape(), EDA_ANGLE::Cos(), DEGREES_T, AARC6::endangle, EDA_SHAPE::GetArcAngle(), PCB_SHAPE::GetCenter(), GetNetCode(), EDA_SHAPE::GetStart(), IsCopperLayer(), KiROUND(), m_board, AARC6::net, EDA_ANGLE::Normalize(), AARC6::radius, EDA_SHAPE::SetArcAngleAndEnd(), EDA_SHAPE::SetCenter(), EDA_SHAPE::SetStart(), EDA_ANGLE::Sin(), AARC6::startangle, and AARC6::width.
Referenced by ConvertArcs6ToBoardItem(), and ConvertArcs6ToFootprintItem().
|
private |
Definition at line 2589 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ALTIUM_NET_UNCONNECTED, ALTIUM_POLYGON_NONE, ConvertArcs6ToBoardItemOnLayer(), ConvertArcs6ToFootprintItemOnLayer(), ConvertArcs6ToPcbShape(), GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsFootprintKeepoutRegion(), AARC6::is_keepout, IsAltiumLayerAPlane(), IsCopperLayer(), AARC6::keepoutrestrictions, AARC6::layer, AARC6::net, AARC6::polygon, PCB_SHAPE::SetStroke(), and AARC6::width.
Referenced by ParseArcs6Data(), and ParseFootprint().
|
private |
Definition at line 2686 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ConvertArcs6ToPcbShape(), and AARC6::width.
Referenced by ConvertArcs6ToFootprintItem().
Definition at line 2485 of file altium_pcb.cpp.
References AARC6::center, EDA_ANGLE::Cos(), DEGREES_T, AARC6::endangle, KiROUND(), EDA_ANGLE::Normalize(), AARC6::radius, EDA_SHAPE::SetArcAngleAndEnd(), EDA_SHAPE::SetCenter(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetShape(), EDA_SHAPE::SetStart(), EDA_ANGLE::Sin(), and AARC6::startangle.
Referenced by ConvertArcs6ToBoardItem(), ConvertArcs6ToBoardItemOnLayer(), ConvertArcs6ToFootprintItem(), and ConvertArcs6ToFootprintItemOnLayer().
|
private |
Definition at line 3717 of file altium_pcb.cpp.
References ConvertFills6ToBoardItemOnLayer(), DEGREES_T, GetKicadLayersToIterate(), HelperPcpShapeAsBoardKeepoutRegion(), AFILL6::is_keepout, AFILL6::keepoutrestrictions, AFILL6::layer, AFILL6::pos1, AFILL6::pos2, PCB_SHAPE::Rotate(), AFILL6::rotation, EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ParseFills6Data().
|
private |
Definition at line 3785 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_NET_UNCONNECTED, DEGREES_T, GetNetCode(), IsCopperLayer(), m_board, AFILL6::net, AFILL6::pos1, AFILL6::pos2, AFILL6::rotation, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertFills6ToBoardItem(), and ConvertFills6ToFootprintItem().
|
private |
Definition at line 3746 of file altium_pcb.cpp.
References ALTIUM_NET_UNCONNECTED, ConvertFills6ToBoardItemOnLayer(), ConvertFills6ToFootprintItemOnLayer(), DEGREES_T, GetKicadLayersToIterate(), HelperPcpShapeAsFootprintKeepoutRegion(), AFILL6::is_keepout, IsAltiumLayerCopper(), AFILL6::keepoutrestrictions, AFILL6::layer, AFILL6::net, AFILL6::pos1, AFILL6::pos2, PCB_SHAPE::Rotate(), AFILL6::rotation, EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ParseFills6Data(), and ParseFootprint().
|
private |
Definition at line 3812 of file altium_pcb.cpp.
References FOOTPRINT::Add(), DEGREES_T, AFILL6::pos1, AFILL6::pos2, AFILL6::rotation, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertFills6ToFootprintItem().
|
private |
Definition at line 2728 of file altium_pcb.cpp.
References BOARD::Add(), ConvertPads6ToBoardItemOnNonCopper(), ConvertPads6ToFootprintItemOnCopper(), IsAltiumLayerAPlane(), IsAltiumLayerCopper(), APAD6::layer, m_board, and APAD6::position.
Referenced by ParsePads6Data().
|
private |
Definition at line 3023 of file altium_pcb.cpp.
References _, BOARD::Add(), Eco1_User, GetKicadLayer(), HelperParsePad6NonCopper(), APAD6::layer, m_board, APAD6::name, pad, and UNDEFINED_LAYER.
Referenced by ConvertPads6ToBoardItem().
|
private |
Definition at line 2749 of file altium_pcb.cpp.
References ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), IsAltiumLayerAPlane(), IsAltiumLayerCopper(), and APAD6::layer.
Referenced by ParseFootprint(), and ParsePads6Data().
|
private |
Definition at line 2764 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), EDA_ANGLE::AsDegrees(), B_Cu, B_Mask, DEGREES_T, APAD6::direction, F_Cu, F_Mask, FlipLayerMask(), GetKicadLayer(), GetNetCode(), FOOTPRINT::GetReference(), APAD6::holesize, APAD6::is_tent_bottom, APAD6::is_tent_top, EDA_ANGLE::IsHorizontal(), EDA_ANGLE::IsVertical(), APAD6::layer, m_footprintName, m_library, APAD6::name, APAD6::net, EDA_ANGLE::Normalize(), pad, PAD_DRILL_SHAPE_CIRCLE, APAD6::padmode, APAD6::pastemaskexpansionmanual, APAD6::pastemaskexpansionmode, APAD6::plated, APAD6::position, PAD::PTHMask(), RECT_CHAMFER_ALL, APAD6::sizeAndShape, PAD::SMDMask(), APAD6::soldermaskexpansionmanual, APAD6::soldermaskexpansionmode, APAD6::topshape, APAD6::topsize, PAD::UnplatedHoleMask(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertPads6ToBoardItem(), and ConvertPads6ToFootprintItem().
|
private |
Definition at line 3043 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), Eco1_User, GetKicadLayer(), FOOTPRINT::GetReference(), HelperParsePad6NonCopper(), APAD6::layer, m_footprintName, m_library, APAD6::name, pad, and UNDEFINED_LAYER.
Referenced by ConvertPads6ToFootprintItem().
|
private |
Definition at line 2008 of file altium_pcb.cpp.
References _, BOARD::Add(), ALTIUM_POLYGON_NONE, ConvertShapeBasedRegions6ToBoardItemOnLayer(), Eco1_User, Edge_Cuts, ZONE::GetDefaultHatchPitch(), GetKicadLayer(), GetKicadLayersToIterate(), HelperCreateBoardOutline(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), AREGION6::is_keepout, AREGION6::keepoutrestrictions, AREGION6::kind, AREGION6::layer, m_board, EDA_IU_SCALE::mmToIU(), AREGION6::outline, pcbIUScale, SHAPE_LINE_CHAIN::PointCount(), AREGION6::polygon, and UNDEFINED_LAYER.
Referenced by ParseShapeBasedRegions6Data().
|
private |
Definition at line 2238 of file altium_pcb.cpp.
References BOARD::Add(), SHAPE_POLY_SET::AddHole(), SHAPE_POLY_SET::AddOutline(), ALTIUM_NET_UNCONNECTED, GetNetCode(), HelperShapeLineChainFromAltiumVertices(), AREGION6::holes, IsCopperLayer(), m_board, AREGION6::net, AREGION6::outline, and SHAPE_LINE_CHAIN::PointCount().
Referenced by ConvertShapeBasedRegions6ToBoardItem().
|
private |
Definition at line 2108 of file altium_pcb.cpp.
References _, FOOTPRINT::Add(), ALTIUM_POLYGON_NONE, ConvertShapeBasedRegions6ToFootprintItemOnLayer(), Eco1_User, Edge_Cuts, ZONE::GetDefaultHatchPitch(), GetKicadLayer(), GetKicadLayersToIterate(), FOOTPRINT::GetReference(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), AREGION6::is_keepout, AREGION6::keepoutrestrictions, AREGION6::kind, AREGION6::layer, m_footprintName, m_library, EDA_IU_SCALE::mmToIU(), AREGION6::outline, pcbIUScale, SHAPE_LINE_CHAIN::PointCount(), AREGION6::polygon, and UNDEFINED_LAYER.
Referenced by ParseFootprint(), and ParseShapeBasedRegions6Data().
|
private |
Definition at line 2283 of file altium_pcb.cpp.
References FOOTPRINT::Add(), SHAPE_POLY_SET::AddHole(), SHAPE_POLY_SET::AddOutline(), B_Cu, B_Mask, B_Paste, SHAPE_LINE_CHAIN::CPoint(), F_Cu, F_Mask, F_Paste, HelperShapeLineChainFromAltiumVertices(), AREGION6::holes, info, m_extendedPrimitiveInformationMaps, SHAPE_POLY_SET::Move(), AREGION6::outline, pad, and SHAPE_LINE_CHAIN::PointCount().
Referenced by ConvertShapeBasedRegions6ToFootprintItem().
|
private |
Definition at line 3555 of file altium_pcb.cpp.
References _, ConvertTexts6ToBoardItemOnLayer(), ATEXT6::fonttype, GetKicadLayersToIterate(), and ATEXT6::layer.
Referenced by ParseTexts6Data().
|
private |
Definition at line 3595 of file altium_pcb.cpp.
References BOARD::Add(), AltiumPcbSpecialStringsToKiCadStrings(), ConvertTexts6ToEdaTextSettings(), DEGREES_T, m_board, ATEXT6::position, ATEXT6::rotation, and ATEXT6::text.
Referenced by ConvertTexts6ToBoardItem().
|
private |
Definition at line 3656 of file altium_pcb.cpp.
References ATEXT6::fontname, ATEXT6::fonttype, KIFONT::FONT::GetFont(), KIFONT::FONT::GetName(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_BOTTOM, ATEXT6::height, ATEXT6::isBold, ATEXT6::isItalic, ATEXT6::isMirrored, KIFONT::FONT::IsOutline(), EDA_TEXT::SetBoldFlag(), EDA_TEXT::SetFont(), EDA_TEXT::SetHorizJustify(), EDA_TEXT::SetItalic(), EDA_TEXT::SetMirrored(), EDA_TEXT::SetTextSize(), EDA_TEXT::SetTextThickness(), EDA_TEXT::SetVertJustify(), and ATEXT6::strokewidth.
Referenced by ConvertTexts6ToBoardItemOnLayer(), and ConvertTexts6ToFootprintItemOnLayer().
|
private |
Definition at line 3568 of file altium_pcb.cpp.
References _, ConvertTexts6ToFootprintItemOnLayer(), ATEXT6::fonttype, GetKicadLayersToIterate(), FOOTPRINT::GetReference(), ATEXT6::layer, m_footprintName, and m_library.
Referenced by ParseFootprint(), and ParseTexts6Data().
|
private |
Definition at line 3617 of file altium_pcb.cpp.
References FOOTPRINT::Add(), AltiumPcbSpecialStringsToKiCadStrings(), ConvertTexts6ToEdaTextSettings(), DEGREES_T, ATEXT6::isComment, ATEXT6::isDesignator, ATEXT6::position, FOOTPRINT::Reference(), ATEXT6::rotation, EDA_TEXT::SetKeepUpright(), BOARD_ITEM::SetLayer(), PCB_TEXT::SetPosition(), EDA_TEXT::SetText(), EDA_TEXT::SetTextAngle(), ATEXT6::text, and FOOTPRINT::Value().
Referenced by ConvertTexts6ToFootprintItem().
|
private |
Definition at line 3333 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_POLYGON_BOARD, ALTIUM_POLYGON_NONE, ARC_HIGH_DEF, ConvertTracks6ToBoardItemOnLayer(), ATRACK6::end, ERROR_INSIDE, ZONE::GetFill(), GetKicadLayer(), GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsBoardKeepoutRegion(), ATRACK6::is_keepout, IsAltiumLayerAPlane(), ATRACK6::keepoutrestrictions, ATRACK6::layer, m_board, m_polygons, ATRACK6::polygon, EDA_SHAPE::SetEnd(), ZONE::SetIsFilled(), ZONE::SetNeedRefill(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), ATRACK6::start, UNDEFINED_LAYER, and ATRACK6::width.
Referenced by ParseTracks6Data().
|
private |
Definition at line 3470 of file altium_pcb.cpp.
References BOARD::Add(), ALTIUM_NET_UNCONNECTED, ATRACK6::end, GetNetCode(), IsCopperLayer(), m_board, ATRACK6::net, ATRACK6::start, and ATRACK6::width.
Referenced by ConvertTracks6ToBoardItem(), and ConvertTracks6ToFootprintItem().
|
private |
Definition at line 3412 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ALTIUM_NET_UNCONNECTED, ALTIUM_POLYGON_NONE, ConvertTracks6ToBoardItemOnLayer(), ConvertTracks6ToFootprintItemOnLayer(), ATRACK6::end, GetKicadLayersToIterate(), HelperGetSolderAndPasteMaskExpansions(), HelperPcpShapeAsFootprintKeepoutRegion(), ATRACK6::is_keepout, IsAltiumLayerAPlane(), IsCopperLayer(), ATRACK6::keepoutrestrictions, ATRACK6::layer, ATRACK6::net, ATRACK6::polygon, EDA_SHAPE::SetEnd(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), ATRACK6::start, and ATRACK6::width.
Referenced by ParseFootprint(), and ParseTracks6Data().
|
private |
Definition at line 3498 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ATRACK6::end, ATRACK6::start, and ATRACK6::width.
Referenced by ConvertTracks6ToFootprintItem().
|
private |
Definition at line 127 of file altium_pcb.cpp.
References B_Cu, B_Fab, B_Mask, B_Paste, B_SilkS, Dwgs_User, Eco2_User, F_Cu, F_Fab, F_Mask, F_Paste, F_SilkS, In10_Cu, In11_Cu, In12_Cu, In13_Cu, In14_Cu, In15_Cu, In16_Cu, In17_Cu, In18_Cu, In19_Cu, In1_Cu, In20_Cu, In21_Cu, In22_Cu, In23_Cu, In24_Cu, In25_Cu, In26_Cu, In27_Cu, In28_Cu, In29_Cu, In2_Cu, In30_Cu, In3_Cu, In4_Cu, In5_Cu, In6_Cu, In7_Cu, In8_Cu, In9_Cu, m_layermap, Margin, UNDEFINED_LAYER, User_1, User_2, User_3, User_4, User_5, User_6, User_7, User_8, and User_9.
Referenced by ConvertArcs6ToBoardItem(), ConvertPads6ToBoardItemOnNonCopper(), ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTracks6ToBoardItem(), GetKicadLayersToIterate(), HelperParseDimensions6Center(), HelperParseDimensions6Datum(), HelperParseDimensions6Leader(), HelperParseDimensions6Linear(), HelperParseDimensions6Radial(), ParseBoard6Data(), ParseRegions6Data(), and ParseVias6Data().
|
private |
Definition at line 233 of file altium_pcb.cpp.
References _, LSET::AllCuMask(), Eco1_User, GetKicadLayer(), BOARD::IsLayerEnabled(), m_board, MAX_CU_LAYERS, and UNDEFINED_LAYER.
Referenced by ConvertArcs6ToBoardItem(), ConvertArcs6ToFootprintItem(), ConvertFills6ToBoardItem(), ConvertFills6ToFootprintItem(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTexts6ToBoardItem(), ConvertTexts6ToFootprintItem(), ConvertTracks6ToBoardItem(), ConvertTracks6ToFootprintItem(), and HelperSetZoneLayers().
|
private |
Definition at line 794 of file altium_pcb.cpp.
References ALTIUM_NET_UNCONNECTED, m_altiumToKicadNetcodes, THROW_IO_ERROR, and NETINFO_LIST::UNCONNECTED.
Referenced by ConvertArcs6ToBoardItemOnLayer(), ConvertFills6ToBoardItemOnLayer(), ConvertPads6ToFootprintItemOnCopper(), ConvertShapeBasedRegions6ToBoardItemOnLayer(), ConvertTracks6ToBoardItemOnLayer(), ParsePolygons6Data(), and ParseVias6Data().
|
private |
Definition at line 812 of file altium_pcb.cpp.
References m_rules, and ARULE6::name.
Referenced by ParsePolygons6Data().
|
private |
Definition at line 828 of file altium_pcb.cpp.
References m_rules, ARULE6::scope1expr, and ARULE6::scope2expr.
Referenced by ParsePolygons6Data(), and ParseRules6Data().
|
private |
Definition at line 1024 of file altium_pcb.cpp.
References SEG::A, BOARD::Add(), SHAPE_LINE_CHAIN::Arc(), SHAPE_LINE_CHAIN::ArcIndex(), SEG::B, Edge_Cuts, SHAPE_ARC::GetArcMid(), BOARD::GetDesignSettings(), BOARD_DESIGN_SETTINGS::GetLineThickness(), SHAPE_ARC::GetP0(), SHAPE_ARC::GetP1(), HelperShapeLineChainFromAltiumVertices(), SHAPE_LINE_CHAIN::IsArcStart(), m_board, SHAPE_LINE_CHAIN::NextShape(), SHAPE_LINE_CHAIN::PointCount(), and SHAPE_LINE_CHAIN::Segment().
Referenced by ConvertShapeBasedRegions6ToBoardItem(), and ParseBoard6Data().
|
private |
Definition at line 73 of file altium_pcb.cpp.
References ALTIUM_COMPONENT_NONE, m_components, and THROW_IO_ERROR.
Referenced by ParseArcs6Data(), ParseFills6Data(), ParsePads6Data(), ParseShapeBasedRegions6Data(), ParseTexts6Data(), and ParseTracks6Data().
|
private |
Definition at line 3904 of file altium_pcb.cpp.
References B_Mask, B_Paste, F_Mask, F_Paste, m_extendedPrimitiveInformationMaps, AEXTENDED_PRIMITIVE_INFORMATION::pastemaskexpansionmanual, AEXTENDED_PRIMITIVE_INFORMATION::pastemaskexpansionmode, AEXTENDED_PRIMITIVE_INFORMATION::soldermaskexpansionmanual, AEXTENDED_PRIMITIVE_INFORMATION::soldermaskexpansionmode, and AEXTENDED_PRIMITIVE_INFORMATION::type.
Referenced by ConvertArcs6ToBoardItem(), ConvertArcs6ToFootprintItem(), ConvertTracks6ToBoardItem(), and ConvertTracks6ToFootprintItem().
|
private |
Definition at line 1547 of file altium_pcb.cpp.
References _, BOARD::Add(), ADIMENSION6::angle, DEGREES_T, Eco1_User, GetKicadLayer(), ADIMENSION6::height, ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, RotatePoint(), UNDEFINED_LAYER, and ADIMENSION6::xy1.
Referenced by ParseDimensions6Data().
|
private |
Definition at line 1521 of file altium_pcb.cpp.
References _, BOARD::Add(), Eco1_User, GetKicadLayer(), ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, ADIMENSION6::referencePoint, and UNDEFINED_LAYER.
|
private |
Definition at line 1429 of file altium_pcb.cpp.
References _, BOARD::Add(), ADIMENSION6::arrowsize, DEGREES_T, Eco1_User, EuclideanNorm(), GetKicadLayer(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_BOTTOM, KiROUND(), ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, ADIMENSION6::referencePoint, RotatePoint(), text, ADIMENSION6::textformat, ADIMENSION6::textheight, ADIMENSION6::textlinewidth, ADIMENSION6::textPoint, UNDEFINED_LAYER, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ParseDimensions6Data().
|
private |
Basically REFERENCE0POINT and REFERENCE1POINT are the two end points of the dimension. XY1 is the position of the arrow above REFERENCE0POINT. those three points are not necessarily in 90degree angle, but KiCad requires this to show the correct measurements.
Therefore, we take the vector of REFERENCE0POINT -> XY1, calculate the normal, and intersect it with REFERENCE1POINT pointing the same direction as REFERENCE0POINT -> XY1. This should give us a valid measurement point where we can place the drawsegment.
Definition at line 1246 of file altium_pcb.cpp.
References _, BOARD::Add(), ADIMENSION6::angle, BOLD_FACTOR, Eco1_User, EuclideanNorm(), GetKicadLayer(), SEG::Intersect(), ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, PCB_DIM_ALIGNED_T, ADIMENSION6::referencePoint, ADIMENSION6::textbold, ADIMENSION6::textheight, ADIMENSION6::textitalic, ADIMENSION6::textlinewidth, ADIMENSION6::textprecision, ADIMENSION6::textprefix, ADIMENSION6::textsuffix, ADIMENSION6::textunit, THROW_IO_ERROR, UNDEFINED_LAYER, VECTOR2< T >::x, ADIMENSION6::xy1, and VECTOR2< T >::y.
Referenced by ParseDimensions6Data().
|
private |
Definition at line 1348 of file altium_pcb.cpp.
References _, BOARD::Add(), BOLD_FACTOR, Eco1_User, GetKicadLayer(), GR_TEXT_H_ALIGN_LEFT, GR_TEXT_V_ALIGN_BOTTOM, GR_TEXT_V_ALIGN_CENTER, ADIMENSION6::layer, ADIMENSION6::linewidth, m_board, m_radialDimensions, ADIMENSION6::referencePoint, ADIMENSION6::textbold, ADIMENSION6::textgap, ADIMENSION6::textheight, ADIMENSION6::textitalic, ADIMENSION6::textlinewidth, ADIMENSION6::textPoint, ADIMENSION6::textprecision, ADIMENSION6::textprefix, ADIMENSION6::textsuffix, ADIMENSION6::textunit, THROW_IO_ERROR, UNDEFINED_LAYER, and ADIMENSION6::xy1.
Referenced by ParseDimensions6Data().
|
private |
Definition at line 3079 of file altium_pcb.cpp.
References _, ALTIUM_NET_UNCONNECTED, chamfer, DEGREES_T, APAD6::direction, APAD6::holesize, APAD6::name, APAD6::net, APAD6::padmode, APAD6::position, PCB_SHAPE::Rotate(), EDA_SHAPE::SetEnd(), EDA_SHAPE::SetFilled(), PCB_SHAPE::SetLayer(), EDA_SHAPE::SetPolyPoints(), EDA_SHAPE::SetShape(), EDA_SHAPE::SetStart(), PCB_SHAPE::SetStroke(), APAD6::sizeAndShape, APAD6::topshape, APAD6::topsize, VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by ConvertPads6ToBoardItemOnNonCopper(), and ConvertPads6ToFootprintItemOnNonCopper().
|
private |
Definition at line 3862 of file altium_pcb.cpp.
References BOARD::Add(), ARC_HIGH_DEF, ERROR_INSIDE, ZONE::GetDefaultHatchPitch(), HelperSetZoneKeepoutRestrictions(), HelperSetZoneLayers(), and m_board.
Referenced by ConvertArcs6ToBoardItem(), ConvertFills6ToBoardItem(), and ConvertTracks6ToBoardItem().
|
private |
Definition at line 3882 of file altium_pcb.cpp.
References FOOTPRINT::Add(), ARC_HIGH_DEF, ERROR_INSIDE, ZONE::GetDefaultHatchPitch(), HelperSetZoneKeepoutRestrictions(), and HelperSetZoneLayers().
Referenced by ConvertArcs6ToFootprintItem(), ConvertFills6ToFootprintItem(), and ConvertTracks6ToFootprintItem().
|
private |
Definition at line 3846 of file altium_pcb.cpp.
References ZONE::SetDoNotAllowCopperPour(), ZONE::SetDoNotAllowFootprints(), ZONE::SetDoNotAllowPads(), ZONE::SetDoNotAllowTracks(), and ZONE::SetDoNotAllowVias().
Referenced by ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), HelperPcpShapeAsBoardKeepoutRegion(), and HelperPcpShapeAsFootprintKeepoutRegion().
|
private |
Definition at line 3835 of file altium_pcb.cpp.
References GetKicadLayersToIterate(), and ZONE::SetLayerSet().
Referenced by ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), HelperPcpShapeAsBoardKeepoutRegion(), HelperPcpShapeAsFootprintKeepoutRegion(), and ParsePolygons6Data().
void ALTIUM_PCB::Parse | ( | const ALTIUM_COMPOUND_FILE & | aAltiumPcbFile, |
const std::map< ALTIUM_PCB_DIR, std::string > & | aFileMapping | ||
) |
Definition at line 301 of file altium_pcb.cpp.
References _, directory, BOARD::Drawings(), VECTOR2< T >::EuclideanNorm(), ALTIUM_COMPOUND_FILE::FindStream(), FormatPath(), BOARD_DESIGN_SETTINGS::GetAuxOrigin(), BOARD::GetBoardEdgesBoundingBox(), PCB_ARC::GetCenter(), BOARD::GetDesignSettings(), BOARD_DESIGN_SETTINGS::GetGridOrigin(), BOX2< Vec >::GetHeight(), PAGE_INFO::GetHeightIU(), BOARD::GetPageSettings(), PCB_SHAPE::GetPosition(), EDA_SHAPE::GetRadius(), PCB_ARC::GetRadius(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), EDA_SHAPE::GetShape(), BOX2< Vec >::GetWidth(), PAGE_INFO::GetWidthIU(), BOX2< Vec >::GetX(), BOX2< Vec >::GetY(), ALTIUM_BINARY_PARSER::HasParsingError(), EDA_IU_SCALE::IU_PER_MILS, m_board, m_highest_pour_index, m_outer_plane, m_polygons, m_progressReporter, m_radialDimensions, m_totalCount, BOARD::Move(), ParseArcs6Data(), ParseBoard6Data(), ParseBoardRegionsData(), ParseClasses6Data(), ParseComponents6Data(), ParseComponentsBodies6Data(), ParseDimensions6Data(), ParseExtendedPrimitiveInformationData(), ParseFileHeader(), ParseFills6Data(), ParseModelsData(), ParseNets6Data(), ParsePads6Data(), ParsePolygons6Data(), ParseRegions6Data(), ParseRules6Data(), ParseShapeBasedRegions6Data(), ParseTexts6Data(), ParseTracks6Data(), ParseVias6Data(), ParseWideStrings6Data(), PCB_ARC_T, PCB_SHAPE_T, pcbIUScale, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE, ALTIUM_BINARY_PARSER::Read(), VECTOR2< T >::Resize(), BOARD_DESIGN_SETTINGS::SetAuxOrigin(), BOARD_DESIGN_SETTINGS::SetGridOrigin(), EDA_ITEM::SetModified(), THROW_IO_ERROR, and BOARD::Tracks().
Referenced by PCB_IO_ALTIUM_CIRCUIT_STUDIO::LoadBoard(), PCB_IO_ALTIUM_CIRCUIT_MAKER::LoadBoard(), PCB_IO_ALTIUM_DESIGNER::LoadBoard(), and PCB_IO_SOLIDWORKS::LoadBoard().
|
private |
Definition at line 2456 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), AARC6::component, ConvertArcs6ToBoardItem(), ConvertArcs6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 882 of file altium_pcb.cpp.
References _, B_Cu, ABOARD6::board_vertices, BS_ITEM_TYPE_COPPER, BS_ITEM_TYPE_DIELECTRIC, BOARD_STACKUP::BuildDefaultStackupList(), checkpoint(), ABOARD6_LAYER_STACKUP::copperthick, ABOARD6_LAYER_STACKUP::dielectricconst, ABOARD6_LAYER_STACKUP::dielectricmaterial, ABOARD6_LAYER_STACKUP::dielectricthick, F_Cu, BOARD::GetDesignSettings(), GetKicadLayer(), BOARD_STACKUP::GetList(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), BOARD_DESIGN_SETTINGS::GetStackupDescriptor(), HelperCreateBoardOutline(), IsAltiumLayerAPlane(), m_board, m_layermap, m_progressReporter, ABOARD6_LAYER_STACKUP::name, ABOARD6_LAYER_STACKUP::nextId, NotSpecifiedPrm(), BOARD_STACKUP::RemoveAll(), PROGRESS_REPORTER::Report(), BOARD_DESIGN_SETTINGS::SetAuxOrigin(), BOARD::SetCopperLayerCount(), BOARD_DESIGN_SETTINGS::SetGridOrigin(), BOARD::SetLayerName(), BOARD::SetLayerType(), ABOARD6::sheetpos, ABOARD6::stackup, and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1956 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1064 of file altium_pcb.cpp.
References _, checkpoint(), CTX_NETCLASS, BOARD::GetDesignSettings(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), ACLASS6::kind, m_board, BOARD::m_LegacyNetclassesLoaded, BOARD_DESIGN_SETTINGS::m_NetSettings, m_progressReporter, name, ACLASS6::name, ACLASS6::names, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1110 of file altium_pcb.cpp.
References _, BOARD::Add(), AltiumToKiCadLibID(), B_Cu, checkpoint(), ACOMPONENT6::commenton, F_Cu, ALTIUM_BINARY_PARSER::GetRemainingBytes(), ACOMPONENT6::layer, ACOMPONENT6::locked, m_board, m_components, m_progressReporter, ACOMPONENT6::nameon, ACOMPONENT6::pattern, ACOMPONENT6::position, PROGRESS_REPORTER::Report(), ACOMPONENT6::rotation, ACOMPONENT6::sourcedesignator, ACOMPONENT6::sourcefootprintlibrary, and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1172 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, EDA_ANGLE::AsDegrees(), ACOMPONENTBODY6::bodyOpacity, checkpoint(), ACOMPONENTBODY6::component, FOOTPRINT::GetOrientation(), FOOTPRINT::GetPosition(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), FOOTPRINT::IsFlipped(), EDA_IU_SCALE::IUTomm(), m_components, FP_3DMODEL::m_Filename, m_models, FP_3DMODEL::m_Offset, FP_3DMODEL::m_Opacity, m_progressReporter, FP_3DMODEL::m_Rotation, ACOMPONENTBODY6::modelId, ACOMPONENTBODY6::modelIsEmbedded, ACOMPONENTBODY6::modelPosition, ACOMPONENTBODY6::modelRotation, FOOTPRINT::Models(), normalizeAngleDegrees(), pcbIUScale, PROGRESS_REPORTER::Report(), RotatePoint(), ACOMPONENTBODY6::rotation, THROW_IO_ERROR, VECTOR2< T >::x, VECTOR3< T >::x, VECTOR2< T >::y, VECTOR3< T >::y, and VECTOR3< T >::z.
Referenced by Parse().
|
private |
Definition at line 1573 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperParseDimensions6Center(), HelperParseDimensions6Leader(), HelperParseDimensions6Linear(), HelperParseDimensions6Radial(), ADIMENSION6::kind, m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 861 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), m_extendedPrimitiveInformationMaps, m_progressReporter, AEXTENDED_PRIMITIVE_INFORMATION::primitiveIndex, AEXTENDED_PRIMITIVE_INFORMATION::primitiveObjectId, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse(), and ParseFootprint().
|
private |
Definition at line 844 of file altium_pcb.cpp.
References ALTIUM_BINARY_PARSER::ReadAndSetSubrecordLength(), and ALTIUM_BINARY_PARSER::ReadWxString().
Referenced by Parse().
|
private |
Definition at line 3688 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), AFILL6::component, ConvertFills6ToBoardItem(), ConvertFills6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
FOOTPRINT * ALTIUM_PCB::ParseFootprint | ( | ALTIUM_COMPOUND_FILE & | altiumLibFile, |
const wxString & | aFootprintName | ||
) |
Definition at line 625 of file altium_pcb.cpp.
References _, AltiumToKiCadLibID(), ConvertArcs6ToFootprintItem(), ConvertFills6ToFootprintItem(), ConvertPads6ToFootprintItem(), ConvertShapeBasedRegions6ToFootprintItem(), ConvertTexts6ToFootprintItem(), ConvertTracks6ToFootprintItem(), Eco2_User, ALTIUM_COMPOUND_FILE::FindLibFootprintDirName(), ALTIUM_COMPOUND_FILE::FindStream(), FormatPath(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), ALTIUM_BINARY_PARSER::HasParsingError(), m_board, m_extendedPrimitiveInformationMaps, m_layermap, m_unicodeStrings, EDA_IU_SCALE::mmToIU(), pad, ParseExtendedPrimitiveInformationData(), pcbIUScale, ALTIUM_BINARY_PARSER::Peek(), ALTIUM_BINARY_PARSER::ReadAndSetSubrecordLength(), ALTIUM_BINARY_PARSER::ReadProperties(), ALTIUM_PROPS_UTILS::ReadString(), ALTIUM_BINARY_PARSER::SkipSubrecord(), text, THROW_IO_ERROR, and via.
Referenced by PCB_IO_ALTIUM_DESIGNER::FootprintLoad().
|
private |
Definition at line 1615 of file altium_pcb.cpp.
References _, checkpoint(), ALTIUM_COMPOUND_FILE::FindStream(), FormatPath(), ALTIUM_COMPOUND_FILE::GetCompoundFileReader(), BOARD::GetFileName(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), AMODEL::id, m_board, m_models, m_progressReporter, AMODEL::name, PROJECT_VAR_NAME, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1716 of file altium_pcb.cpp.
References _, BOARD::Add(), checkpoint(), NETINFO_ITEM::GetNetCode(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), m_altiumToKicadNetcodes, m_board, m_progressReporter, ANET6::name, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 2699 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), APAD6::component, ConvertPads6ToBoardItem(), ConvertPads6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1741 of file altium_pcb.cpp.
References _, BOARD::Add(), ANGLE_45, checkpoint(), ARULE6::clearanceGap, ZONE::GetDefaultHatchPitch(), BOX2< Vec >::GetHeight(), BOARD::GetLayerType(), GetNetCode(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), GetRule(), GetRuleDefault(), BOX2< Vec >::GetWidth(), APOLYGON6::gridsize, APOLYGON6::hatchstyle, HelperSetZoneLayers(), HelperShapeLineChainFromAltiumVertices(), IsAltiumLayerAPlane(), APOLYGON6::layer, APOLYGON6::locked, LT_MIXED, LT_POWER, LT_SIGNAL, m_board, m_highest_pour_index, m_outer_plane, m_polygons, m_progressReporter, APOLYGON6::net, ARULE6::planeclearanceClearance, SHAPE_LINE_CHAIN::PointCount(), ARULE6::polygonconnectAirgapwidth, ARULE6::polygonconnectReliefconductorwidth, ARULE6::polygonconnectStyle, APOLYGON6::pourindex, PROGRESS_REPORTER::Report(), THROW_IO_ERROR, APOLYGON6::trackwidth, and APOLYGON6::vertices.
Referenced by Parse().
|
private |
Definition at line 2381 of file altium_pcb.cpp.
References _, SHAPE_POLY_SET::AddHole(), SHAPE_POLY_SET::AddOutline(), ALTIUM_POLYGON_NONE, SHAPE_LINE_CHAIN::Append(), SHAPE_POLY_SET::BooleanAdd(), checkpoint(), SHAPE_POLY_SET::Fracture(), ZONE::GetFill(), GetKicadLayer(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), ZONE::HasFilledPolysForLayer(), AREGION6::holes, AREGION6::layer, m_polygons, m_progressReporter, AREGION6::outline, SHAPE_POLY_SET::PM_STRICTLY_SIMPLE, AREGION6::polygon, ALTIUM_VERTICE::position, PROGRESS_REPORTER::Report(), SHAPE_LINE_CHAIN::SetClosed(), ZONE::SetFilledPolysList(), ZONE::SetIsFilled(), ZONE::SetNeedRefill(), THROW_IO_ERROR, and UNDEFINED_LAYER.
Referenced by Parse().
|
private |
Definition at line 1888 of file altium_pcb.cpp.
References _, checkpoint(), ARULE6::clearanceGap, BOARD::GetDesignSettings(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), GetRuleDefault(), ARULE6::kind, m_board, BOARD_DESIGN_SETTINGS::m_HoleToHoleMin, BOARD_DESIGN_SETTINGS::m_MinClearance, BOARD_DESIGN_SETTINGS::m_MinThroughDrill, m_progressReporter, m_rules, BOARD_DESIGN_SETTINGS::m_SolderMaskExpansion, BOARD_DESIGN_SETTINGS::m_SolderPasteMargin, BOARD_DESIGN_SETTINGS::m_TrackMinWidth, BOARD_DESIGN_SETTINGS::m_ViasMinSize, ARULE6::minHoleWidth, ARULE6::minLimit, ARULE6::minWidth, ARULE6::pastemaskExpansion, PROGRESS_REPORTER::Report(), ARULE6::soldermaskExpansion, and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 1976 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), AREGION6::component, ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), AREGION6::kind, m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 3526 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), ATEXT6::component, ConvertTexts6ToBoardItem(), ConvertTexts6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, m_unicodeStrings, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 3304 of file altium_pcb.cpp.
References _, ALTIUM_COMPONENT_NONE, checkpoint(), ATRACK6::component, ConvertTracks6ToBoardItem(), ConvertTracks6ToFootprintItem(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), HelperGetFootprint(), m_progressReporter, PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 3243 of file altium_pcb.cpp.
References _, BOARD::Add(), checkpoint(), AVIA6::diameter, GetKicadLayer(), GetNetCode(), ALTIUM_BINARY_PARSER::GetRemainingBytes(), AVIA6::holesize, AVIA6::is_locked, IsCopperLayer(), AVIA6::layer_end, AVIA6::layer_start, m_board, m_progressReporter, AVIA6::net, AVIA6::position, PROGRESS_REPORTER::Report(), THROW_IO_ERROR, and via.
Referenced by Parse().
|
private |
Definition at line 3512 of file altium_pcb.cpp.
References _, ALTIUM_BINARY_PARSER::GetRemainingBytes(), m_progressReporter, m_unicodeStrings, ALTIUM_BINARY_PARSER::ReadWideStringTable(), PROGRESS_REPORTER::Report(), and THROW_IO_ERROR.
Referenced by Parse().
|
private |
Definition at line 247 of file altium_pcb.h.
Referenced by GetNetCode(), and ParseNets6Data().
|
private |
Definition at line 241 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), ConvertArcs6ToBoardItem(), ConvertArcs6ToBoardItemOnLayer(), ConvertFills6ToBoardItemOnLayer(), ConvertPads6ToBoardItem(), ConvertPads6ToBoardItemOnNonCopper(), ConvertShapeBasedRegions6ToBoardItem(), ConvertShapeBasedRegions6ToBoardItemOnLayer(), ConvertTexts6ToBoardItemOnLayer(), ConvertTracks6ToBoardItem(), ConvertTracks6ToBoardItemOnLayer(), GetKicadLayersToIterate(), HelperCreateBoardOutline(), HelperParseDimensions6Center(), HelperParseDimensions6Datum(), HelperParseDimensions6Leader(), HelperParseDimensions6Linear(), HelperParseDimensions6Radial(), HelperPcpShapeAsBoardKeepoutRegion(), Parse(), ParseBoard6Data(), ParseClasses6Data(), ParseComponents6Data(), ParseFootprint(), ParseModelsData(), ParseNets6Data(), ParsePolygons6Data(), ParseRules6Data(), and ParseVias6Data().
|
private |
Definition at line 242 of file altium_pcb.h.
Referenced by HelperGetFootprint(), ParseComponents6Data(), and ParseComponentsBodies6Data().
|
private |
Definition at line 256 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), and checkpoint().
|
private |
Definition at line 251 of file altium_pcb.h.
Referenced by ConvertShapeBasedRegions6ToFootprintItemOnLayer(), HelperGetSolderAndPasteMaskExpansions(), ParseExtendedPrimitiveInformationData(), and ParseFootprint().
|
private |
for footprint library loading error reporting
Definition at line 261 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), ConvertShapeBasedRegions6ToFootprintItem(), and ConvertTexts6ToFootprintItem().
|
private |
Altium stores pour order across all layers.
Definition at line 264 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), Parse(), and ParsePolygons6Data().
|
private |
Definition at line 257 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), and checkpoint().
|
private |
Definition at line 248 of file altium_pcb.h.
Referenced by GetKicadLayer(), ParseBoard6Data(), and ParseFootprint().
|
private |
for footprint library loading error reporting
Definition at line 260 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), ConvertPads6ToFootprintItemOnCopper(), ConvertPads6ToFootprintItemOnNonCopper(), ConvertShapeBasedRegions6ToFootprintItem(), and ConvertTexts6ToFootprintItem().
|
private |
Definition at line 245 of file altium_pcb.h.
Referenced by ParseComponentsBodies6Data(), and ParseModelsData().
|
private |
Definition at line 253 of file altium_pcb.h.
Referenced by Parse(), and ParsePolygons6Data().
|
private |
Definition at line 243 of file altium_pcb.h.
Referenced by ConvertArcs6ToBoardItem(), ConvertTracks6ToBoardItem(), Parse(), ParsePolygons6Data(), and ParseRegions6Data().
|
private |
optional; may be nullptr
Definition at line 255 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), checkpoint(), Parse(), ParseArcs6Data(), ParseBoard6Data(), ParseBoardRegionsData(), ParseClasses6Data(), ParseComponents6Data(), ParseComponentsBodies6Data(), ParseDimensions6Data(), ParseExtendedPrimitiveInformationData(), ParseFills6Data(), ParseModelsData(), ParseNets6Data(), ParsePads6Data(), ParsePolygons6Data(), ParseRegions6Data(), ParseRules6Data(), ParseShapeBasedRegions6Data(), ParseTexts6Data(), ParseTracks6Data(), ParseVias6Data(), and ParseWideStrings6Data().
|
private |
Definition at line 244 of file altium_pcb.h.
Referenced by HelperParseDimensions6Radial(), and Parse().
|
private |
Definition at line 249 of file altium_pcb.h.
Referenced by GetRule(), GetRuleDefault(), and ParseRules6Data().
|
private |
for progress reporting
Definition at line 258 of file altium_pcb.h.
Referenced by ALTIUM_PCB(), checkpoint(), and Parse().
|
private |
Definition at line 246 of file altium_pcb.h.
Referenced by ParseFootprint(), ParseTexts6Data(), and ParseWideStrings6Data().