Тема: Как получить активную систему координат?

Set ucs = ThisDrawing.ActiveUCS

Эта строка иногда работает, но чаще вылетает ошибка:
"Error adding object to symbol table"

Кто знает? Мобыть сначала проверку какую-нить делать?

Re: Как получить активную систему координат?

Сам себе отвечаю, т.к. нашёл автодесковскую фичу :

Каждый раз, когда проходит эта строка, в базу чертежа добавляется ДВЕ новые UserCoordinateSystem !!!!!!!!!!!

Я просто в отладчике смотрю ThisDrawing.UserCoordinateSystems.Count  и каждый раз он увеличивается на 2 !

Вывод - либо программисты в автодеске, чайники, некорректно объекты за собой убивают, либо это делается намерено с какой-то целью, в таком случае имеет место явная ошибка в объектной моделе, т.к. я всего лишь хочу получить объект, чтобы прочитать его свойства, а в этот момент создаются ДВЕ новые UserCoordinateSystem, непонятно для чего...

Re: Как получить активную систему координат?

ага, а вот из хелпа:
There is no limit to the number of UCSs you can create in your drawing. However, there can be only one instance of the UCSs collection. The UCSs Collection is predefined for each drawing. You can make multiple references to the UCSs Collection by using the UserCoordinateSystems <idh_usercoordinatesystems.htm> property. Once done with an object, the reference is automatically released.
ну просто нет слов! в афтадеске полные идиоты работают!

Re: Как получить активную систему координат?

> Alexander:
хм... там всё правильно написано...

только непонятно, собственно, почему возникает ошибка?

Сделал я бесконечный цикл,
     ...
     Do
     Set ucs = ThisDrawing.ActiveUCS
     Loop
     ...
  наплодилось почти 250 000 этих несчастных UCS'ов (потом тормознул Ctrl+Pause), ничего не вываливается, "adding object to symbol table" протекает нормально, а вот завтра, когда надо будет, наверняка вывалится... глюк какойто...