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

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

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

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

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

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

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

Удалить объект с ТЕКУЩЕГО вида

Автор prog1, 29.06.09, 17:43:01

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

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

prog1

Перед удалением объекта обычно проверяем его существование:
If Doc.ksExistObj(L12)=1 then Doc.ksDeleteObj(L12);
но мне нужно ещё проверить принадлежность его ТЕКУЩЕМУ виду, т.к. если объект существует на предыдущих видах, то "не тронь" его.
Делаю через итератор "по виду". К сожалению, эти самые несколько объектов, которые надо удалять разнородные: LINESEG_OBJ, ARC_OBJ, BEZIER_OBJ, поэтому или итераторов несколько требуется, или использовать ALL_OBJ в ksCreateIterator. Работает, конечно. Вроде даже не заметно по времени...
Но хочется как-то естесственнее, человечнее (проще)! Может кто сталкивался с подобной задачей и имеет креативные идеи? Заранее выражаю признательность.
2D - API 5 - KOMPAS V9 

Bordes

Цитата: prog1 от 29.06.09, 17:43:01
...но мне нужно ещё проверить принадлежность его ТЕКУЩЕМУ виду, т.к. если объект существует на предыдущих видах, то "не тронь" его.
Делаю через итератор "по виду". К сожалению, эти самые несколько объектов, которые надо удалять разнородные: LINESEG_OBJ, ARC_OBJ, BEZIER_OBJ, поэтому или итераторов несколько требуется, или использовать ALL_OBJ в ksCreateIterator. Работает, конечно. Вроде даже не заметно по времени...
Но хочется как-то естесственнее, человечнее (проще)! Может кто сталкивался с подобной задачей и имеет креативные идеи? Заранее выражаю признательность.
2D - API 5 - KOMPAS V9 


Может быть так будет удобнее:
// Проверить, принадлежит ли объект к активному виду
// refObj - reference проверяемого объекта
inline bool Is_obj_in_current_view(reference refObj) { return ( GetViewNumber(0) ==  GetViewNumber(refObj) ); }




prog1

О!  Совсем не вспомнился GetViewNumber(refObj) - (туплю, значит)
Спасибо!
P.S. Админ-у:Тема закрыта