diff --git a/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc b/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc index 54a6c0e28..364e70a68 100644 --- a/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc +++ b/src/plugins/streamers/dxf/db_plugin/dbDXFReader.cc @@ -1805,7 +1805,10 @@ DXFReader::read_entities (db::Layout &layout, db::Cell &cell, const db::DVector std::list::const_iterator ii = i; ++ii; while (ii != new_points.end ()) { - edges.push_back (safe_from_double (db::DEdge (tt.trans (*i), tt.trans (*ii)))); + db::Edge edge = safe_from_double (db::DEdge (tt.trans (*i), tt.trans (*ii))); + if (! edge.is_degenerate ()) { + edges.push_back (edge); + } ++i; ++ii; } diff --git a/testdata/dxf/issue_1422a_au.gds.gz b/testdata/dxf/issue_1422a_au.gds.gz index 0459c4446..ede4e28cc 100644 Binary files a/testdata/dxf/issue_1422a_au.gds.gz and b/testdata/dxf/issue_1422a_au.gds.gz differ diff --git a/testdata/dxf/issue_1422b_au.gds.gz b/testdata/dxf/issue_1422b_au.gds.gz index d5a2e37b5..d6568bc32 100644 Binary files a/testdata/dxf/issue_1422b_au.gds.gz and b/testdata/dxf/issue_1422b_au.gds.gz differ