mirror of
https://github.com/gumyr/build123d.git
synced 2025-12-06 02:30:55 -08:00
Fixed misplaced label for vertical dimension lines Issue #915
This commit is contained in:
parent
878a737516
commit
644200f565
2 changed files with 7 additions and 2 deletions
|
|
@ -455,7 +455,7 @@ class DimensionLine(BaseSketchObject):
|
|||
else:
|
||||
self_intersection_area = self_intersection.area
|
||||
d_line += placed_label
|
||||
bbox_size = d_line.bounding_box().size
|
||||
bbox_size = d_line.bounding_box().diagonal
|
||||
|
||||
# Minimize size while avoiding intersections
|
||||
if sketch is None:
|
||||
|
|
@ -469,7 +469,7 @@ class DimensionLine(BaseSketchObject):
|
|||
else:
|
||||
common_area = line_intersection.area
|
||||
common_area += self_intersection_area
|
||||
score = (d_line.area - 10 * common_area) / bbox_size.X
|
||||
score = (d_line.area - 10 * common_area) / bbox_size
|
||||
d_lines[d_line] = score
|
||||
|
||||
# Sort by score to find the best option
|
||||
|
|
|
|||
|
|
@ -260,6 +260,11 @@ class DimensionLineTestCase(unittest.TestCase):
|
|||
with self.assertRaises(ValueError):
|
||||
DimensionLine([(0, 0, 0), (5, 0, 0)], draft=metric, arrows=(False, False))
|
||||
|
||||
def test_vertical(self):
|
||||
d_line = DimensionLine([(0, 0), (0, 100)], Draft())
|
||||
bbox = d_line.bounding_box()
|
||||
self.assertAlmostEqual(bbox.size.Y, 100, 5) # numbers within
|
||||
|
||||
|
||||
class ExtensionLineTestCase(unittest.TestCase):
|
||||
def test_min_x(self):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue