DomCR / ACadSharp

C# library to read/write cad files like dxf/dwg.
MIT License
431 stars 119 forks source link

Measurement value of two-line angular dimension #485

Open mme1950 opened 3 weeks ago

mme1950 commented 3 weeks ago

The value returned by the DimensionAngular2Line.Measurement property is (converted to degrees), e.g., 114 instead of 95. ACadSharp calculates this value instead using the value provided by AutoCAD, read from the DWG.

A two-line angular dimension is defiened by two intersecting straight lines given by four points and one more point that defines the radius of the arc and the location of the arc. It also defines which angle has to be taken. The value returned does not consider this, consquently returns 180 - measurement.

Why don't we use the value provided by AutoCAD?

DomCR commented 3 weeks ago

Hi @mme1950,

For dxf the measurement is optional, so it may not be present when reading the file.

The measurement property should be a read-only dynamic value, if you change the points of the dimension the measurement should reflect the change, also it doesn't make any sense to be able to set the measurement value when the value is determinate by the dimension itself.

I'll check the case that you presented for DimensionAngular2Line and try to find a solution for this bug.