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

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

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

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

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

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

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

Как добраться до внутренних переменных?

Автор Richi, 11.01.12, 07:20:02

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

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

Richi

В хэлпе подробно описано как добраться до внешних переменных через IVariableCollection, а до вутренних подобным способом возможно?
Интересуют переменные типа V9, V11 (смотри скрин).
Единственный вариант который приходит в голову это брать каждый эскиз, потом каждый размер, и оттуда добираться до переменной. Но данный вариант может упустить некоторые переменные и немного длинноват путь, может можно проще.
Попутный вопрос где брать значения верхнего и нижнего предела допуска, если только в динамическом массиве, привязанном к параметрам размера LDimParam->dPar->pText, то где можно посмотреть структуру построения данного массива?
Буду благодарен за помощь.

По переменным почитайте в SDK про IKompasDocument2D1::Variable, IKompasDocument2D1::Variables и IVariable7.

chelkar

Весь список переменных, напрямую, получить нельзя.
Можно взять коллекцию операций и у каждой взять переменные, а дальше идти по сформированному массиву и что-то делать с переменными.
Что-то вроде этого:
-----
FeatureCol = TopFeature.SubFeatureCollection (0, 0)
FeatureCount = FeatureCol.GetCount ()
print FeatureCount
n = 0
for n in range (0, FeatureCount, 1):
    Feature = FeatureCol.GetByIndex(n)
    VarCol = Feature.VariableCollectionEx(0)
    VarCount = VarCol.GetCount ()
    print VarCount
------

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

Наверное проще взять значения отклонений через API7:
- IDimensionText::HighDeviation
- IDimensionText::LowDeviation


Во вложении пара макросов, на Питоне. Игрался с пересчетом модели в по полям допусков.
Комментариев маловато :(, но может и пригодится ...