Получить из поверхности tin линии горизонталей

Автор Тема: Получить из поверхности tin линии горизонталей  (Прочитано 3523 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Возможно ли с помощью Autocad API из объекта tin-поверхности получить линии горизонталей с шагом по вертикали, например, через 10 см?

Что бы в итоге потом получить набор полилинией.

Оффлайн Алексей Терно

  • ADN Club
  • ****
  • Сообщений: 381
  • Карма: 33
    • C3D Extensions
  • Skype: alexeyterno
Можно. Для этого есть 6 перегрузок функции TinSurface.ExtractContours.
Например:
Код - C# [Выбрать]
  1. ObjectIdCollection ExtractContours(
  2.         double lowElev,
  3.         double highElev,
  4.         double interval
  5. )

Вот пример из справки:
Код - C# [Выбрать]
  1. // Extract contours and print information about them:
  2. ObjectIdCollection contours;
  3. double contourInterval = 50.0;
  4. contours = surface.ExtractContours(contourInterval);
  5. write("# of extracted contours: " + contours.Count + "\n");
  6. int totalVertices = 0;
  7. for (int i = 0; i < contours.Count; i++)
  8. {
  9.     ObjectId contourId = contours[i];
  10.  
  11.     // Contours are lightweight Polyline objects:
  12.     Polyline contour = contourId.GetObject(OpenMode.ForRead) as Polyline;
  13.     write(String.Format("Contour #{0} length:{1}, # of vertices:{2}\n", i, contour.Length, contour.NumberOfVertices));
  14.     totalVertices += contour.NumberOfVertices;
  15. }

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13830
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Возможно ли с помощью Autocad API из объекта tin-поверхности получить линии горизонталей с шагом по вертикали, например, через 10 см?
С помощью AutoCAD API нельзя. Можно при помощи Civil 3d API.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
С помощью AutoCAD API нельзя. Можно при помощи Civil 3d API.
Конечно же API Civil. Списибо больше за ответы! Завтра попробую.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
В API CIVIL 2018 что-то не найду такую
функцию Surface.ExtractContours(..)
Может ее переименовали?

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1188
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
А все разобрался. Это метод класса TinSurface