ObjectARX
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

AcdbHatch setPatternScale no effect

4 REPLIES 4
SOLVED
Reply
Message 1 of 5
Anonymous
480 Views, 4 Replies

AcdbHatch setPatternScale no effect

the following code can modify the patterscale of an existing hatch, but the hatch dosen't change its outlook. why?

  

  AcDbObjectId idHatch;
    if (!Acad_Selection::SelEnt(idHatch,_T("Hatch")))
    {
        return;
    }

    AcDbObjectPointer<AcDbHatch> pHatch(idHatch,AcDb::kForWrite);
    if (Acad::eOk != pHatch.openStatus())
    {
        return;
    }
    static int nTemp = 1;
    Acad::ErrorStatus es = pHatch->setPatternScale(pHatch->patternScale()*(nTemp%2 == 0?2:0.5));
    es = pHatch->evaluateHatch();
    ++nTemp;

4 REPLIES 4
Message 2 of 5
Alexander.Rivilis
in reply to: Anonymous


    es = pHatch->evaluateHatch();


What es value?

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Message 3 of 5
Anonymous
in reply to: Alexander.Rivilis

it is weird that both return eOK. 

Message 4 of 5
Alexander.Rivilis
in reply to: Anonymous

static void HatchScaleHalf(void)
{
    ads_name en; ads_point p;
    if (acedEntSel(_T("\nSelect Hatch: "),en,p) == RTNORM) {
        AcDbObjectId eid; acdbGetObjectId(eid,en);
        AcDbObjectPointer<AcDbHatch> pHatch(eid,AcDb::kForWrite);
        Acad::ErrorStatus es = pHatch.openStatus();
        if (es == Acad::eOk) {
            pHatch->setPatternScale(pHatch->patternScale()*0.5);
            pHatch->setPattern(pHatch->patternType(),pHatch->patternName());
            pHatch->evaluateHatch();
        } else if (es == Acad::eNotThatKindOfClass) {
            acutPrintf(_T("\nIt is not hatch!"));
        }
    }
}

 

Відповідь корисна? Клікніть на "ВПОДОБАЙКУ" цім повідомленням! | Do you find the posts helpful? "LIKE" these posts!
Находите сообщения полезными? Поставьте "НРАВИТСЯ" этим сообщениям!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click "ACCEPT SOLUTION" button.
На ваш вопрос успешно ответили? Нажмите кнопку "УТВЕРДИТЬ РЕШЕНИЕ"


Alexander Rivilis / Александр Ривилис / Олександр Рівіліс
Programmer & Teacher & Helper / Программист - Учитель - Помощник / Програміст - вчитель - помічник
Facebook | Twitter | LinkedIn
Expert Elite Member

Message 5 of 5
Anonymous
in reply to: Alexander.Rivilis

well, it woks any way, but still confuses me.  still thanks much.

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report

”Boost