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

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

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

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

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

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

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

Изменение переменных в Компас 22

Автор АндрейП36, 13.06.24, 11:48:20

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

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

АндрейП36

Добрый день.
Делаю приложение для Компас 22 на C#.
Необходимо найти и изменить значение переменных(.m3d).

KompasObject kompas = (KompasObject)Marshal.GetActiveObject("KOMPAS.Application.5");
            ksDocument3D kompas3d = (ksDocument3D)kompas.ActiveDocument3D();


            ksPart kPart = kompas3d.GetPart((int)Part_Type.pTop_Part);
            ksVariableCollection varcoll = kPart.VariableCollection();
            varcoll.refresh();
            ksVariable SM_K = varcoll.GetByName("SM_K", true, true);
            kPart.RebuildModel();

ТАк видны только внешние переменные, как выбрать все переменные?

Или по другому мне нужно программой менять "Коэффициент, определяющий положение нейтрального слоя" для листового тела. Как к нему обратиться?

p3452

Сами просите "внешние" (VariableCollection) - их и получаете...

1. Тема много раз обсуждалась - на Форуме работает Поиск.
2. В примерах к SDK есть конкретный "Step".

p3452


АндрейП36

Мб я что то не понимаю. Я работаю с деталью и мне нужны именно локальные переменные .

Вы добавили пример из SDK где есть работа с локальными переменными. У cебя в SDK я не нашел.
Если не сложно можете ткнуть меня носом?

p3452

1. Вам дали ДВА совета, первый Вы, почему-то проигнорировали, второй - отсылка на Step из примеров к SDK.
2. На вложенной картинке, видно, наименование Примера и Функции, которая демонстрирует правильную работу с "VariableCollection()", использованной Вами - подчеркнуто красным.
3. Чтобы получить ВСЕ переменные нужно "плясать" от дерева построения и ЯВНО указать, что хотите получить переменные - [НЕ только внешние, НЕ только из источника] (Вы бы поняли ЭТО, если бы не проигнорировали  совет №1)