This project has moved. For the latest updates, please go here.

Arrowhead of dimension

Jul 17, 2014 at 9:18 AM
Hello,
Every time thanks for your work.
How to change the head of arrow in dimension?
Thanks
Coordinator
Jul 18, 2014 at 4:39 PM
There is now way of changing that without modifying the source code. The dimensions required to build a block that is the graphical representation of the entity, this is done in the BuildBlock method, if you really need to change them.

The dimension style have a gazillion parameters that controls how the dimensions are drawn and only some of them are implemented, I might come back to them in the future.

Daniel
Jul 19, 2014 at 1:10 AM
Thanks.
I modified the buildblock, for 30degree narrow:
 Vector2 arrowRefBegin = Vector2.Polar(startDimLine, this.style.DIMASZ, refRotation);
            Vector2 arrowRefEnd = Vector2.Polar(endDimLine, -this.style.DIMASZ, refRotation);

            /* Solid arrowBegin = new Solid(startDimLine,
                                          Vector2.Polar(arrowRefBegin, -this.style.DIMASZ/6, refRotation + MathHelper.HalfPI),
                                          Vector2.Polar(arrowRefBegin, this.style.DIMASZ/6, refRotation + MathHelper.HalfPI),
                                          startDimLine);
            
             Solid arrowEnd = new Solid(endDimLine,
                                        Vector2.Polar(arrowRefEnd, this.style.DIMASZ/6, refRotation + MathHelper.HalfPI),
                                        Vector2.Polar(arrowRefEnd, -this.style.DIMASZ/6, refRotation + MathHelper.HalfPI),
                                        endDimLine);
             */
            Line dimLinearrowBegin1 =
                new Line(startDimLine, Vector2.Polar(arrowRefBegin, this.style.DIMASZ, refRotation + MathHelper.HalfPI / 3));
            Line dimLinearrowBegin2 =
                 new Line(startDimLine, Vector2.Polar(arrowRefBegin, this.style.DIMASZ, refRotation - MathHelper.HalfPI / 3));
            Line dimLinearrowend1 =
                new Line(endDimLine, Vector2.Polar(arrowRefEnd, -this.style.DIMASZ, refRotation + MathHelper.HalfPI / 3));
            Line dimLinearrowend2 =
                new Line(endDimLine, Vector2.Polar(arrowRefEnd, -this.style.DIMASZ, refRotation - MathHelper.HalfPI / 3));
But, in Autocad, if we move this dimension, it will change to default arrow.
I think we mush change the variables in Autocad.
Coordinator
Jul 21, 2014 at 7:31 PM
When the dimension is modified in AutoCad the block that represents the entity will be rebuilt with the properties of the dimension plus the dimension style. So, any changes that was only done in the block will be lost, to make it work flawlessly the three components: dimension entity, dimension style, and the block that is the graphical representation of the entity must work together; but only some of the properties of the dimension style is implemented.

Daniel