Page 1 of 1

Find CGM object by apsid

Posted: 15 Oct 2007, 16:36
by DmitryZan
Добрый день

При работе с CGM есть понятие идентификатора структурного объекта (the application structure (APS)). На основании этого идентификатора можно ссылаться на требуемый объект.

Можно привести пример, каким образом с использованием класса TsgCGMImage можно обнаружить объект, соответствующий некоторому идентификатору?

Не могу найти какой атрибут отвечает за хранение этого свойства.

Posted: 15 Oct 2007, 17:36
by support
Здравствуйте, DmitryZan.

В имеющейся в нашем распоряжении документации нет никаких ссылок на указанные Вами идентификаторы. Соответсвенно их поддержка не реализована.

Мы были бы крайне признательны, если бы Вы сообщили нам по адресу support@cadsofttools.com всю имеющуюуся у Вас информацию по данному вопросу, либо подсказали, где её можно найти.

<b>English</b>:

The speech goes about the application structure (APS) in CGM files.

We answered that our documentation had no information about it. So we asked if DmitryZan could share such information with us.

Sergey.

Please post questions to the forum or write to support@cadsofttools.com

Posted: 16 Oct 2007, 14:58
by DmitryZan
Вот ссылка на фрагмент спецификации WebCGM 2.0
http://www.w3.org/TR/2007/REC-webcgm20- ... html#L5095

по ссылке находится описание интерфейса WebCGMAppStructure (из WebCGM Document Object Model), наследника WebCGMNode

В интерфейсе WebCGMAppStructure есть атрибут

Code: Select all

apsId of type WebCGMString, readonly
про него и идет речь

Чтобы было проще понять приведу пример.
Вот два cgm файла:
http://tgb.cals.ru/files/cgm/bike_bin.cgm
http://tgb.cals.ru/files/cgm/bike_text.cgm
(второй получен и первого конвертацией бинарного формата в текстовый, правда получилось только преобразовать из WebCGM 2.0 (первый файл) в WebCGM 1.0 (второй))

В файле содержатся объекты (приведу фрагмент из текстового файла):

Code: Select all

   BEGAPS 'hot001' 'grobject' STLIST;
    APSATTR 'name' "14 1 '1'";
    APSATTR 'region' "11 1 3, 16 10 28.063 116.6838 29.904 116.6838 29.904 120.2115 28.063 120.2115 28.063 116.6838";
   BEGAPSBODY;
    RESTRTEXT 1.8409 2.3791 28.063,118.0948 final '1';
   ENDAPS;
где конструкция BEGAPS ... ENDAPS как раз и описывает объект разговора.
Значение идущее сразу за BEGAPS - 'hot001' и есть то самое apsId

Многие приложения ссылаются на подобные помеченные объекты как раз через указания вида

Code: Select all

<hotspot apsid="hot001" apsname="1" ... />
Хотелось бы понять, как через вашу библиотеку идентифицировать эти "помеченные" объекты.

Возможно у вас это все уже реализовано, просто я не нашел как.

Posted: 17 Oct 2007, 16:55
by support
Здравствуйте, DmitryZan.

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

Сергей.

Please post questions to the forum or write to support@cadsofttools.com