Редактирование высоты точки выделенной линии

0 голосов
спросил 12 Июнь, 12 от TemeP (140 баллов) в категории Программные продукты Esri
Привет всем.
Есть у меня на карте в ArcScene линейный слой. Нужно в каждой выделенной линии данного слоя у одной из точек (пусть будет 1я точка) изменить Z-координату на некое число, пусть будет 55. Вот.
Выделенные линии я могу получить, конвертирую их в IPointCollection, могу получить высоту каждой точки. А как изменить-то высоту?
Вот как я делаю:
 
            IPoint TestPoint;
            TestPoint = pointCollection.get_Point(0);
            TestPoint.X = pointCollection.get_Point(0).X;
            TestPoint.Y = pointCollection.get_Point(0).Y;
            TestPoint.Z = pointCollection.get_Point(0).Z + zOffset;

            //MessageBox.Show("test.z = " + TestPoint.Z.ToString());

            var transform3D = (ITransform3D)TestPoint;
            transform3D.Move3D(0, 0, zOffset);

            var newTestPoint = (IPoint)transform3D;
           
            pointCollection.ReplacePoints(0, 1, 1, newTestPoint);

однако, после выполнения данного участка кода ничего не изменяется в координатах.

Также пробовал через IGeometryBridge:


            IPoint[] array = new IPoint[1];
            array[0] = newTestPoint;

            IGeometryBridge testBridge = new GeometryEnvironmentClass();
            //MessageBox.Show("until testBridge");
            try
            {
                testBridge.ReplacePoints(pointCollection, 0, 1, array);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            //MessageBox.Show("after testBridge");

Тут вообще беда - постоянно выскакивает Exception...

Пожалуйста, войдите или зарегистрируйтесь для публикации ответа на этот вопрос.

...