Draft: Fix alignment of angular dimension arrows in svg.py
This commit is contained in:
@@ -544,14 +544,18 @@ def get_svg(obj,
|
||||
p2 = get_proj(prx.p2, plane)
|
||||
p3 = get_proj(prx.p3, plane)
|
||||
arrowsize = obj.ViewObject.ArrowSize.Value/pointratio
|
||||
arrowlength = 4*obj.ViewObject.ArrowSize.Value
|
||||
halfarrowlength = 2 * arrowsize
|
||||
arrowangle = 2 * math.asin(halfarrowlength / prx.circle.Curve.Radius)
|
||||
if hasattr(obj.ViewObject, "FlipArrows") \
|
||||
and obj.ViewObject.FlipArrows:
|
||||
arrowangle = -arrowangle
|
||||
|
||||
_v1a = prx.circle.valueAt(prx.circle.FirstParameter
|
||||
+ arrowlength)
|
||||
+ arrowangle)
|
||||
_v1b = prx.circle.valueAt(prx.circle.FirstParameter)
|
||||
|
||||
_v2a = prx.circle.valueAt(prx.circle.LastParameter
|
||||
- arrowlength)
|
||||
- arrowangle)
|
||||
_v2b = prx.circle.valueAt(prx.circle.LastParameter)
|
||||
|
||||
u1 = get_proj(_v1a - _v1b, plane)
|
||||
@@ -559,11 +563,6 @@ def get_svg(obj,
|
||||
angle1 = -DraftVecUtils.angle(u1)
|
||||
angle2 = -DraftVecUtils.angle(u2)
|
||||
|
||||
if hasattr(obj.ViewObject, "FlipArrows"):
|
||||
if obj.ViewObject.FlipArrows:
|
||||
angle1 = angle1 + math.pi
|
||||
angle2 = angle2 + math.pi
|
||||
|
||||
svg += get_arrow(obj,
|
||||
obj.ViewObject.ArrowType,
|
||||
p2, arrowsize, stroke, linewidth,
|
||||
@@ -580,7 +579,7 @@ def get_svg(obj,
|
||||
t = prx.circle.tangentAt(prx.circle.FirstParameter
|
||||
+ _diff/2.0)
|
||||
t = get_proj(t, plane)
|
||||
tangle = DraftVecUtils.angle(t)
|
||||
tangle = -DraftVecUtils.angle(t)
|
||||
if (tangle <= -math.pi/2) or (tangle > math.pi/2):
|
||||
tangle = tangle + math.pi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user