For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings

 

Need to speed up your development?
Have a look at our:

Samples & Tools

 

Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

AIS_LengthDimension Arrow Size too big

Robert W.'s picture
Forums: 

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)));

_AISContext()->Display(lengthLabel);

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?

Attachments: 
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!

Arjan

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.