|
KiCad PCB EDA Suite
|
#include <list>#include <optional>#include <locale_io.h>#include <macros.h>#include <pcb_edit_frame.h>#include <board.h>#include <board_design_settings.h>#include <footprint.h>#include <footprint_library_adapter.h>#include <io/idf/idf_parser.h>#include <pad.h>#include <pcb_shape.h>#include <build_version.h>#include <project_pcb.h>#include <reporter.h>#include "project.h"#include "3d_cache/3d_cache.h"#include "filename_resolver.h"#include "export_idf.h"#include <3d_math.h>#include <3d_rendering/3d_placeholder_utils.h>#include <base_units.h>#include <jobs/job_export_pcb_idf.h>Go to the source code of this file.
Macros | |
| #define | LINE_WIDTH (pcbIUScale.mmToIU( 0.1 )) |
Functions | |
| static void | idf_append_shape (PCB_SHAPE *aGraphic, double aScale, double aOffX, double aOffY, std::list< IDF_SEGMENT * > &aLines) |
Convert a single Edge_Cuts graphic into IDF segments and append them to aLines. | |
| static void | idf_export_outline (BOARD *aPcb, IDF3_BOARD &aIDFBoard) |
| Retrieve line segment information from the edge layer and compiles the data into a form which can be output as an IDFv3 compliant BOARD_OUTLINE section. | |
| static std::optional< double > | getModelHeight (const S3DMODEL &aModel, const VECTOR3D &aRotation, const VECTOR3D &aScale) |
| Returns the largest board Z value, in mm, of the given model. | |
| #define LINE_WIDTH (pcbIUScale.mmToIU( 0.1 )) |
Definition at line 50 of file export_idf.cpp.
Referenced by idf_export_outline().
|
static |
Returns the largest board Z value, in mm, of the given model.
Definition at line 336 of file export_idf.cpp.
References CalcModelMatrix(), S3DMODEL::m_Meshes, S3DMODEL::m_MeshesSize, SMESH::m_Positions, SMESH::m_VertexSize, VECTOR3< T >::x, VECTOR3< T >::y, and VECTOR3< T >::z.
Referenced by IDF_EXPORTER::getMaxModelHeight().
|
static |
Convert a single Edge_Cuts graphic into IDF segments and append them to aLines.
Shared between the board outline and footprint cutout emitters so both encode identical geometry into the BOARD_OUTLINE section.
Definition at line 73 of file export_idf.cpp.
References ARC, EDA_ANGLE::AsDegrees(), BEZIER, chain, CIRCLE, SHAPE_POLY_SET::COutline(), end, EDA_SHAPE::GetArcAngle(), EDA_SHAPE::GetBezierPoints(), PCB_SHAPE::GetCenter(), EDA_SHAPE::GetEnd(), EDA_SHAPE::GetPolyShape(), EDA_SHAPE::GetRadius(), EDA_SHAPE::GetShape(), EDA_SHAPE::GetStart(), EDA_SHAPE::IsPolyShapeValid(), left, SHAPE_POLY_SET::OutlineCount(), POLY, EDA_SHAPE::RebuildBezierToSegmentsPointsList(), RECTANGLE, right, SEGMENT, top(), IDF_POINT::x, VECTOR2< T >::x, IDF_POINT::y, and VECTOR2< T >::y.
Referenced by IDF_EXPORTER::exportFootprint(), and idf_export_outline().
|
static |
Retrieve line segment information from the edge layer and compiles the data into a form which can be output as an IDFv3 compliant BOARD_OUTLINE section.
Definition at line 211 of file export_idf.cpp.
References IDF3_BOARD::AddBoardOutline(), IDF_OUTLINE::Clear(), BOARD::Drawings(), Edge_Cuts, IDF_OUTLINE::empty(), BOARD::GetBoardEdgesBoundingBox(), BOX2< Vec >::GetOrigin(), IDF3::GetOutline(), BOX2< Vec >::GetSize(), IDF3_BOARD::GetUserOffset(), IDF3_BOARD::GetUserScale(), idf_append_shape(), LINE_WIDTH, PCB_SHAPE_T, IDF_OUTLINE::push(), scale, IDF_POINT::x, and IDF_POINT::y.
Referenced by IDF_EXPORTER::Export().