|
|
@ -27,6 +27,7 @@ |
|
|
|
|
|
|
|
#include "graphics_import_plugin.h" |
|
|
|
#include "graphics_importer_buffer.h" |
|
|
|
#include "wx/translation.h" |
|
|
|
|
|
|
|
#include <dl_creationadapter.h> |
|
|
|
#include <dl_dxf.h> |
|
|
@ -206,12 +207,8 @@ enum class DXF_IMPORT_UNITS |
|
|
|
* This class import DXF ASCII files and convert basic entities to board entities. |
|
|
|
* It depends on the dxflib library. |
|
|
|
*/ |
|
|
|
#if 0 //defined(DEBUG) |
|
|
|
// For dxf import debug: |
|
|
|
#define ON_UNSUPPORTED( error_msg ) wxLogMessage( wxT( error_msg ) ) |
|
|
|
#else |
|
|
|
#define ON_UNSUPPORTED( error_msg ) |
|
|
|
#endif |
|
|
|
#define ON_UNSUPPORTED( error_msg ) reportMessage( wxString::Format( _( "%s is not supported." ), \ |
|
|
|
error_msg ) ) |
|
|
|
|
|
|
|
class DXF_IMPORT_PLUGIN : public GRAPHICS_IMPORT_PLUGIN, public DL_CreationAdapter |
|
|
|
{ |
|
|
@ -456,76 +453,93 @@ private: |
|
|
|
virtual void addKnot( const DL_KnotData& aData ) override; |
|
|
|
|
|
|
|
// Not yet handled DXF entities: |
|
|
|
virtual void addXLine( const DL_XLineData& ) override { ON_UNSUPPORTED( "addXLine" ); } |
|
|
|
|
|
|
|
virtual void addRay( const DL_RayData& ) override { ON_UNSUPPORTED( "addRay" ); } |
|
|
|
virtual void addXLine( const DL_XLineData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF construction lines not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void addRay( const DL_RayData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF construction lines not currently supported." ) ); |
|
|
|
} |
|
|
|
|
|
|
|
virtual void addArcAlignedText( const DL_ArcAlignedTextData& ) override |
|
|
|
{ ON_UNSUPPORTED( "addArcAlignedText" ); } |
|
|
|
|
|
|
|
virtual void addAttribute( const DL_AttributeData& ) override |
|
|
|
{ ON_UNSUPPORTED( "addAttribute" ); } |
|
|
|
|
|
|
|
virtual void addDimAlign( const DL_DimensionData&, |
|
|
|
const DL_DimAlignedData& ) override { ON_UNSUPPORTED( "addDimAlign" ); } |
|
|
|
virtual void addDimLinear( const DL_DimensionData&, |
|
|
|
const DL_DimLinearData& ) override { ON_UNSUPPORTED( "addDimLinear" ); } |
|
|
|
virtual void addDimRadial( const DL_DimensionData&, |
|
|
|
const DL_DimRadialData& ) override { ON_UNSUPPORTED( "addDimRadial" ); } |
|
|
|
virtual void addDimDiametric( const DL_DimensionData&, |
|
|
|
const DL_DimDiametricData& ) override { ON_UNSUPPORTED( "addDimDiametric" ); } |
|
|
|
virtual void addDimAngular( const DL_DimensionData&, |
|
|
|
const DL_DimAngular2LData& ) override { ON_UNSUPPORTED( "addDimAngular" ); } |
|
|
|
virtual void addDimAngular3P( const DL_DimensionData&, |
|
|
|
const DL_DimAngular3PData& ) override { ON_UNSUPPORTED( "addDimAngular3P" ); } |
|
|
|
virtual void addDimOrdinate( const DL_DimensionData&, |
|
|
|
const DL_DimOrdinateData& ) override { ON_UNSUPPORTED( "addDimOrdinate" ); } |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF arc-aligned text not currently supported." ) ); |
|
|
|
} |
|
|
|
|
|
|
|
virtual void addDimAlign( const DL_DimensionData&, const DL_DimAlignedData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF dimensions not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void addDimLinear( const DL_DimensionData&, const DL_DimLinearData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF dimensions not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void addDimRadial( const DL_DimensionData&, const DL_DimRadialData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF dimensions not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void addDimDiametric( const DL_DimensionData&, const DL_DimDiametricData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF dimensions not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void addDimAngular( const DL_DimensionData&, const DL_DimAngular2LData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF dimensions not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void addDimAngular3P( const DL_DimensionData&, const DL_DimAngular3PData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF dimensions not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void addDimOrdinate( const DL_DimensionData&, const DL_DimOrdinateData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF dimensions not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void addLeader( const DL_LeaderData& ) override |
|
|
|
{ ON_UNSUPPORTED( "addLeader" ); } |
|
|
|
|
|
|
|
virtual void addLeaderVertex( const DL_LeaderVertexData& ) override |
|
|
|
{ ON_UNSUPPORTED( "addLeaderVertex" ); } |
|
|
|
|
|
|
|
virtual void addHatch( const DL_HatchData& ) override { ON_UNSUPPORTED( "addHatch" ); } |
|
|
|
|
|
|
|
virtual void addTrace( const DL_TraceData& ) override { ON_UNSUPPORTED( "addTrace" ); } |
|
|
|
virtual void add3dFace( const DL_3dFaceData& ) override { ON_UNSUPPORTED( "add3dFace" ); } |
|
|
|
|
|
|
|
virtual void addSolid( const DL_SolidData& ) override { ON_UNSUPPORTED( "addSolid" ); } |
|
|
|
|
|
|
|
virtual void addImage( const DL_ImageData& ) override { ON_UNSUPPORTED( "addImage" ); } |
|
|
|
virtual void linkImage( const DL_ImageDefData& ) override {} |
|
|
|
|
|
|
|
virtual void addHatchLoop( const DL_HatchLoopData& ) override |
|
|
|
{ |
|
|
|
ON_UNSUPPORTED( "addHatchLoop" ); |
|
|
|
reportMsg( _( "DXF dimensions not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void addLeaderVertex( const DL_LeaderVertexData& ) override { } |
|
|
|
|
|
|
|
virtual void addHatchEdge( const DL_HatchEdgeData& ) override |
|
|
|
virtual void addHatch( const DL_HatchData& ) override |
|
|
|
{ |
|
|
|
ON_UNSUPPORTED( "addHatchEdge" ); |
|
|
|
reportMsg( _( "DXF hatches not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void addHatchLoop( const DL_HatchLoopData& ) override { } |
|
|
|
virtual void addHatchEdge( const DL_HatchEdgeData& ) override { } |
|
|
|
|
|
|
|
virtual void addXRecord( const std::string& ) override { ON_UNSUPPORTED( "addXRecord" ); } |
|
|
|
virtual void addTrace( const DL_TraceData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF traces not currently supported." ) ); |
|
|
|
} |
|
|
|
|
|
|
|
virtual void addXRecordString( int, const std::string& ) override |
|
|
|
virtual void add3dFace( const DL_3dFaceData& ) override |
|
|
|
{ |
|
|
|
ON_UNSUPPORTED( "addXRecordString" ); |
|
|
|
reportMsg( _( "DXF 3dfaces not currently supported." ) ); |
|
|
|
} |
|
|
|
|
|
|
|
virtual void addXRecordReal( int, double ) override { ON_UNSUPPORTED( "addXRecordReal" ); } |
|
|
|
virtual void addXRecordInt( int, int ) override { ON_UNSUPPORTED( "addXRecordInt" ); } |
|
|
|
virtual void addXRecordBool( int, bool ) override { ON_UNSUPPORTED( "addXRecordBool" ); } |
|
|
|
virtual void addSolid( const DL_SolidData& ) override |
|
|
|
{ |
|
|
|
reportMsg( _( "DXF solids not currently supported." ) ); |
|
|
|
} |
|
|
|
|
|
|
|
virtual void addXDataApp( const std::string& ) override { ON_UNSUPPORTED( "addXDataApp" ); } |
|
|
|
virtual void addXDataString( int, const std::string& ) override |
|
|
|
virtual void addImage( const DL_ImageData& ) override |
|
|
|
{ |
|
|
|
ON_UNSUPPORTED( "addXDataString" ); |
|
|
|
reportMsg( _( "DXF images not currently supported." ) ); |
|
|
|
} |
|
|
|
virtual void linkImage( const DL_ImageDefData& ) override {} |
|
|
|
|
|
|
|
virtual void addXDataReal( int, double ) override { ON_UNSUPPORTED( "addXDataReal" ); } |
|
|
|
virtual void addXDataInt( int, int ) override { ON_UNSUPPORTED( "addXDataInt" ); } |
|
|
|
// Eat these silently |
|
|
|
virtual void addAttribute( const DL_AttributeData& ) override { } |
|
|
|
virtual void addXRecord( const std::string& ) override { } |
|
|
|
virtual void addXRecordString( int, const std::string& ) override { } |
|
|
|
virtual void addXRecordReal( int, double ) override { } |
|
|
|
virtual void addXRecordInt( int, int ) override { } |
|
|
|
virtual void addXRecordBool( int, bool ) override { } |
|
|
|
virtual void addXDataApp( const std::string& ) override { } |
|
|
|
virtual void addXDataString( int, const std::string& ) override { } |
|
|
|
virtual void addXDataReal( int, double ) override { } |
|
|
|
virtual void addXDataInt( int, int ) override { } |
|
|
|
|
|
|
|
/** |
|
|
|
* Convert a native Unicode string into a DXF encoded string. |
|
|
|