make2D with dimension annotation misaligns with grid

If I create a rectangle that snaps to the grid lines, then us _dim to create a annotation of its dimension, then use _make2D to create a 2D object of both the rectangle and the annotation, the resultant 2D object no longer lines up with the grid lines when using Snap-to-Grid. That is when the 2D object snaps to the grid, the lines that make up the rectangle are slightly misaligned with the grid.

This only occurs if I use the dimension annotation in making the 2D object. If I use _make2D just on the rectangle the resultant 2D object will still line up with the grid when using Snap-to-Grid.

This behavior is also dependent on the direction of the dimension lines. If the dimension lines run horizontally (in the x-axis from top down view) the dimension extension lines will line up with the vertical grid lines but the rectangle will be moved slightly up.

If the dimension lines run vertically (top down view) the dimension extension lines will line up with the horizontal grid lines and the rectangle will be moved slightly to the right.

[Edit]
Forgot to mention that when creating the dimension lines, they are snapped to the grid as well. So everything is lined up nicely with grid lines to start.

Make2D will calculate the bounds of all objects involved. Then the result is positioned so that the lower left corner of the bounds are at the origin. Since the dimensions are extend beyond the rectangle, this will shift whatever alignment you had.

btw. is this just an example or are there any reasons to Make2d an already flat object?

Just an example. Seems strange that the only time a misalignment occurs is when an annotation is involved. Though I guess that might be due to my simple example.

As I said, annotations extend beyond the geometry and those extensions generally don’t align to the grid.

If there is nothing that extends beyond any grid-snapped geometry, the lower left corner will be something snapped to the grid. So obviously everything else will snap to grid if that point is set to 0,0,0.