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

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

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

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

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

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

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

Как узнать параметры стилей линий, определенных в документе?

Автор Vladimir, 08.08.07, 11:57:18

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

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

Vladimir

Работаю в Компас-3D V8.
В документе определены собственные стили линий и весь чертеж выполнен в этих линиях. Нужно программно (программа на с# работает с Компасом как с COM-объектом) определить параметры этих линий (например, ширину и т.д.)

Делаю так:
obj - нужный мне LineSeg,
doc.ksGetObjParam(obj, par, ldefin2d.ALLPARAM) выдает структуру par,
В par.style число (например, 32768) - т.е. линия нестандартного стиля.

А дальше пытаюсь воспользоваться функцией GetStyleParam, чтобы получить параметры этой линии:

ksCurveStyleParam par = (ksCurveStyleParam)kompas.GetParamStruct(
(short)StructType2D.ko_CurveStyleParam);
doc.ksGetStyleParam(1, 32768, par);

Во-первых, 32768 не передается, т.к. функция принимает short
Как тут быть? (я пробовал передавать отрицательные числа)

Первым аргументом пробовал 1 (CURVE_STYLE), 5 (CURVE_STYLE   _EX)

Функция выполняется, только в структуру par возвращается явно не то, что мне надо.
Туда все время возвращаются параметры одного из системных стилей.
par.name = 'Тонкая линия' (хотя мой стиль называется не так)
par.screenWidth = 1 (хотя в моем стиле должно быть 10)
и т.д.
Т.е. функция возвражает параметры не моего стиля, а одного из системных.

Как же получить параметры собственных стилей линий? Что я не так делаю?