KiCad PCB EDA Suite
|
#include <exporter_step.h>
Public Member Functions | |
EXPORTER_STEP (BOARD *aBoard, const EXPORTER_STEP_PARAMS &aParams, REPORTER *aReporter) | |
~EXPORTER_STEP () | |
bool | Export () |
Public Attributes | |
wxString | m_outputFile |
Private Member Functions | |
bool | buildBoard3DShapes () |
bool | buildFootprint3DShapes (FOOTPRINT *aFootprint, VECTOR2D aOrigin, SHAPE_POLY_SET *aClipPolygon) |
bool | buildTrack3DShape (PCB_TRACK *aTrack, VECTOR2D aOrigin) |
void | buildZones3DShape (VECTOR2D aOrigin) |
bool | buildGraphic3DShape (BOARD_ITEM *aItem, VECTOR2D aOrigin) |
void | initOutputVariant () |
Private Attributes | |
EXPORTER_STEP_PARAMS | m_params |
std::unique_ptr< FILENAME_RESOLVER > | m_resolver |
REPORTER * | m_reporter |
BOARD * | m_board |
std::unique_ptr< STEP_PCB_MODEL > | m_pcbModel |
wxString | m_pcbBaseName |
the name of the project (board short filename (no path, no ext) used to identify items in step file | |
std::map< PCB_LAYER_ID, std::map< wxString, SHAPE_POLY_SET > > | m_poly_shapes |
std::map< PCB_LAYER_ID, SHAPE_POLY_SET > | m_poly_holes |
LSET | m_layersToExport |
KIGFX::COLOR4D | m_copperColor |
KIGFX::COLOR4D | m_padColor |
int | m_platingThickness |
Definition at line 46 of file exporter_step.h.
EXPORTER_STEP::EXPORTER_STEP | ( | BOARD * | aBoard, |
const EXPORTER_STEP_PARAMS & | aParams, | ||
REPORTER * | aReporter | ||
) |
Definition at line 124 of file exporter_step.cpp.
References FILEEXT::AutoSaveFilePrefix, BOARD::GetFileName(), BOARD::GetProject(), m_copperColor, EXPORTER_STEP_PARAMS::m_ExportComponents, m_padColor, m_params, m_pcbBaseName, m_platingThickness, m_resolver, EDA_IU_SCALE::mmToIU(), pcbIUScale, and Pgm().
EXPORTER_STEP::~EXPORTER_STEP | ( | ) |
Definition at line 157 of file exporter_step.cpp.
|
private |
Definition at line 689 of file exporter_step.cpp.
References _, KIGFX::COLOR4D::b, B_Mask, SHAPE_POLY_SET::BooleanSubtract(), buildFootprint3DShapes(), buildGraphic3DShape(), buildTrack3DShape(), buildZones3DShape(), SHAPE_POLY_SET::ClearArcs(), BOARD::Drawings(), F_Mask, BOARD::Footprints(), SHAPE_POLY_SET::FullPointCount(), KIGFX::COLOR4D::g, BOARD_DESIGN_SETTINGS::GetAuxOrigin(), BOARD::GetBoardPolygonOutlines(), BOARD::GetDesignSettings(), BOARD_DESIGN_SETTINGS::GetGridOrigin(), BOARD::GetStackupOrDefault(), initOutputVariant(), m_board, m_copperColor, EXPORTER_STEP_PARAMS::m_ExportBoardBody, EXPORTER_STEP_PARAMS::m_ExportZones, EXPORTER_STEP_PARAMS::m_FuseShapes, m_layersToExport, EXPORTER_STEP_PARAMS::m_NetFilter, EXPORTER_STEP_PARAMS::m_Origin, m_padColor, m_params, m_pcbBaseName, m_pcbModel, m_poly_holes, m_poly_shapes, m_reporter, EXPORTER_STEP_PARAMS::m_UseDrillOrigin, EXPORTER_STEP_PARAMS::m_UseGridOrigin, EDA_IU_SCALE::mmToIU(), OCC_MAX_DISTANCE_TO_MERGE_POINTS, pcbIUScale, KIGFX::COLOR4D::r, REPORTER::Report(), RPT_SEVERITY_DEBUG, RPT_SEVERITY_ERROR, LSET::Seq(), SHAPE_POLY_SET::Simplify(), and BOARD::Tracks().
Referenced by Export().
|
private |
Definition at line 162 of file exporter_step.cpp.
References _, EDA_ANGLE::AsRadians(), B_Cu, B_Mask, SHAPE_POLY_SET::CPolygons(), SHAPE_POLY_SET::Deflate(), ERROR_INSIDE, F_Cu, F_Mask, FP_LIB_TABLE::FindRow(), FP_DNP, FP_SMD, FP_THROUGH_HOLE, FOOTPRINT::GetAttributes(), BOARD::GetEmbeddedFiles(), FOOTPRINT::GetEmbeddedFiles(), FOOTPRINT::GetFPID(), LIB_TABLE_ROW::GetFullURI(), FOOTPRINT::GetLayer(), LIB_ID::GetLibNickname(), BOARD_ITEM::GetMaxError(), FOOTPRINT::GetOrientation(), FOOTPRINT::GetPosition(), BOARD::GetProject(), FOOTPRINT::GetReference(), IsCopperLayer(), EDA_IU_SCALE::IUTomm(), m_board, EXPORTER_STEP_PARAMS::m_BoardOnly, EXPORTER_STEP_PARAMS::m_ComponentFilter, EXPORTER_STEP_PARAMS::m_ExportComponents, EXPORTER_STEP_PARAMS::m_ExportPads, EXPORTER_STEP_PARAMS::m_ExportSoldermask, EXPORTER_STEP_PARAMS::m_ExportTracksVias, EXPORTER_STEP_PARAMS::m_IncludeDNP, EXPORTER_STEP_PARAMS::m_IncludeUnspecified, m_layersToExport, EXPORTER_STEP_PARAMS::m_NetFilter, m_params, m_pcbModel, m_platingThickness, m_poly_holes, m_poly_shapes, m_reporter, m_resolver, EXPORTER_STEP_PARAMS::m_SubstModels, FOOTPRINT::Models(), pad, FOOTPRINT::Pads(), PROJECT_PCB::PcbFootprintLibs(), pcbIUScale, REPORTER::Report(), RPT_SEVERITY_ERROR, LSET::Seq(), FOOTPRINT::TransformFPShapesToPolySet(), SHAPE_POLY_SET::TransformToPolygon(), VECTOR2< T >::x, and VECTOR2< T >::y.
Referenced by buildBoard3DShapes().
|
private |
Definition at line 518 of file exporter_step.cpp.
References B_Mask, LSET::Contains(), ERROR_INSIDE, F_Mask, PCB_PLOT_PARAMS::GetDashedLineDashRatio(), PCB_PLOT_PARAMS::GetDashedLineGapRatio(), EDA_SHAPE::GetHatching(), BOARD_ITEM::GetLayer(), EDA_SHAPE::GetLineStyle(), BOARD_ITEM::GetMaxError(), BOARD_CONNECTED_ITEM::GetNetname(), BOARD::GetPlotOptions(), PCB_SHAPE::GetSolderMaskExpansion(), STROKE_PARAMS::GetWidth(), PCB_SHAPE::GetWidth(), PCB_TEXTBOX::IsBorderEnabled(), IsCopperLayer(), EDA_SHAPE::IsHatchedFill(), IsInnerCopperLayer(), PCB_SHAPE::IsOnLayer(), m_board, EXPORTER_STEP_PARAMS::m_ExportInnerCopper, EXPORTER_STEP_PARAMS::m_ExportSoldermask, EXPORTER_STEP_PARAMS::m_ExportTracksVias, m_layersToExport, EXPORTER_STEP_PARAMS::m_NetFilter, m_params, m_poly_shapes, EDA_SHAPE::MakeEffectiveShapes(), PCB_SHAPE_T, PCB_TABLE_T, PCB_TEXT_T, PCB_TEXTBOX_T, KIGFX::RENDER_SETTINGS::SetDashLengthRatio(), KIGFX::RENDER_SETTINGS::SetGapLengthRatio(), STROKE_PARAMS::Stroke(), table, text, PCB_SHAPE::TransformShapeToPolygon(), PCB_SHAPE::TransformShapeToPolySet(), PCB_TEXTBOX::TransformTextToPolySet(), SHAPE_SEGMENT::TransformToPolygon(), and EDA_ITEM::Type().
Referenced by buildBoard3DShapes().
Definition at line 413 of file exporter_step.cpp.
References B_Mask, LSET::Contains(), SHAPE_POLY_SET::Deflate(), ERROR_INSIDE, F_Mask, BOARD_ITEM::GetLayer(), BOARD_ITEM::GetMaxError(), BOARD_CONNECTED_ITEM::GetNetname(), PCB_TRACK::GetSolderMaskExpansion(), PCB_TRACK::IsOnLayer(), EXPORTER_STEP_PARAMS::m_CutViasInBody, EXPORTER_STEP_PARAMS::m_ExportSoldermask, EXPORTER_STEP_PARAMS::m_ExportTracksVias, EXPORTER_STEP_PARAMS::m_FillAllVias, m_layersToExport, EXPORTER_STEP_PARAMS::m_NetFilter, m_params, m_pcbModel, m_platingThickness, m_poly_holes, m_poly_shapes, PCB_VIA_T, LSET::Seq(), PCB_TRACK::TransformShapeToPolygon(), SHAPE_POLY_SET::TransformToPolygon(), EDA_ITEM::Type(), and via.
Referenced by buildBoard3DShapes().
|
private |
Definition at line 492 of file exporter_step.cpp.
References LSET::AllCuMask(), ADVANCED_CFG::GetCfg(), m_board, EXPORTER_STEP_PARAMS::m_NetFilter, m_params, m_poly_shapes, LSET::Seq(), SHAPE_POLY_SET::SimplifyOutlines(), SHAPE_POLY_SET::Unfracture(), and BOARD::Zones().
Referenced by buildBoard3DShapes().
bool EXPORTER_STEP::Export | ( | ) |
Definition at line 812 of file exporter_step.cpp.
References _, B_Mask, B_SilkS, EXPORTER_STEP_PARAMS::BREP, buildBoard3DShapes(), LSET::ExternalCuMask(), F_Mask, F_SilkS, EXPORTER_STEP_PARAMS::GetDefaultExportExtension(), BOARD::GetEnabledLayers(), BOARD::GetFileName(), EXPORTER_STEP_PARAMS::GetFormatName(), GetRunningMicroSecs(), EXPORTER_STEP_PARAMS::GLB, REPORTER::HasMessageOfSeverity(), LSET::InternalCuMask(), m_board, EXPORTER_STEP_PARAMS::m_ExportInnerCopper, EXPORTER_STEP_PARAMS::m_ExportSilkscreen, EXPORTER_STEP_PARAMS::m_ExportSoldermask, EXPORTER_STEP_PARAMS::m_Format, m_layersToExport, EXPORTER_STEP_PARAMS::m_OptimizeStep, EXPORTER_STEP_PARAMS::m_OutputFile, m_outputFile, m_params, m_pcbModel, m_reporter, EXPORTER_STEP_PARAMS::PLY, REPORTER::Report(), RPT_SEVERITY_ACTION, RPT_SEVERITY_DEBUG, RPT_SEVERITY_ERROR, RPT_SEVERITY_INFO, BASE_SET::set(), EXPORTER_STEP_PARAMS::STEP, EXPORTER_STEP_PARAMS::STEPZ, EXPORTER_STEP_PARAMS::STL, and EXPORTER_STEP_PARAMS::XAO.
Referenced by PCBNEW_JOBS_HANDLER::JobExportStep().
|
private |
Definition at line 648 of file exporter_step.cpp.
References EXPORTER_STEP_PARAMS::BREP, EXPORTER_STEP_PARAMS::GLB, EXPORTER_STEP_PARAMS::m_Format, m_params, m_pcbModel, EXPORTER_STEP_PARAMS::PLY, EXPORTER_STEP_PARAMS::STEP, EXPORTER_STEP_PARAMS::STEPZ, EXPORTER_STEP_PARAMS::STL, and EXPORTER_STEP_PARAMS::XAO.
Referenced by buildBoard3DShapes().
|
private |
Definition at line 70 of file exporter_step.h.
Referenced by buildBoard3DShapes(), buildFootprint3DShapes(), buildGraphic3DShape(), buildZones3DShape(), and Export().
|
private |
Definition at line 83 of file exporter_step.h.
Referenced by buildBoard3DShapes(), and EXPORTER_STEP().
|
private |
Definition at line 81 of file exporter_step.h.
Referenced by buildBoard3DShapes(), buildFootprint3DShapes(), buildGraphic3DShape(), buildTrack3DShape(), and Export().
wxString EXPORTER_STEP::m_outputFile |
Definition at line 54 of file exporter_step.h.
Referenced by Export(), and PCBNEW_JOBS_HANDLER::JobExportStep().
|
private |
Definition at line 84 of file exporter_step.h.
Referenced by buildBoard3DShapes(), and EXPORTER_STEP().
|
private |
Definition at line 64 of file exporter_step.h.
Referenced by buildBoard3DShapes(), buildFootprint3DShapes(), buildGraphic3DShape(), buildTrack3DShape(), buildZones3DShape(), Export(), EXPORTER_STEP(), and initOutputVariant().
|
private |
the name of the project (board short filename (no path, no ext) used to identify items in step file
Definition at line 75 of file exporter_step.h.
Referenced by buildBoard3DShapes(), and EXPORTER_STEP().
|
private |
Definition at line 71 of file exporter_step.h.
Referenced by buildBoard3DShapes(), buildFootprint3DShapes(), buildTrack3DShape(), Export(), and initOutputVariant().
|
private |
Definition at line 86 of file exporter_step.h.
Referenced by buildFootprint3DShapes(), buildTrack3DShape(), and EXPORTER_STEP().
|
private |
Definition at line 79 of file exporter_step.h.
Referenced by buildBoard3DShapes(), buildFootprint3DShapes(), and buildTrack3DShape().
|
private |
Definition at line 78 of file exporter_step.h.
Referenced by buildBoard3DShapes(), buildFootprint3DShapes(), buildGraphic3DShape(), buildTrack3DShape(), and buildZones3DShape().
|
private |
Definition at line 68 of file exporter_step.h.
Referenced by buildBoard3DShapes(), buildFootprint3DShapes(), and Export().
|
private |
Definition at line 65 of file exporter_step.h.
Referenced by buildFootprint3DShapes(), and EXPORTER_STEP().