Вершины регионов немного отличаются на 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
.