0

我正在尝试使用 Eyeshot 12.0.113.0 beta 在 Autodesk naviswork 上创建导航网格。

我使用顶点创建了区域,但结果区域略有不同。
(我想使用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也是不同的。)

4

0 回答 0