Problem importing DXF files into KiCad 8

Hi all,
I just installed KiCad 8. I create a new project and import a DFX file into PCB. The problem is some lines are incorrect. I tried to import to KiCad 7, there is no problem. Please see the attached file.


Is this problem caused by the Kicad configuration or a bug in KiCad 8?
Thank you!

Disable Fix discontinuities option at import.

1 Like

Why does that option sound if I import any dxf with a MCAD produced drawing with drill hits its going to fail with that option being default?

1 Like

Ideally it should only be enabled by default for edge.cuts

1 Like

So turns out that DXF files form a lot of MCAD tools are not really accurate like at all. Most notably Fusion 360 is at times very problematic. So when you get a DXF from your MCAD it may have dumped it with a internal precision in which the edges do not meet. Yes it is Ok, inside the CAD but it wont export it right. So it was requested that this gets fixed by merging nearby points because users assume problem is in KiCad.

Its just that now its too aggressive. This is usually the case, either your tool is too aggressive or risks being useless. It should be less aggressive by default, or off by default.

By the way this is the primary reason for why STEP exists in the first place. All of the 80’s and 90’s were spent of this issue. What step does differently from just about any other format is it says, here us my data. But on top of that it says and hey by the way this line and this line terminate at the edges and this line is tangent to that circle. This makes it a much harder format to deal with but makes for far less problems in the export import chains*. This is a huge leap in CAD translation, but costs a lot to implement.

Kicad should ideally be able to read 2d step files.

* If implemented correctly, you can certainly skip the describing of intersections and gain no benefit.

The big underlying problem is that the big boys (Autodesk, Solidworks, Dassault, etc) are not interested in interoperability at all. I strongly suspect they break interoperability on purpose to make it more difficult and keep their customers in their own walled garden. As a result I have come to dislike commercial software in general and attempt to embrace Open Source software wherever possible. I have donated more to open source software, then I’ve paid for commercial sofware.

1 Like

This is not a interoperability problem my dude. DXF is well standardized.

The problem is what I consider the wrong default.

It’s also a very old and barely adequate file format, with a bunch of different dialects. As far as I now it does not (always?) state it’s version or units. I also do not know exactly what the lack of precision implied by joojala of fusion 360 exports means…

DXF is future proof and even supports angstroms for nanomachines to lightyears for when we build dyson spheres as unit choices :stuck_out_tongue:

There’s no dialect variation. Newer versions just added some new useful objects. It’s not different than kicad’s file version changes.

It always states its units if the tool you use isn’t garbage but alas people use tools like that. All professional tools that aren’t 15 year old copies will include units.

DXF is a direct output of any professional MCAD drafting mode that lets you translate your 3d models to 2d dimensional draft drawings. DXF will include parts of the 3d data complete with 2d transforms which we handle.

Well yes but its a bit problematic for most systems to deal with light years and Ă…ngstroms in one file.

1 Like

Thank you! I fixed it.

What about asking the user something like “Discontinuities found. Repair?”. This would lead to more understanding what happens while importing.

Detecting them is not trivial though.

Thought about a question or message while importing and fixing(?). No additional detection before. Or a message (bar) after the importing just as information.
Oh, just saw that the v8 dialog displays this option very obviously. So this isn’t hidden as I thought.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.