And a tool to fix board outlines might be coming soon.
The PCB shape you can see in:
I made with LibreCAD and imported to KiCad V5 with no problems at all.
Did you create the template as a single, closed polyline, created using trim/join ?
If it was discrete arcs, I can understand some issues as the end points may not perfectly align.
Certainly KiCad should allow flexible editing, where you can change any single parameter, and it auto-adjusts. That sort of operation is precisely what computers are created to do.
with “coming soon” it means 7.0.9? O it means 8.xx? Or even 9.xx?
If 7.0.9 it will be fantastic.
And about the nightly KiCad builds;: does it means will it be implemented in a next release? That’s great.
The DXF was created in Fusion 360 and yes inside Fusion it resulted perfectly closed.
But KiCAD seems to have interpreted something differently.
DXF’s can certainly be a source of problems.
I did find this, python DXF handling
https://ezdxf.readthedocs.io/en/stable/dxfentities/polyline.html
and it also mentions a Lightweight POLYLINE, that sounds promising. Being simpler, it has less scope for mess to be created
I’m not sure if KiCad supports this ?
The LWPOLYLINE entity (Lightweight POLYLINE, DXF Reference) is defined as a single graphic entity, which differs from the old-style Polyline entity, which is defined as a group of sub-entities. LWPolyline display faster (in AutoCAD) and consume less disk space, it is a planar element, therefore all points are located in the OCS as (x, y)-tuples (LWPolyline.dxf.elevation is the z-axis value).
https://ezdxf.readthedocs.io/en/stable/dxfentities/lwpolyline.html
and I also see
Create More Readable DXF Files (DXF Pretty Printer)
DXF files are plain text files, you can open this files with every text editor which handles bigger files. But it is not really easy to get quick the information you want.
This creates a HTML file with a nicer layout than a plain text file, and handles are links between DXF entities, this simplifies the navigation between the DXF entities.
No image, but it may make visual DXF checking of simple entities easier ?
8.0. Features cannot be added into 7.0 branch.
FYI - I prefer using FreeCAD to draw DXF for PCB shape.
My video (at 3:40) shows Export from FreeCAD and Import into Kicad…
DXF with KiCAD is an issue however.
Here a DXF made with Solid Edge 2023 … it had to be identical to he PCB you already saw.
Instead look how destroyed is and even out of size (look in the corner the real PCB how it should be)
here also the errors KiCAD pretended to get.
Not clue with Libre Cad, I should try it but are now 6 years I don’t use it any longer … however it’s enough to see some issue should be investigated.
Here teh DXF I have made with FreeCAD following your video.
in attachment you find also the DXF by Freecad and the one by Solid Edge (they are nto precise in measures, they are just to try if it works)
FC 0.21.1
Unnamed-Body.dxf (6.2 KB)
SE 2023
Sheet Metal2.dxf (34.2 KB)
jus a note to be added to the things you listed:
Objects Positioning
Because if I want to position an object at exact distance from another, it’s cumbersome process. Tons of imprecise construction lines that are leading to only approximate stuff. Tons of paper prints to mok the circuit up to verify everything.
it’s a nightmare each time. it’s like it was thought only for very very very basic PCBs While the reality on ground is very different.
So, here an example of what’s also missing, and there i snot any need to use zillions of CADs to do one thing.
note: I use the terms “I want” as it’ used for user Stories description. Not because it’s imperative
As user
-
I want to draw a line that has a Length I decide by writing it into a box (not coordinates at all! The EXCAT length of the line)
-
I want to determine the EXACT inclination of that line expressed in Sexagesimal Degrees (not radians! Or however let ppl decide which Degree they want to use).
-
I want to determine the parameters of a 3 points Arc: Start point, End point: Radius. So I can shape the PCB as it’s needed by its container.
-
I want to be able to determine if a curve must be tangent to a line.
-
I want to determine if a line should be: parallel, equal, perpendicular to another
These things above, will dramatically improve the workflow when the PCB must be shaped far from the very basic shapes, making the life of the designer way easier
Numeric input for line tool would be great.
Yes so if we were to have a Minimally viable software that can draw everything one can possibly need to draw with:
- Circles, parts thereof
- Lines
Then one needs to have way to:
- Find Intersection between lines and circles, Circles and circles, and lines and lines.
- Cutting lines into segments is entirely optional, but then if you have this you might as well implement the others.
- Some way to snap to the tangent of a circle.
- Easiest way to implement this is a tangent line tool, that would find nearest circle tangent, from a point or a circle and circle. This strictly speaking is enough.
- Circle tool should snap to tangents of lines and other circles.
- Or numeric input for circle tool and rotate tool numeric input can do the same but more cumbersome.
Everything else is a plus. Things in a plus. In order of ease of implemetation:
- Rotate tool (Give 2 points third point gives angle)
- Scale tool (give two points, then thrid for setting new scale)
- (Move tool exists)
- Offset existing geometry.
- Numeric input for line tool, and circle tool.
- line to line tangent circle
Though i was thinking should we not just somehow import the sub functionality from solvespace?
@tormyvancool No problem importing your graphic into Kicad.
MUST un-check ‘Group Items’
ADDED: Both of your graphics imported okay
please can you try this? It’s exported with Fusion and I did uncheck group item yesterday. then it didn’t worked and I just used it as guide. i unchecked it 'cause I needed to delete a line (you will see it)
PCB Layout.dxf (3.5 KB)
EDIT
With the other 2 files, following your suggestion tu uncheck the Group: they worked.
In 7.99: done, can change the length directly in the Properties dialog. The “end point” is recalculated accordingly.
I don’t understand – I can’t even get KiCad to show angles in radians. KiCad can do conversions when the unit is written, for example “2rad” in an angle textbox is converted to 114,592 degrees. “deg” is likewise accepted.
I just found a Preference in 7.99: I can choose arc drawing mode where the two endpoints are kept where they are while I can drag the “middle” point, affecting the radius and the center point.
IMO tangent based editing is very much needed, and not the least for curved tracks where the colliding endpoint tangents of two arcs or an arc and a segment should always be the same. Graphics is a secondary need.
Here we go to the controversial issue, how much advanced constraint based or constraint-like editing KiCad should support. Remember that the angle can be given directly, and KiCad can calculate for example “127-90” for a perpendicular angle. If you need an equal line (the same length and angle?) than another one, it may be easier to copy or duplicate the original and move it than to set the properties or constraints.
It’s all about your attention to details…
It was simple to debug using Kicad’s tool… and paying attention… (sorry…)
I try to rephrase:
I draw a line which has an inclination (so it is not vertical and nor horizontal … those are inclinations as well but one is 90° or 270° and the other 0° or 180°) and I want to precisely enter the inclination value. For instance 22.5° (which are sessagesimal degrees).
In my intervention (sorry I have created some confusion I see), I wanted to say that the user shouldn’t be constrained to any conversion (from Radians to Sessagesimal or viceversa), but KiCAD should give the option to the user to choose which degrees system he likes to use.
“attention” is fine, but the DXF was considered a closed geometry inside Fusion 360. It means that it must be considered closed geometry by KiCAD as well. Instead it failed in this. And the video shows it. You had to search for it manually.
And because ti should be done manually, then it’s a pain the back since KiCAD has not anything to help to sort out which point is not coincident.
In simple geometries is ““easy””" but in more complex one is time-consuming.
In my case it was way easier (and quickest) to use the DXF as guide and to rebuild it within KiCAD, by anchoring each key-point in the DF with the lines and circles of KiCAD.
EDIT
I imported the DXF made by Fusion into Solid Edge, and it is a closed geometry. So the problem doesn’t seem the DXF file but something with KiCAD itself.
Didn’t have to search it manually - just needed to DRC it and look at the Arrows. Experience (with Kicad) informed me that the line-ends did Not meet.
I want to precisely enter the inclination value. For instance 22.5° (which are sessagesimal degrees).
In my intervention (sorry I have created some confusion I see), I wanted to say that the user shouldn’t be constrained to any conversion (from Radians to Sessagesimal or viceversa), but KiCAD should give the option to the user to choose which degrees system he likes to use.
I still don’t understand. KiCad lets you “precisely enter the inclination value” in the Properties dialog in either degrees or radians. If you mean “minutes and seconds”, that’s not possible, but it’s possible that it wouldn’t be a big task to support that as another units, just like deg and rad are supported now.