Inaccuracy when creating an extrusion from planar curve

I have observed a slight inaccuracy when creating extrusions and would like to know if that is to be expected.

I use the following list of points:

    [0]: (0, 0, 0)
    [1]: (0, 0, 2654)
    [2]: (459, 0, 3853)
    [3]: (918, 0, 2654)
    [4]: (918, 0, 0)
    [5]: (0, 0, 0)

I then create a BRep using the following:

var curve = new PolylineCurve(profilePoints);
Extrusion e = Extrusion.Create(curve, 5188, true);
Brep brep = e.ToBrep();

Now, the resulting BRep has edges like the following:

PointAtStart: (7.3663297683879136E-14, 0, 2654)
PointAtEnd: (7.3663297683879136E-14, 5188, 2654)

Should I always expect a BRep created from an extrusion to be potentially off by a few digits even if the input values are all integers?

There is no imprecision. That is a very small number, several orders of magnitude smaller than your document tolerance most likely. The number is essentially the same as 0.

Points are always going to be floating point numbers. This forum is full with posts on floating point accuracy, for instance 0 ≠ 0 ...can someone explain? as one fairly recent topic - don’t forget to read also the linked topics further down the thread.

OK, thank you.

So I’m going to always use EpsilonEquals() to check for point equality, no matter how they have been created.

Yup. That’s just standard (and necessary) practice when using floating point number representation.