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

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

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

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

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

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

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

API V5. Как узнать тип примитива по его референсу?

Автор Belko, 14.05.15, 11:06:31

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

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

Belko

Осваиваю программирование в Delphi+КОМПАС. АPI V5.
Автоматизация.
ksDocument2D

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

Для перебора графических объектов я использую итератор:

iter := ksIterator(_kompas.GetIterator())
iter.ksCreateIterator(ALL_OBJ,pView)
obj := iter.ksMoveIterator('F')

Получаю референс. Для дальнейшей работы я должен узнать тип этого графического объекта, чтобы выбрать соответствующую структуру и загрузить в нее данные.

Собственно, вопрос: можно ли по референсу графического объекта определить его тип? И если да, то как?

PS: Я мог бы настроить итератор на перебор объектов только одного типа, но тогда пришлось бы организовывать несколько циклов, по числу интересующих меня типов.

Slaviation

long ksDocument2D::ksGetObjParam (long reference, LPDISPATCH param, long paramType)
Вызов метода с нулевыми значениями параметров param и paramType возвращает тип объекта по его reference.
+ Благодарностей: 1