From 3252aaf61850aca7f8a40ca5742c911a522d35fb Mon Sep 17 00:00:00 2001 From: Ladislav Michl Date: Mon, 1 Dec 2025 15:18:04 +0100 Subject: [PATCH] TechDraw: Refactor use of Unit Schema values Quantity's getUserString already returns both factor and unitText. --- src/Mod/TechDraw/App/DimensionFormatter.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Mod/TechDraw/App/DimensionFormatter.cpp b/src/Mod/TechDraw/App/DimensionFormatter.cpp index b9123b2424..4b39a5d585 100644 --- a/src/Mod/TechDraw/App/DimensionFormatter.cpp +++ b/src/Mod/TechDraw/App/DimensionFormatter.cpp @@ -51,7 +51,7 @@ std::string DimensionFormatter::formatValue(const qreal value, const Format partial, const bool isDim) const { - bool distanceMeasure{true}; + bool distanceMeasure{true}; const bool angularMeasure = m_dimension->Type.isValue("Angle") || m_dimension->Type.isValue("Angle3Pt"); const bool areaMeasure = m_dimension->Type.isValue("Area"); @@ -101,7 +101,9 @@ std::string DimensionFormatter::formatValue(const qreal value, formatSpecifier.replace(QStringLiteral("%g"), newSpecifier, Qt::CaseInsensitive); } - std::string unitText = Base::UnitsApi::getUnitText(asQuantity); + double factor{1.0}; + std::string unitText{""}; + asQuantity.getUserString(factor, unitText); std::string super2{"²"}; std::string squareTag{"^2"}; @@ -118,8 +120,7 @@ std::string DimensionFormatter::formatValue(const qreal value, double userVal = asQuantity.getValue(); if (distanceMeasure || areaMeasure) { - const double convertValue = Base::Quantity::parse("1" + unitText).getValue(); - userVal /= convertValue; + userVal /= factor; } // convert ^2 to superscript 2 for display