From 6897d306a4fb9415ab8084bfe5e3bca947983bfc Mon Sep 17 00:00:00 2001 From: edi271 Date: Mon, 11 Mar 2024 16:39:37 +0100 Subject: [PATCH] [TD] Solve scale issue in AxoLengthDimension --- .../TechDrawTools/CommandAxoLengthDimension.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/Mod/TechDraw/TechDrawTools/CommandAxoLengthDimension.py b/src/Mod/TechDraw/TechDrawTools/CommandAxoLengthDimension.py index c9345d2eb6..60def5f3e0 100644 --- a/src/Mod/TechDraw/TechDrawTools/CommandAxoLengthDimension.py +++ b/src/Mod/TechDraw/TechDrawTools/CommandAxoLengthDimension.py @@ -71,6 +71,7 @@ class CommandAxoLengthDimension: vertexes.append(edges[0].Vertexes[1]) view = Utils.getSelView() + scale = view.Scale StartPt, EndPt = edges[1].Vertexes[0].Point, edges[1].Vertexes[1].Point extLineVec = EndPt.sub(StartPt) @@ -85,7 +86,7 @@ class CommandAxoLengthDimension: if dimLineVec.y < 0.0: lineAngle = 180-lineAngle if abs(extAngle-lineAngle)>0.1: - distanceDim=TechDraw.makeDistanceDim(view,'Distance',vertexes[0].Point,vertexes[1].Point) + distanceDim=TechDraw.makeDistanceDim(view,'Distance',vertexes[0].Point*scale,vertexes[1].Point*scale) distanceDim.AngleOverride = True distanceDim.LineAngle = lineAngle distanceDim.ExtensionAngle = extAngle @@ -97,11 +98,11 @@ class CommandAxoLengthDimension: arrowTips = distanceDim.getArrowPositions() value2D = (arrowTips[1].sub(arrowTips[0])).Length value3D = 1.0 - if self._checkParallel(px,dimLineVec): + if px.isParallel(dimLineVec,0.1): value3D = value2D/px.Length - elif self._checkParallel(py,dimLineVec): + elif py.isParallel(dimLineVec,0.1): value3D = value2D/py.Length - elif self._checkParallel(pz,dimLineVec): + elif pz.isParallel(dimLineVec,0.1): value3D = value2D/pz.Length if value3D != 1.0: fomatted3DValue = self._formatValueToSpec(value3D,distanceDim.FormatSpec) @@ -120,12 +121,6 @@ class CommandAxoLengthDimension: else: return False - def _checkParallel(self,v1,v2): - '''Check if two vectors are parallel''' - dot = abs(v1.dot(v2)) - mag = v1.Length*v2.Length - return (abs(dot-mag)<0.1) - def _formatValueToSpec(self, value, formatSpec): '''Calculate value using "%.nf" or "%.nw" formatSpec''' formatSpec = '{'+formatSpec+'}'