DiscussionsIssue archiveOther usage issues

Archived discussion

AIS_LengthDimension Arrow Size too big

Other usage issuesTue, 03/07/2017 - 19:224 replies

Browse this forum
QuestionAuthor

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?

Discussion

4 archived replies

Posts are displayed in their archived order.

01Author

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?

02Author

Bumping my question again. Any ideas? Please?

03Commenter-1

Hi Author,

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!

Commenter-1

04Author

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.