Проекционная кривая IProjectionCurve

Автор elisevgeniy, 03.11.21, 22:39:59

« назад - далее »

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

elisevgeniy

Доброго времени суток!
В Компасе в библиотеке "Каркас и поверхности" есть операция "Проекционная кривая".
Она принимает в качестве входных параметров Поверхности, на которые будет дана проекция и Кривые (Эскиз).

Мне надо узнать, на сколько Поверхностей спроецировано и вытащить Эскиз для редактирования.

В API я нашёл IProjectionCurve, достал его экземпляр через IPart7 -> IAuxiliaryGeomContainer -> ProjectionCurves -> [ 0 ] -> IProjectionCurve.

А вот у IProjectionCurve получить эскиз не получается, помогите, кто с этим уже сталкивался!

elisevgeniy

Вот и частичный ответ.
Функция получения эскиза из операции "Проекционная кривая"
static ISketch getSketch(IPart7 detail)
        {
            IAuxiliaryGeomContainer auxiliaryGeomContainer = (IAuxiliaryGeomContainer)detail;

            // Ищем Проекционные кривые
            IProjectionCurves projectionCurves = auxiliaryGeomContainer.ProjectionCurves;
           
            // Если Проекционные кривые отсутствуют, то прекращаем функцию
            if (projectionCurves.Count == 0)
            {
                return null;
            }

            // Получаем Проекционную кривую
            IProjectionCurve projectionCurve = projectionCurves.ProjectionCurve[0];

            // Получаем объект операции "Проекционная кривая"
            IFeature7 feature = projectionCurve.Owner;

            // Получаем грани, использованные в операции
            ISketch sketch = projectionCurve.Curves;
      
            return sketch;
        }