diff --git a/pcbnew/plugins/ipc2581/ipc2581_plugin.cpp b/pcbnew/plugins/ipc2581/ipc2581_plugin.cpp index c51a0b590c..4e3fe03673 100644 --- a/pcbnew/plugins/ipc2581/ipc2581_plugin.cpp +++ b/pcbnew/plugins/ipc2581/ipc2581_plugin.cpp @@ -20,6 +20,7 @@ #include "ipc2581_plugin.h" #include +#include #include #include #include @@ -991,7 +992,12 @@ void IPC2581_PLUGIN::addShape( wxXmlNode* aContentNode, const PCB_SHAPE& aShape case SHAPE_T::BEZIER: { wxXmlNode* polyline_node = appendNode( aContentNode, "Polyline" ); - const std::vector& points = aShape.GetBezierPoints(); + std::vector ctrlPoints = { aShape.GetStart(), aShape.GetBezierC1(), + aShape.GetBezierC2(), aShape.GetEnd() }; + BEZIER_POLY converter( ctrlPoints ); + std::vector points; + converter.GetPoly( points, aShape.GetStroke().GetWidth() ); + wxXmlNode* point_node = appendNode( polyline_node, "PolyBegin" ); addXY( point_node, points[0] );