302 return wxString( wxT(
"dxf" ) );
317 bool StartPlot(
const wxString& aPageNumber )
override;
339 void SetViewport(
const VECTOR2I& aOffset,
double aIusPerDecimil,
double aScale,
bool aMirror )
override;
355 FILL_T aFill,
int aWidth )
override;
364 void PlotPoly(
const std::vector<VECTOR2I>& aCornerList,
FILL_T aFill,
int aWidth,
void* aData =
nullptr )
override;
371 int aWidth,
void* aData )
override;
399 const EDA_ANGLE& aOrient,
void* aData )
override;
407 void* aData )
override;
409 void* aData )
override;
413 const wxString& aText,
421 bool aMultilineAllowed,
424 void* aData =
nullptr )
override;
428 const wxString& aText,
432 void* aData =
nullptr )
override;
522 std::string
emitEntityHandle(
const char* aEntityType,
const char* aSubclass,
const std::string& aLayerName,
523 const std::string& aOwner =
"" );
static const COLOR4D BLACK
void plotOneLineOfText(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const TEXT_ATTRIBUTES &aAttrs)
unsigned int GetInsUnits() const
Get the correct value for the $INSUNITS header variable given the current units.
void PlotText(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const TEXT_ATTRIBUTES &aAttributes, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, void *aData=nullptr) override
void FlashPadCustom(const VECTOR2I &aPadPos, const VECTOR2I &aSize, const EDA_ANGLE &aOrient, SHAPE_POLY_SET *aPolygons, void *aData) override
void ThickCircle(const VECTOR2I &pos, int diametre, int width, void *aData) override
static wxString GetDefaultFileExtension()
std::string m_layoutDictHandle
void SetUnits(DXF_UNITS aUnit)
Set the units to use for plotting the DXF file.
void SetViewport(const VECTOR2I &aOffset, double aIusPerDecimil, double aScale, bool aMirror) override
Set the scale/position for the DXF plot.
void ThickArc(const VECTOR2D &aCentre, const EDA_ANGLE &aStAngle, const EDA_ANGLE &aAngle, double aRadius, int aWidth, void *aData) override
void Arc(const VECTOR2D &aCenter, const EDA_ANGLE &aStartAngle, const EDA_ANGLE &aAngle, double aRadius, FILL_T aFill, int aWidth) override
double GetUnitScaling() const
Get the scale factor to apply to convert the device units to be in the currently set units.
void FlashPadOval(const VECTOR2I &aPos, const VECTOR2I &aSize, const EDA_ANGLE &aOrient, void *aData) override
DXF oval pad: always done in sketch mode.
void Text(const VECTOR2I &aPos, const COLOR4D &aColor, const wxString &aText, const EDA_ANGLE &aOrient, const VECTOR2I &aSize, GR_TEXT_H_ALIGN_T aH_justify, GR_TEXT_V_ALIGN_T aV_justify, int aWidth, bool aItalic, bool aBold, bool aMultilineAllowed, KIFONT::FONT *aFont, const KIFONT::METRICS &aFontMetrics, void *aData=nullptr) override
Draw text with the plotter.
std::string emitEntityHandle(const char *aEntityType, const char *aSubclass, const std::string &aLayerName, const std::string &aOwner="")
std::string m_plotStyleNameDictHandle
void FlashPadRect(const VECTOR2I &aPos, const VECTOR2I &aSize, const EDA_ANGLE &aOrient, void *aData) override
DXF rectangular pad: always done in sketch mode.
PLOT_FORMAT GetPlotterType() const override
Return the effective plot engine in use.
void ThickRect(const VECTOR2I &p1, const VECTOR2I &p2, int width, void *aData) override
void SetCurrentLineWidth(int width, void *aData=nullptr) override
Set the line width for the next drawing.
void FlashPadRoundRect(const VECTOR2I &aPadPos, const VECTOR2I &aSize, int aCornerRadius, const EDA_ANGLE &aOrient, void *aData) override
void SetTextMode(PLOT_TEXT_MODE mode) override
DXF handles NATIVE text emitting TEXT entities.
std::vector< DXF_LAYOUT > m_dxfLayouts
void ThickPoly(const SHAPE_POLY_SET &aPoly, int aWidth, void *aData) override
bool StartPlot(const wxString &aPageNumber) override
Open the DXF plot with a skeleton header.
unsigned int GetMeasurementDirective() const
Get the correct value for the $MEASUREMENT field given the current units.
void FlashPadTrapez(const VECTOR2I &aPadPos, const VECTOR2I *aCorners, const EDA_ANGLE &aPadOrient, void *aData) override
DXF trapezoidal pad: only sketch mode is supported.
void Circle(const VECTOR2I &pos, int diametre, FILL_T fill, int width) override
DXF circle: full functionality; it even does 'fills' drawing a circle with a dual-arc polyline wide a...
void FlashPadCircle(const VECTOR2I &pos, int diametre, void *aData) override
DXF round pad: always done in sketch mode; it could be filled but it isn't pretty if other kinds of p...
void FilledCircle(const VECTOR2I &pos, int diametre, void *aData) override
void PlotPoly(const std::vector< VECTOR2I > &aCornerList, FILL_T aFill, int aWidth, void *aData=nullptr) override
DXF polygon: doesn't fill it but at least it close the filled ones DXF does not know thick outline.
std::string m_modelSpaceHandle
wxString GetCurrentLayerName(DXF_LAYER_OUTPUT_MODE aMode, std::optional< PCB_LAYER_ID > aLayerId=std::nullopt)
Retrieves the current layer name or layer color name for DXF plotting.
std::string emitSymbolTableHeader(const char *aTableName, int aCount)
std::string m_namedObjectDictHandle
void writeObjectsSection()
unsigned int m_measurementDirective
void Rect(const VECTOR2I &p1, const VECTOR2I &p2, FILL_T fill, int width, int aCornerRadius=0) override
DXF rectangle: fill not supported.
void FlashRegularPolygon(const VECTOR2I &aShapePos, int aDiameter, int aCornerCount, const EDA_ANGLE &aOrient, void *aData) override
Flash a regular polygon.
void PenTo(const VECTOR2I &pos, char plume) override
Moveto/lineto primitive, moves the 'pen' to the specified direction.
void SetColor(const COLOR4D &color) override
The DXF exporter handles 'colors' as layers...
int FindNearestLegacyColor(int aR, int aG, int aB)
void ThickSegment(const VECTOR2I &start, const VECTOR2I &end, int width, void *aData) override
std::string m_plotStyleNormalHandle
DXF_UNITS GetUnits() const
The units currently enabled for plotting.
double m_unitScalingFactor
void SetDash(int aLineWidth, LINE_STYLE aLineStyle) override
LINE_STYLE m_currentLineType
FONT is an abstract base class for both outline and stroke fonts.
A color representation with 4 components: red, green, blue, alpha.
PLOTTER(const PROJECT *aProject=nullptr)
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
Represent a set of closed polygons.
@ NBCOLORS
Number of colors.
PLOT_TEXT_MODE
Which kind of text to output with the PSLIKE plotters.
DXF_LAYER_OUTPUT_MODE
Specifies the output mode for the DXF layer.
PLOT_FORMAT
The set of supported output plot formats.
DXF_COLOR_T
Legacy colors for DXF file.
LINE_STYLE
Dashed line types.
std::string blockRecordHandle
GR_TEXT_H_ALIGN_T
This is API surface mapped to common.types.HorizontalAlignment.
GR_TEXT_V_ALIGN_T
This is API surface mapped to common.types.VertialAlignment.
VECTOR2< int32_t > VECTOR2I
VECTOR2< double > VECTOR2D