Вершины регионов немного отличаются на Eyeshot

Я пытаюсь создать навигационную сетку на Autodesk Naviswork, используя Eyeshot 12.0.113.0 бета.

Я создал область, используя вершины, но результат область очень незначительная разница.
(я хочу использовать Region.Difference() используя регион.)

почему вершины крошечные изменились?

пример)

public void testFunc()
{
    var test = new List<Point3D>()
    {
        new Point3D(-50, -50, 0),
        new Point3D(-50, 50, 0),
        new Point3D(20.7107, 50, 70.7107),
        new Point3D(20.7107, -50, 70.7107)
    };

    var region = CreateRegion(test);
    region.Regen(0.0);
}

public static Region CreateRegion(List<Point3D> verteses)
{
    var curves = new List<ICurve>();
    for (int i = 1; i < verteses.Count; i++)
    {
        curves.Add(new Line(verteses[i - 1], verteses[i]));
    }
    curves.Add(new Line(verteses.Last(), verteses[0]));
    return new Region(new CompositeCurve(curves, true));
}

я ожидаю, что результат:
[0]: {-50, -50, 0}
[1]: {-50, 50, 0}
[2]: {20.7107, 50, 70.7107}
[3]: {20.7107, -50, 70.7107}

но region.Vertices Результат:
[0]: {-50, -50, -2.13163e-14}
[1]: {-50, 50, -3.55271e-15}
[2]: {20.7107, 50, 70.7107}
[3]: {20.7107, -50, 70.7107}

(А также region.Plane.Equation это тоже разница.)

1 ответ

Попробуйте пройтиPlane.XYкак второй параметр вRegionконструктор. Без него плоскость оценивается с использованием подхода «попробуй подогнать плоскость» и может отличаться от стандартной.XY.

Другие вопросы по тегам