Проблема с изменением цвета модели с помощью API 5 версии

Автор maksim krotov, 21.06.25, 10:31:23

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

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

maksim krotov

Попытался покрасить модель в желтый:
Part.SetAdvancedColor(System.Drawing.Color.Yellow.ToArgb(), 0, 1, 1, 1, 1, 0.5);
Part.Update();


Но красит в в голубой. Что я не так делаю?

Хмарик


maksim krotov

Если написать вот так:
Part.SetAdvancedColor(System.Drawing.Color.LightBlue.ToArgb(), 0, 1, 1, 1, 1, 0.5);
то модель получается бежевой.
Если так:
Part.SetAdvancedColor(System.Drawing.Color.Blue.ToArgb(), 0, 1, 1, 1, 1, 0.5);
то красной.

Хмарик

maksim krotov, ну так найдите Color, который красит в желтый.
Его и и спользуйте.

maksim krotov

Ну, так - то должен этот: System.Drawing.Color.Yellow. Или вы предлагаете мне перебрать кучу цветов в надежде, что хоть один покрасит модель в жёлтый? Так можно, но что если я решу добавить выбор цвета модели?

Хмарик

Если желтый красит в голубой, то я предлагаю  перебрать кучу цветов в надежде...
Другого пути нет.
Цитата: maksim krotov от 21.06.25, 11:09:48если я решу добавить выбор цвета модели?
Я не знаю, что это такое.

Soultaker

Цитата: maksim krotov от 21.06.25, 10:31:23Попытался покрасить модель в желтый:
Part.SetAdvancedColor(System.Drawing.Color.Yellow.ToArgb(), 0, 1, 1, 1, 1, 0.5);
Part.Update();


Но красит в в голубой. Что я не так делаю?

Вы читали статьи https://stackoverflow.com/questions/58064344/calculate-rgb-int-from-color-in-c-sharp ?

Знаете как получают int значение цвета из RGB?
Найдите в инете конвертер или свой напишите и попробуйте сконвертить значение красного цвета (255, 0, 0), должно быть 16711680. Назначьте красный цвет модели и посмотрите какое значение будет. А потом проделайте этот фокус с синим цветом (0, 0, 255).
Разработчики КОМПАС живут в своём мире. А таких пользователей как Хмарик на форуме много. Надо же так, советовать подобрать цвет, в лучших традициях ТП АСКОН.

p3452


Soultaker

Цитата: p3452 от 21.06.25, 14:21:41- На Форуме работает ПОИСК...
- Несколько лет назад была тема "Изменить цвет детали" - см. пост №24,25.
- Подробнейшая информация по программированию Color с большим количеством примеров
А зачем Вы даёте советы, которые не относятся к вопросу автора? У него меняется цвет, только не на такой какой он ожидает.

p3452

Цитата: Soultaker от 21.06.25, 16:51:15А зачем Вы даёте советы, которые не относятся к вопросу автора? У него меняется цвет, только не на такой какой он ожидает.
А зачем Вы задаете столь глупые вопросы..?

p3452

Цитата: maksim krotov от 21.06.25, 10:31:23Попытался покрасить модель в желтый:
Part.SetAdvancedColor(System.Drawing.Color.Yellow.ToArgb(), 0, 1, 1, 1, 1, 0.5);
Part.Update();


Но красит в в голубой. Что я не так делаю?

Для ленивых:
part.useColor = (short) UseColor.useColorOur;
part.SetAdvancedColor(ColorTranslator.ToWin32(Color.FromArgb(255, Color.Yellow)), 0, 1, 1, 1, 1, 0.5);
part.Update();
+ Благодарностей: 2