AIS_LengthDimension Arrow Size too big

Hello, i am having a problem with arrow size of a length dimension, when my model is very small.

Consider following scenario: i create a 10x10x10 box:

BRepPrimAPI_MakeBox lShape(1, 1, 1);

Then find 2 points that i want to measure and create my length dimensions object like that:

Handle(AIS_LengthDimension) lengthLabel = new AIS_LengthDimension(beginPoint, endPoint, gp_Pln(beginPoint, gp_Dir(0,0,1)));


ArrowTailSize: 6
Length: 6
DisplayUnits: m

Neither of the parameters that i change changes the displayed arrow size.

It looks ugly and too big (see atached file). 

Do any of you have a idea how can i change the size of displayed arrows?

Robert W.'s picture

Bumping my question up.

It really seems to me, that the arrow size is constant and can not be changed. Does anyone have feedback or experience with AIS_LengthDimensions?

Robert W.'s picture

Bumping my question again. Any ideas? Please?

Arjan Schouten's picture

Hi Robert,

I think you can use Prs3d_DimensionAspect and Prs3d_ArrowAspect to do some customization.

    Handle(Prs3d_Drawer) hDrawer = m_hAISContext->DefaultDrawer();
    Handle(Prs3d_DimensionAspect) hDimensionAspect = hDrawer->DimensionAspect();
    Handle(Prs3d_ArrowAspect) hArrowAspect = hDimensionAspect->ArrowAspect();

Hope it helps!


Robert W.'s picture

Thank you very much. For future reference - there are similar methods on the AIS_LengthDimension object, but they DO NOT WORK. Maybe your answer will save someone else time when they are faced with a similar problem.