# Acute isosceles triangle and KiCad Rounding?

I’m attempting to hand make a edge cut of a Acute isosceles triangle, I’m getting bit by KiCad’s precision I think, base of 67.99mm with sides of 60.08mm, that comes out to a angle of 55.54d on the bottom corners, KiCad is doing some rounding here as I’ve got a 0.88mm error at the point ( https://i.imgur.com/b3Ludtu.png ) with “Move Exactly” its rounding my rotation to 55.5? and causing the slight angle here

Application: Pcbnew
Version: (5.1.9)-1, release build
Libraries:
wxWidgets 3.0.5
libcurl/7.71.0 OpenSSL/1.1.1g (Schannel) zlib/1.2.11 brotli/1.0.7 libidn2/2.3.0 libpsl/0.21.0 (+libidn2/2.3.0) libssh2/1.9.0 nghttp2/1.41.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian, wxMSW
Build Info:
wxWidgets: 3.0.5 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.73.0
Curl: 7.71.0
Compiler: GCC 10.2.0 with C++ ABI 1014

Build settings:
USE_WX_GRAPHICS_CONTEXT=OFF
USE_WX_OVERLAY=OFF
BUILD_GITHUB_PLUGIN=ON

Please give exact steps how you do it, so detailed that anyone can follow them blindly by just reading them and get the same situation.

Using the angle isn’t the primary way to manipulate lines in KiCad, it’s just calculated using the endpoints. For some reason v5.1 limits angles to one decimal. It’s more accurate in v5.99 but it’s still an approximation unless it happens to result to exact coordinates, I think.

It does have plenty of internal resolution for coordinates. It works with 32bit integers and nanometer resolution. which gives PCB coordinates of around -2 meters to +2 meters.

There is rounding for angles (I think rotation is rounded to 0,1 degree), but not for coordinates of endpoints of lines and circle segments.

So the obvious workarounds are either to calculate the coordinates in some other way, or use a mechanical CAD program to draw your thing and use a DXF import to get it into KiCad.

2 Likes

The difference of 55.5 - 55.54 = 0.04mm and the thickness of an average human hair is 0.08mm

The tolerance on manufacturing/cutting a PCB by any fab house will be much larger… and, you’ll pay \$\$\$ for that kind of accuracy (if you can find someone to comply)…

that’s not a good reason not to have perfect precision in the design. and like OP said, his actual positional error is 0.88mm, well above the +/- 0.2mm tolerance most places quote.

this is a bug that should be fixed. the proper way to handle this is to round values for DISPLAY so people aren’t overwhelmed by useless decimals, but full precision is maintained internally.

you can also use FreeCAD to push and pull a mechanical sketch of the kicad board:

2 Likes

I have confirmed, it still does this on 5.99 Nightly as of 2/23/2021 on windows

I’ll mention it, though no doubt you already know…

If you know the dim’s of what you want, you can set them in two ways:

1. via the panel
2. via editing the PCB file (it’s just a text file, use any text editor)

Via the Panel

Via text Edit (note: the zero point is at top-left of PCB page, so add to your dim’s

For ref:
**

**

3 Likes

I thank you a ton for doing those edits for me BlackCoffee

FYI - I picked a convenient start point at (100,100). After you set the dim’s, you can window-box the complete triangle and move to another location…

that’s pretty much what I did, so I submitted the most cursed gerber I’ve done so far to JLPCB, lets see if they accept it

(Its all going to be hand soldered and is meant to act like a perf board ish to make a 2v Geodesic dome hat out of PCBs

1 Like

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