• Добро пожаловать на Форум пользователей ПО АСКОН. Пожалуйста, авторизуйтесь.
 

Уважаемые пользователи,

Хотим проинформировать вас о режиме работы регистрации на нашем сайте.

Зарегистрироваться возможно в рабочие дни, с 8:00 до 20:00 (мск).

Если у вас возникнут вопросы или потребуется дополнительная информация, не стесняйтесь обращаться к нашей службе поддержки. Вы можете связаться с нами по указанным контактным данным на нашем сайте.

Благодарим вас за понимание и сотрудничество. Мы ценим ваше терпение и стремимся предоставить вам лучший опыт использования нашего сервиса.

С уважением,
Команда Ascon

Проекционная кривая 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;
        }