Тема: Прозрачность примитивов

Всем доброго времени суток!
Проблема какая, пытаюсь изменить прозрачность примитивов на чертеже с помощью AcCmTransparency:

AcCmTransparency tr;
tr.setMethod(AcCmTransparency::kByLayer);
tr.setAlpha(10);
acdbOpenAcDbEntity(pEnt, pEnt->id(), AcDb::kForWrite);
pEnt->setTransparency(tr, Adesk::kFalse);

почему то не всегда срабатывает..подскажите плз
Заранее спасибо, с уважением SS

Re: Прозрачность примитивов

А когда срабатывает? smile

Re: Прозрачность примитивов

да в том то и проблема...срабатывает непонятно как и когда)))) а че так писать на прально?

Re: Прозрачность примитивов

SS пишет:

да в том то и проблема...срабатывает непонятно как и когда))))

А точнее?

Re: Прозрачность примитивов

Так, получилось все таки или нет? Поделитесь куском кода.

Re: Прозрачность примитивов

Если кому интересно, на Autodesk Discussion Group ответили, что эта хрень с прозрачностью не работает и что забита она в АПИ на будущее.

Re: Прозрачность примитивов

Здравствуйте.

Задача: установить прозрачность слоя

...
acdbOpenObject((AcDbObject *&)pLTRec, layerId, AcDb::kForWrite);
AcCmTransparency trans;
trans.setMethod(AcCmTransparency::kByAlpha);
trans.setAlpha(X);
pLTRec->setTransparency(trans);
...

вместо Х ставлю значения 10, 15, 20, 25 - в АCAD`е получаю прозрачность 96, 94, 92, 90 соответственно (хотя если устанавливать прозрачность из ACAD`а, то возможно поставить только от 0 до 90)

вопрос: что за странный метод установки прозрачности, задом на перед? можно конечно определить зависимость и высчитывать нужную величину прозрачности, но может есть более корректный метод?

с уважением, Сергей

(изменено: Сергей П, 17 июня 2012г. 22:47:17)

Re: Прозрачность примитивов

устал ждать.., вывел формулу определения Х(для trans.setAlpha(X)) по требуемому(в ACAD) значению прозрачности:

Х = 255-a*2.55, где a - требуемое значение прозрачности в ACAD (результат a*2.55, перед тем как отнять от 255, округляем математически).


Может кому пригодится.

пс. странно, только, для чего разработчики придумали такую хитрую схему?!