Problem with dimensions of circles.


Good day. The problem is…
Big circle radius is 190
Small circle radius is a half of big - 95
But when I zoom the sketch, small circle did not cross the middle point of big radius.
Anybody knows why ?

Looks like this is math precision error. About 0.0046 mm.

Looks more like 0.0016mm to me, based on the grid scale. Still could be a precision error. That’s an inherent issue with floating point math.

You must have access to the design file. That’s not apparent from the screen shots.

I can share mine but I doubt you will be able to open it.

Hi,

I think is is more a display artefact due to the way circles are drawn.

If you zoom to 0.001mm, you will see that Parasolid (the kernel used by Shapr3D) approximates the display of a circle with a polygone (around 250 segments). But internally, Parasolid knows it is a perfect circle, defined by center coordinate and radius within a given sketch.

When you draw a radius line, the line is of the exact and correct length (190mm in this case), so the end point of the radius belongs to the true Big circle position, and the mid point belongs to the true Small circle (radius 95mm).

When the angle of the radius line is not a multiple of the angle used to display the polygone, the end point and the mid point of the radius are not exactly coincident with the Big and Small circles approximated representation by polygone (cf image below which uses a small number of segments to illustrate the point).

The software knows that the points are coincident, even though they seem to be a few micrometers apart. So more a display artifact than a precision issue I believe.

Pec

1 Like

Good point. It does that to help with performance.

I’ve had issues with accuracy within the program as well, specifically the UI showing an item was parallel, but then dimensions showing differently. There are inherent limitations in Shapr on precision. I got this explanation previously after inquiring further on a ticket.

“The limit of the parallel precision condition is 0.00810284687 degrees currently, below this value we won’t show an angle value in measurements.”

I’m assuming that there are also other conditional accuracy precisions for the rest of the program including for circles and the like. I’ve also experienced this when mirroring, parts and features (especially holes that were once centered on the split plane) would now be off by 0.008-0.0001 and no longer concentric, with the added geometry lines after union. Correcting them has caused a lot of headaches when working on symmetrical objects.

Nature of the beast, to optimize performance there will be drawbacks. As the old saying goes “if it’s good enough for government work”.

Double precision floating point math has its limitations. It’s subject to rounding errors when enough significant digits are reached. The error can grow cumulatively, but there are ways of mitigating that.

Simple check: cut the straight line between the two circles.
The remainder shows the radius of the exact smaller circle.
I asked the S3D boys a long time ago, and they said it was a tessalation error, “we calculate well, but show it wrong”