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

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

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

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

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