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

worldDraw() problem

5 REPLIES 5
Reply
Message 1 of 6
zhoutao1130
592 Views, 5 Replies

worldDraw() problem

I have a problem with worldDraw(), we can use

AcGiWorldDraw * mode ,

define a solid ,mode->worldDraw(solid) before

 but now can not use; the problem is AcGiDrawable no member worldDraw();

i want to find a new function to replace it .anyone kowns

thanks very much  

 

5 REPLIES 5
Message 2 of 6
owenwengerd
in reply to: zhoutao1130

Please post some code that demonstrates the problem. Describe what you think it should do, and what it actually does, to clarify what is not working.

--
Owen Wengerd
ManuSoft
Message 3 of 6
zhoutao1130
in reply to: owenwengerd

Thank you can reply.

AcDb3dPolyline *p3dPoly=new AcDb3dPolyline(AcDb::k3dSimplePoly,points, Adesk::kTrue );
 AcDbRegion *pRegion;
    AcDbVoidPtrArray regions;
    AcDbVoidPtrArray voidPtrArr;
    voidPtrArr.append(p3dPoly);
    Acad::ErrorStatus es = AcDbRegion::createFromCurves(voidPtrArr, regions);
    pRegion = AcDbRegion::cast((AcRxObject*)regions[0]);
 
 AcDbRevolveOptions revolveOptions;
 AcDb3dSolid *pSolid  = new AcDb3dSolid();
 pSolid->createRevolvedSolid( pRegion,startPt1, -vector1, 12*asin(0.5), 0,  revolveOptions);

 pSolid->worldDraw(mode);

 delete pSolid;

 

when compilethe problem occurs at worldDraw(mode),  AcGIdrawable has no member worldDraw(), but in another computer .it can compile and run .i want to know why, and whether there is a  new methed to replace it .

 

thanks

Message 4 of 6
zhoutao1130
in reply to: owenwengerd

i find the problem where it is;

is pSolid->worldDraw(mode);

very thanks .

 

Message 5 of 6
owenwengerd
in reply to: zhoutao1130

I don't understand; did you solve the problem? If so, please describe the solution in case someone else has the same problem.

--
Owen Wengerd
ManuSoft
Message 6 of 6
loic.jourdan
in reply to: zhoutao1130

I think what you want to do is:

mode->geometry().draw(pSolid);

this initializes the gi system correctly by calling AcDbEntity::setAttributes(..) then AcDbEntity::worldDraw(..) and finally (if required by worldDraw result) AcDbEntity::viewportDraw().

 

calling directly pSolid->worldDraw(mode) may result in unexpected behavior (for instance, it may mess up the graphic system cache)

 

regards

 

 

----
20-20 CAD / 20-20 Technologies

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

Post to forums  

Autodesk Design & Make Report

”Boost