yes, directly opening ‘kicad_pcb’ board in FreeCAD
That is a pity… If you are a KiCAD fan, you should be also a FreeCAD fan.
They are companions not only to export a board to STEP, but also for creating complex footprints, aligning 3D models to footprints, push and pull board edge and footprint position between ECAD and MCAD environments.
No other MCAD software can allow this kind of collaboration with KiCAD ATM.
Note that this is mathematically impossible outside of 90 degree steps (maybe 45?). You can curve an arc with defined radius through two Cartesian points, but the center point will probably be something fractional. Or set the center, radius and start point resulting in a fractional end point depending on the arc length.
I would argue that Kicad has it correct. For most cases (even in my own work), arcs end up being 90, 180, 270 degrees on PCB outlines. In these majority cases, both end points are well defined. For the other cases, I use this hack.
I use Kicad and FreeCAD on MacOS and use @maui’s FreeCAD workbench exclusively for producing PCB assembly STEP files. Like Kicad, there are occasions where a given nightly build of FreeCAD can be buggy. I would recommend giving it another go. The workbench isn’t as complicated as it looks.
I don’t agree that this is mathematically impossible. But, I don’t think I was very clear in my previous post. You just have to allow any two of the parameters to be free. Definition of two endpoints and a center point describes a unique arc with an implicit radius and arc angle. Or, you can choose a center point (and angular origin, i.e. +x-axis), radius and arc angle and these implicitly define the two arc segment end points. What KiCAD does is sort of half way between these two.
I am suggesting that users be able to define arcs using angle and radius or start and end points (both require a center point definition) and have the effect on the other two parameters displayed. Maybe it could be possible to switch between the two definitions of the arc(s).
I haven’t given up on FreeCAD, I’ll keep checking back.
Your suggestion only has a solution in the real numbers not in fixed point arithmetic. So there would need to be some form of rounding involved meaning the file format would need to be made with only one of these and the other version would need to have a unique mapping defined in the GUI to this file format representation. -> meaning nothing will be truly better than now as the precision simply is not there.
This is a good point, but it already applies to the current method by which KiCAD defines arcs, with a center point, single end point and subtended angle.
I also didn’t communicate the issue clearly, I agree with your and @Rene_Poschl’s analysis. There are a number of vector drawing programs that do allow you to draw the arc in reverse. You pick the two end points first, then are free to move the center point around for final placement.
Going by the white cross and missing circle around, those two lines are not connected. There is even a visual difference in height along the top edge of the horizontal line.
I am afraid you are missing the point here. Comparison of digitally represented, non-integers requires a tolerance. It is not about making the two line end points exactly the same within the precision of the numerical representation (16-, 32-, 64- bit or whatever) on the GUI, but rather defining how close two floating point variables must be to one another to be considered equal. This “closeness” is the tolerance.
Maybe so. I ran the very same contour at 190/140. It snaps exactly at those numbers and it even keeps it that way.
Problem hier is that it is internally next to impossible within bit-resolution reason to mach up circular forms to rectilinear forms with zero difference.
On a side note. I also noticed that e.g. 1mm in some cases gets knocked down to 0.997. Not so nice especially when working mostly within the metric system.