我正在尝试使用 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
也是不同的。)